로봇_제어_시스템을_위한_마이크로컨트롤러_및_운영체제_분석_보고서
1. CPU, MPU, MCU의 개념 및 근본적 차이점
1.1 중앙처리장치(CPU)
중앙처리장치(CPU, Central Processing Unit)는 컴퓨터 시스템의 연산 및 제어 기능을 담당하는 핵심 논리 회로이다. CPU는 단독으로 동작할 수 없으며, 프로그램 코드가 저장된 메모리(ROM), 데이터를 저장하는 메모리(RAM), 그리고 외부 장치와 소통하기 위한 입출력 포트 등의 주변 장치가 반드시 필요하다.
1.2 마이크로프로세서(MPU)
마이크로프로세서(MPU, Microprocessor Unit)는 하나의 단일 칩에 CPU의 핵심 기능이 집적된 형태의 장치이다. MPU가 기능을 수행하기 위해서는 외부의 RAM, ROM, 입출력 포트 등의 추가적인 주변 장치가 반드시 필요하다.
1.3 마이크로컨트롤러(MCU)
마이크로컨트롤러(MCU, Microcontroller Unit)는 MPU와 CPU의 기능을 포함하는 동시에, 기능 구현에 필수적인 메모리(ROM, RAM), 입출력 포트 등의 다양한 주변 장치가 하나의 칩에 모두 통합된 형태의 장치이다. 이와 같은 통합된 구조 덕분에 MCU는 별도의 주변 장치 없이 단일 칩만으로 기본적인 기능을 수행할 수 있어 “작은 컴퓨터”로 불리기도 한다.
2. 저사양 MCU 분석: Intel 80C196KC
2.1 개요
Intel 80C196KC는 MCS-96 마이크로컨트롤러 제품군의 고성능 16비트 MCU이다.
2.2 처리 속도
MCU의 특징을 표기한 매뉴얼에 의하면, 80C196KC는 16MHz와 20MHz에서 동작함을 알 수 있다.
2.3 메모리 크기
80C196KC는 488바이트의 RAM을 가진다. 내장 ROM은 없으므로 로봇 프로그램을 위하여 외부에 16K바이트의 ROM을 추가로 설치하여야만 한다.
2.4 입출력의 종류와 개수
MCU의 특징을 표기한 매뉴얼에 의하면, 지원 가능한 입출력은 다음과 같다 :
- 5개의 8비트 입출력
- 시리얼 포트
- 4개의 16 비트 타이머
- 3개의 아날로그 출력(PWM)
- 아날로그 입력(8비트 혹은 10비트)
2.5 형태
MCU의 특징을 표기한 매뉴얼에 의하면, 80C196KC는 PLCC(plastic leaded chip carrier), QFP(quad flat package), SQFP(small quad flat package)의 형태로 판매된다.
2.6 동작 전압
MCU의 특징을 표기한 매뉴얼에 의하면, 해당 MCU는 5V로 동작한다.
3. 중사양 MCU 분석: Atmel ATmega128
3.1 개요
여기에서는 Atmel사의 ATmega128을 기준으로 설명한다.
3.2 처리 속도
MCU의 특징을 표기한 매뉴얼 그림에 의하면, 16MHz에서 최대 16MIPS의 처리가 가능함을 알 수 있다. 여기서 MIPS는 million instructions per second의 약자로서, 16MIPS는 MCU가 초당 1,600만개의 명령어를 실행할 수 있다는 의미이다.
3.3 메모리
MCU의 특징을 표기한 매뉴얼 그림에 의하면, 128K바이트의 플래시 메모리를 가진다. MCU는 추가로 4K바이트의 EEPROM과 4K바이트의 SRAM을 가지고 있다. 또 추가로 64K바이트의 메모리를 MCU 외부에 장착할 수 있다.
3.4 입출력의 종류와 개수
MCU의 특징을 표기한 매뉴얼 그림에 의하면, 지원 가능한 입출력은 다음과 같다 :
- 4개의 타이머 (2개의 8비트 타이머와 2개의 16비트 타이머)
- 6개의 PWM 채널
- 8개의 아날로그 입력 (10비트 ADC)
- Two wire 시리얼 통신(TWI 또는 I2C)
- 2개의 USART 시리얼 통신
- SPI 시리얼 통신
3.5 형태
MCU의 특징을 표기한 매뉴얼 그림에 의하면, 총 53개의 입출력을 가진 64핀 TQFP(thin quad flat package)와 QFN(quad flat no-leads)/MLF(micro lead frame) 형태로 판매된다.
3.6 동작 전압
MCU의 특징을 표기한 매뉴얼 그림에 의하면, 아래와 같은 두 가지 버전이 있음을 알 수 있다 :
- 2.7~5.5V로 동작하는 ATmega128L, 최대 클럭 속도 8MHz
- 4.5~5.5V로 동작하는 ATmega128, 최대 클럭 속도 16MHz
4. 고사양 MCU 분석: TI TMS320F28335
4.1 개요
여기에서는 TI사의 DSP TMS320F28335를 기준으로 설명한다.
4.2 처리 속도
MCU의 특징을 표기한 매뉴얼 그림에 의하면, 150MHz에서 동작함을 알 수 있다.
4.3 메모리
MCU의 특징을 표기한 매뉴얼 그림에 의하면, F28335는 256K×16의 플래시 메모리를 가진다. 여기에서 ‘×16’은 메모리의 기본 단위가 16비트임을 의미한다. MCU는 추가로 1K×16의 OTP ROM(one time programmable read only memory)와 8K×16의 Boot ROM을 가지고 있다. 또 34K×16의 SRAM을 가지고 있다. 또 추가로 2M×16 메모리를 MCU 외부에 장착할 수 있다.
4.4 입출력의 종류와 개수
MCU의 특징을 표기한 매뉴얼 그림에 의하면, 지원 가능한 입출력은 다음과 같다 :
- 최대 18개의 아날로그 출력(PWM) + 6개의 고속 아날로그 출력(HRPWM)
- 최대 6개의 이벤트 입력
- 최대 2개의 인코더 인터페이스
- 최대 8개의 32비트 타이머
- 최대 9개의 16비트 타이머
- 3개의 32비트 타이머
- 최대 2개의 CAN 통신
- 최대 3개의 UART 통신
- 최대 2개의 McBSP 통신
- 1개의 SPI 통신
- 1개의 I2C 통신
- 16개의 아날로그 입력(12비트)
- 88개의 다목적 입출력 핀
4.5 형태
MCU의 특징을 표기한 매뉴얼 그림에 의하면, BGA(ball grid array)와 QFP(quad flat pack)형태로 판매된다.
4.6 동작 전압
MCU의 특징을 표기한 매뉴얼 그림에 의하면, 다음을 알 수 있다 :
- 1.9V/1.8V로 MCU 내부 코어가 동작
- 3.3V로 입출력 설계 수행
5. MCU 사양 종합 비교
구분 | Intel 80C196KC | Atmel ATmega128 | TI TMS320F28335 |
---|---|---|---|
코어 아키텍처 | 16비트 | 8비트 | 32비트 DSP |
최대 클럭 속도 | 20MHz | 16MHz | 150MHz |
메모리 (내부) | RAM: 488B ROM: 0B (ROMless) | 플래시: 128KB SRAM: 4KB EEPROM: 4KB | 플래시: 256K×16 SRAM: 34K×16 ROM: 8K×16 + 1K×16 OTP |
외부 메모리 | 16KB ROM 필요 | 최대 64KB 확장 가능 | 2M×16 이상 확장 가능 |
주요 입출력 | 5개의 8비트 I/O 포트 3개의 PWM 8/10비트 ADC 시리얼 포트 | 53개의 I/O 라인 6개의 PWM 10비트 ADC (8ch) USART, TWI(I2C), SPI | 88개의 GPIO 핀 18개의 PWM + 6개의 HRPWM 12비트 ADC (16ch) CAN, UART, SPI, I2C |
동작 전압 | 5V | ATmega128L: 2.7 | 코어: 1.9V/1.8V I/O: 3.3V |
주요 패키지 | PLCC, QFP, SQFP | TQFP, QFN/MLF | BGA, QFP |