MCU 개념 소개

gidori·2024년 6월 10일

1. 강의 소개

  • 이번 강의 목표 : 전반적 개념 정립

    1. MCU의 정의와 역할
    2. MCU 개발 환경 (컴파일러, 디버거, IDE)
    3. 기계어, 어셈블리어, Hex파일, ELF파일 개념 이해
    4. MUC 메모리에 대한 이해 (Flash, RAM, 메모리 주소)
    5. MCU 패리퍼럴의 개념
    6. MCU 패리퍼럴 내부 레지스터의 개념
    7. MCU 데이터시트, 레퍼런스메뉴얼 문서의 개념
    8. MCU SW 구현의 의미 / 구현 방법/ Driver SW(HAL)의 개념
    9. 보드의 개념 (회로 설계, 아트워크 등)
    10. 멀티미터 기능 소개
  • 다루지 않은 것들

    MCU 내부 각종 패리퍼럴들의 기능, 쓰임새, 구현방법, 유의사항 등
    예) GPIO, 클락, 인터럽트 & 폴링, Timer, PWM, ADC, DMA, SPI, Uart 통신, Watch Dog, Edge Detection, Pwm Measurement, EEPROM...

2. MCU 개요 소개

  • 자동차 부품을 이용한 MCU 소개

자동차에는 조향(핸들), 구동모터(동력), 브레이크(정지), 램프(라이트)와 같은 많은 부품이 탑재됩니다.

이러한 부품들은 SW에 의해 작동되는데 이 SW를 실행하는 컴퓨터가 필요하며 이 컴퓨터를 ECU(Electronic Control Unit, 제어기)이라고 부릅니다.

즉, 각 부품마다 ECU가 존재하며 ECU는 실질적으로 SW를 구동시키는 MCU(Micro Control Unit)과 각종 부품으로 구성되어 있습니다.

S/W는 제어기들 속에 내장되어 작동하기 때문에 임베디드 제어기, 임베디드 SW라고 불립니다.

  • 임베디드 SW 특징
  1. 각자의 제품을 컨트롤 하기 위한 동작만을 반복 수행
  2. 일반적으로 낮은 성능의 CPU, 작은 크기의 메모리로 동작
  3. 제한된 성능 조건에서 필요한 기능 모두 수행되도록 SW 구현
  4. SW 개발환경(PC)와 실제 실행되는 환경(MCU)이 다름

MCU SW 개발 과정 (3번째 특징)
좋은 성능의 MCU로 SW 구현 -> SW 최적화 -> 낮은 성능의 MCU로 테스트 -> (반복) -> 최적의 MCU 도출

디버깅의 어려움(4번째 특징)
컴퓨터의 개발 환경과 다르게 MCU에서는 다양한 기능을 사용할 수 없기 때문에 디버깅이 힘듦

3. MCU SW 사용 예시

  • 모터제어

    세탁기, 청소기, 전기차 구동모터와 같은 장치에 사용될 수 있다.

    모터제어는 제어기를 이용하여 모터를 제어하는 것을 의미하며, 전류의 방향과 세기에 따라 모터의 방향과 회전력이 변한다.

  1. 실제 제어기의 예시1 (기어 상태를 전압을 이용해 제어기에 전달 / 방향)

    기어와 구동모터가 전선으로 연결되어 있을 때, 기어 상태(D, N, R)에 따라 전압이 변경되고 MCU느 전압을 ADC 기능을 이용하여 읽고 이 전압의 크기로 현재 기어의 상태를 확인한다.

  2. 실제 제어기의 예시2 (기어 상태를 통신 메세지로 제어기에 전달 / 방향)

    기어의 상태를 통신 메시지를 이용하여 제어기에 전달하여 현재 기어 상태를 확인하는 방식으로 어떤 통신 프로토콜을 사용하는 지를 확인하여야 한다.

  3. 실제 제어기의 예시3 (가속 페달 정보를 MCU에게 전달 / 세기)

    가속페달의 상태를 확인하고 밟힌 정도에 따라 모터에 공급전류 크기를 결정한다.

  • 또 다른 예시...

    청소기
    -> 사용자의 버튼 조작 감지, 버튼에 따라 공급 전류 크기 컨트롤
    -> 사용자의 버튼 조작 감지, 버튼 조작에 따라 현재모드 LCD 출력

출처 : 인프런-신입사원에게 들려주는 - MCU SW 직무 기초 개념완성

0개의 댓글