1. 마이크로 컨트롤러 (MCU, μC : : Micro Controller Unit)
ㅇ 특수 목적(산업용/가전용 기기의 제어)용 마이크로 프로세서를 장착한, 1 칩 컴퓨터 형태
- CPU,메모리,주변장치 등을, 1 칩 마이크로 컴퓨터 형태로 구성됨
※ 1 칩화
- CPU + 소형 메모리(ROM,RAM) + 클록 발진회로 + AD 컨버터 + 직렬 I/O 포트 + 인터럽트 등
. CPU : 크게, ARM 계열, Intel 8051 계열
. 소형 메모리 : ROM(EEPROM,Flash Memory 등),RAM
. 클록 : 타이머,카운터
. 직렬 I/O : USB,UART,Ethernet,CAN 등
. 컨버터 : ADC,DAC
. 시스템 버스 : 위 모듈들을 함께 연결시키는 역할
ㅇ 특징
- 작고 경량화됨, 저 가격, 설계 및 제작 과정이 비교적 단순
- 통상, 사람 개입 없이, 기기 내 탑재되어(Embedded System) 기기 제어 역할을 함
- 통신/제어용 핀들을 많이 제공, 특정 목적에 맞춤 용이 등
2. 마이크로 컨트롤러의 프로그래밍 상의 특징
ㅇ 통상, 교차 개발 환경(IDE 개발 환경)을 통해 프로그래밍 작업을 함
- 프로그램 개발은, 일반 PC에서 개발하고,
- PC에 연결된 USB,병렬 또는 직렬 I/O 포트를 통해,
- 최종 실행 파일 만 MCU에 업로드시켜 설치 함
ㅇ 주로, 레지스터 조작이 대부분 임
- 대부분, 그 내부에 있는 꽤 많은 레지스터 조작(주로,입출력 레지스터)과 관련됨
. 특히, 제어할 주변장치와의 데이터 교환을 위해 운영체제 도움을 받지 않으므로,
. 개발자가 메모리 주소의 일부로 포함되는 입출력 레지스터를 직접 처리해야 함
- 특히, 주변장치와 CPU 간에 자료 중개를 담당하는, 특화된 입출력 레지스터가 제법 많이 쓰임
. 변수에 대입하는 방식으로, 프로그램과 외부장치 간에 데이터 전달의 중계자 역할을 함
. 이는 메모리의 일종으로 간주되어, 번지/주소(Address)로써 구별됨
ㅇ 실제로, MCU에다가 직접 프로그래밍,디버깅 작업을 하기 어려워,
- 이를 쉽게 연결하여 작업(개발,업로드 등) 할 수 있도록,
- MCU 칩을 장착시켜 보드(Board)화시킨 개발 키트/개발 툴/엑서세리 등 하드웨어 제품과 함께,
- 일반 PC 상에서 작업 가능한 통합개발환경(IDE)을 제공하는 경우가 태반임
3. 클록 공급 방식 (클록 소스 종류)
ㅇ 자체 발진 : 칩 내의 자체 내부 발진기를 사용하여 스스로 클록을 발생시켜 공급하는 방식
ㅇ 외부 발진 : 외부에 크리스탈(수정 진동자)을 연결하여, 클록 발진 회로를 구성시켜, 사용하는 방식
ㅇ 외부 클록 공급 : 외부 발진기를 사용하여, 직접 클록 신호를 공급 받는 방식
4. 주요 제품 例
ㅇ 例) 8051 마이크로 컨트롤러 : (8 비트, 1 칩, CISC 구조)
- 8 비트 단위의 4개 입출력 포트,CPU,클록 발생기,내부 반도체 메모리를 갖춤
. 1980년 인텔社에서 개발하여 광범위하게 사용된 8 비트 마이크로컨트롤러
ㅇ 例) ATmega 마이크로 컨트롤러
- Atmel社 (현재, Microchip Technology社) 제품
. 8051, AVR, ARM 계열 등을 기반으로 하며, 이에 호환되는,
. 다양한 마이크로 컨트롤러 및 그에따른 보드 등을 생산하고 있음
- AVR 계열 : 변형된 하버드 구조의 8 비트 RISC 단일칩 마이크로 컨트롤러
. ATmega128
.. 플래시 메모리 128 kByte, SRAM 4 kB, EEPROM 4 kB
.. RISC 구조, 64 핀
. ATmega328
.. 8 비트 CPU, 기계어 명령어 수 약130개, 클록 0~20 MHz
.. 플래시 메모리 32 KByte, SRAM 2 KB, EEPROM 1 KB
.. 데이터 핀 23개, 3개 입출력 포트
.. 동작 전압 5 V
. ATmega2560
.. 핀 수 : 100,
(86핀 : 데이터 입출력 핀, A~L까지,I는 제외하고 11개 포트 구성,G 포트는 6핀),
(기타 14핀 : 전원,크리스털 등)
.. 레지스터 : 512개까지 정의 가능
.. 처리 단위 : 8 비트
.. 8 MHz
.. 플래시 메모리 256 KByte
.. 크기 1.5㎝ x 1.5㎝
.. 동작 전압 5 V
- 8051 계열 : AT89C51, AT89C2051, AT89C405 등
ㅇ 例) PIC 마이크로 컨트롤러
- 마이크로칩社 제품
. 8비트 MCU, PIC10 시리즈, PIC12 시리즈, PIC16 시리즈,
PIC18 시리즈 (8 비트 PIC18F : 하버드 구조), PIC24 시리즈 등
ㅇ 例) STMicroelectronic社 마이크로 컨트롤러
- STM32 계열 제품 등
ㅇ 例) 아두이노(Arduino)
- 오픈소스를 기반으로 한 단일 보드 마이크로컨트롤러
. 내부 회로도가 공개되어있어, 직접 만들고 수정 가능한 개발 보드
※ (구분)
- 8 비트 MCU 例) AVR ATmega128,328 계열, Microchip PIC 등
- 16 비트 MCU 例) TI MSP430 등
- 32 비트 MCU 例) ARM Cortex-M 시리즈, STM32 등