자동차 / / 2019. 12. 6. 17:55

MCU(micro controll unit) 그 모든것,구조,처리과정

반응형

MCU의 기능
-프로그래머가 생성한 프로그램 코드를 읽는다. 
-읽은 프로그램을 처리한다.
-프로그램 처리 후 ,처리 결과를 MCU 외부에 출력한다.

 "출력(Output)"이란 mcu의 동작수행을 의미하며, 데잎데이터 표시, 적외선 신호 생성, 버튼 작동으로 데이터 불러오기, 시간 확인 또는 외부 IC와의 통신과 같은 기능 등을 포함한다. 

이러한 기능들을 수행하기 위해서 MCU는 동작 수행을 위한 프로그램이 반드시 있어야 한다. 이 프로그램이 저장되는 장소를 메모리라고 부르는데, 프로그래머는 MCU가 사용되기 전 메모리에 프로그램(MCU가 처리할 명령)을 입력해야 한다. 이 프로그램을 처리하는 기능도 반드시 필요하며, 중앙 처리 장치(CPU)가 담당한다. 만약 프로그램이 매우 단순하다면 하나의 CPU가 전체 프로그램을 처리할 수 있지만 프로그램이 복잡하면 CPU는 명령을 처리하는 동안 일부 데이터를 임시로 저장할 수 있어야 한다. 메모리는 바로 이런 목적으로도 사용된다. 

MCU 내부구조

그림 1은 3개의 큰 블록으로 구성된 MCU를 간략하게 표시하고 있다. 메모리와 CPU는 명령과 데이터를 서로 주고 받고, 프로그램 처리 결과에 대한 정보는 CPU와 MCU의 외부 인터페이스인 보조 모듈 사이에 교환된다

MCU 내부구조

메모리
- ROM(읽기 전용 메모리) : 프로그래머가 프로그램을 기록하기 위한 읽기 전용 저장 장치.
- RAM(랜덤 엑세스 메모리) : CPU가 작동 중에 일시적으로 데이터를 저장하는 것을 읽고 / 쓰는 저장 장치.
CPU
- ALU(산술 논리 연산 장치) : ALU는 CPU에서 산술연산과 논리연산을 수행한다.
- Register(레지스터) : RAM과 같이 레지스터는 작동 중에 데이터를 임시적으로 저장하기 위해 CPU에 의해 사용된다.
- Shifter(쉬프터): 쉬프터는 명령 실행 없이 데이터 바이트를 이동시킨다.
보조모듈
- 커뮤니케이션 모듈 : 이 모듈은 MCU 외부 장치와 데이터를 주고 받는다.
- AD/DA 전환 모듈: 이 모듈은 디지털 데이터를 처리하는 MCU가 아날로그 데이터를 처리하는 외부 장치와 함께 사용되었을 때, 아날로그 데이터를 디지털 데이터로 전환하는 작업을 수행한다.
- 타이머 모듈: 이 모듈은 시간을 측정한다.

메모리는 여러 종류가 있다. 플래시ROM, EEPROM변경되지 않는 데이터를 저장하기 위해 고안됐다. 그렇기 때문에 이 메모리들은 주로 변경 빈도가 아주 낮은 프로그램을 저장한다. 반면, CPU의 운영 데이터는 사용 빈도가 상대적으로 높다. 이렇게 사용 빈도가 높은 데이터랜덤 엑세스 메모리(RAM)에 저장되게 된다.

CPU는 대체로 산술 논리 연산 장치(ALU), 레지스터 및 쉬프터 장치로 나눠진다. ALU산술 연산과 논리연산 처리를 수행하고, 쉬프터 장치는 데이터를 이동시킨다. 레지스터임시적으로 데이터를 저장하는데, 메모리에서 제거된 데이터가 동작할 때까지만 데이터를 임시 저장한다.

보조 모듈 장치에도 다양한 종류가 있다. 여기서는 커뮤니케이션(통신 모듈), AD/DA 전환, 타이머 기능 등과 관련된 보조 모듈을 다룬다. 커뮤니케이션 기능은 SPI, USART, 및 I2C와 같은 표준을 준수한다. 다른 표준들로는 오디오 전송만을 다루는 I2S와 USB, 그리고 많은 사람들에게 익숙한 인터페이스 커뮤니케이션 등이 있다. AD/DA 전환을 위한 보조 모듈은 아날로그 데이터를 디지털 데이터로 바꾸는 AD 컨버터와(그림2의 ADC), 디지털 데이터를 아날로그 데이터로 바꾸는 DA 컨버터(그림2의 ‘DAC’)로 구성된다. 또한 아날로그 데이터를 비교하기 위한 컴퍼레이터가 포함된다. 타이머는 시간을 측정하기 위해 사용된다. 일부 고-기능 타이머는 입력 캡쳐, 토글 또는 PWM 기능을 갖추고 있다.

이제 MCU가 실제 사용될 때, 위에 언급된 기능들이 어떻게 작동하는지를 알아보자. 여기서 ‘MCU가 사용될 때’ 란 프로그래머에 의한 프로그램 생성과 MCU 외부와의 첫 정보 교환(데이터) 사이의 프로세스를 의미한다. 그림 3은 MCU 부품이 처리하는 다양한 프로세스를 설명하고 있다.

1. 프로그램 생성 : 프로그래머가 PC를 사용하여 프로그램을 생성한다. 이 프로그램은 MCU가 처리할 동작을 정의한다.

2. 프로그램을 ROM에 입력 : 프로그래머가 생성한 프로그램이 ROM에 입력된다(PC 사용).

3. CPU활성화 : MCU가 켜지면, CPU 가 활성화되어 ROM으로부터의 프로그램을 읽는다. 그리고 그에 따른 프로그램의 임무를 연속적으로 처리한다.

4. 기능 수행 : ALU은 산술 연산, 논리 연산 및 데이터 전송을 처리하고, Shifter(쉬프터)는 데이터를 이동시킨다.

5. 임시 저장 데이터 : 만약 동작 처리 중 데이터의 임시 저장이 필요할 때 RAM이나 레지스터에 저장된다. 참고로, RAM 은 대용량의 데이터를 보관할 수 있지만, 레지스터는 데이터 용량이 적은 경우에만 사용된다.

6. 보조 모듈에 전송되는 명령 : CPU는 동작 명령을 보조 모듈에 전송한다.

7. CPU, 보조 모듈 및 외부 회로 간에 교환되는 데이터 : 보조 모듈과 외부 회로 간에 교환된 데이터는 CPU와 교환된다.

 

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유