MCU, μC   Micro Controller, Micro Controller Unit   마이크로 컨트롤러, 마이크로 콘트롤러

(2023-11-15)

Microcontroller, ATmega, ATmega328


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社 제품
        . 8051, AVR, ARM 계열 등을 기반으로 하며, 이에 호환되는, 
        . 다양한 마이크로 컨트롤러 및 그에따른 보드 등을 생산하고 있음
     - AVR 계열 : 변형된 하버드 구조의 8 비트 RISC 단일칩 마이크로 컨트롤러
        . 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)
     - 오픈소스를 기반으로 한 단일 보드 마이크로컨트롤러
        . 내부 회로도가 공개되어있어, 직접 만들고 수정 가능한 개발 보드

마이크로 컨트롤러
   1. 마이크로 컨트롤러   2. 8051 칩   3. 아두이노   4. 부트 로더   5. GPIO  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"