1장_마이크로컨트롤러

Download Report

Transcript 1장_마이크로컨트롤러

컴퓨터 구조와 원리
Prof. Jae Young Choi (최재영 교수)
1
1.1 마이크로프로세서와 마이크로컨트롤러
마이크로프로세서
컴퓨터의 중앙처리장치(CPU : Central Processing Unit)를 단일의
IC에 집적한 반도체 소자
1971년 인텔사에 의해 세계 최초로 8비트 마이크로프로세서 8080이
개발되었으며, 이를 MPU(Micro Processor Unit)라고 부름.
마이크로프로세서 = MPU < CPU
2
1.1 마이크로프로세서와 마이크로컨트롤러
마이크로컴퓨터
마이크로프로세서와 기억장치, 입출력 장치를 하나로 모아 하나의
시스템으로 구성된 것을 마이크로컴퓨터라 함.
소형 경량화, 저 소비전력, 저가, 부품수 감소로 인한 신뢰성 향상
마이크로컴퓨터의 구조
3
1.1 마이크로프로세서와 마이크로컨트롤러
마이크로컨트롤러
CPU 기능과 일정한 크기의 기억장치(RAM, ROM), 입출력(I/O) 제
어회로 등을 하나의 칩에 모두 내장한 것.
하나의 IC만으로 완전한 컴퓨터로서의 기능을 갖추고 있어 Singlechip 또는 one-chip micro computer라고도 불림.
MPU와 구분하기 위해 MicroController Unit(MCU)라고 함.
마이크로컨트롤러 구성도
4
1.2 중앙처리장치
CPU
마이크로프로세서의 두뇌에 해당하는 핵심부분으로 명령어의 인식,
해독과 실행을 제어하며 연산처리를 수행하는 장치
내부에는 산술논리장치 (ALU : Arithmetic Logic Unit), 제어장치,
레지스터(register)등으로 구성
CPU의 내부 구성 요소
① 레지스터
: 정보를 임시로 저장하는 임시 저장 장치
② 산술논리장치
: 정보에 대한 연산을 수행
③ 명령 디코더와 제어장치
: 명령 레지스터에 있는 명령을 해석하고,수행할
동작을 결정하는 제어 모듈
④ 명령 레지스터
: 수행될 명령의 이진 코드를 갖고 있는 레지스터로서
외부 프로그램 메모리에서 명령을 가져와 임시 보관함
⑤ 프로그램 카운터
: 다음에 수행될 명령 주소를 저장하고 있는 임시 레지
스터로서 프로그램의 흐름을 제어하는 기능을 가지고
있음
5
1.2 중앙처리장치
CPU의 동작
6
1.3 마이크로컨트롤러의 구성
주소버스(16)
데이터 버스(8)
제어 버스(6)
CPU
RAM
(데이터 메모리)
ROM
(프로그램 메모리)
인터페이스 회로
주변 장치
내부 버스 : 주소버스, 데이터 버스, 제어버스
메모리 : ROM과 RAM
주변장치 : 직/병렬 입출력 장치, 타이머/카운터, 인터럽트, ADC 및 DAC
7
1.4 메모리 : RAM 과 ROM
메모리
RAM(Random Access Memory) : 프로그램의 명령을 저장하는데
사용
ROM(Read Only Memory) : 프로그램에 의해 데이터를 임시로 저
장하는데 사용
메모리의 종류
SRAM
RAM
DRAM
ROM
Memory
MASK ROM
PROM
FLASH
CACHE
EPROM
EEPROM
8
1.4 메모리 : RAM 과 ROM
RAM
전원이 제거되면 메모리에 저장된 내용이 소멸되는 메모리로서 휘발
성 메모리(volatile memory)라고 함.


Static RAM(SRAM)
Dynamic RAM(DRAM)
ROM
전원이 제거되어도 메모리에 저장된 내용이 소멸되는 않는 메모리로
서 비휘발성 메모리(non-volatile memory)라고 함.




마스크 ROM
PROM (Programmable ROM)
EPROM (Erasable PROM)
EEPROM (Electrically EPROM)
9
1.4 메모리 : RAM 과 ROM
플래시 메모리
전원이 꺼진 상태에서도 데이터가 지워지지 않고 저장되는 비휘발성
메모리



요즘 ROM을 대신하여 널리 사용되고 있는 메모리
블록단위로 내용을 지울 수도 있고, 다시 프로그램 할 수 있어 EEPROM
에 비해 속도가 훨씬 빠르다.
구성 방법에 따라 크게 저장용량이 큰 데이터 저장형(NAND)과 처리속
도가 빠른 코드 저장형(NOR)의 2가지로 분류됨
캐시 메모리
처리속도가 빠른 CPU와 처리속도가 상대적으로 느린 HDD 또는 주
메모리 사이에서 처리되는 데이터 액세스 속도를 향상시키기 위해
사용되는 SRAM으로 구성된 메모리를 말함.
10
1.4 메모리 : RAM 과 ROM
캐시 메모리
처리속도가 빠른 CPU와 처리속도가 상대적으로 느린 HDD 또는 주
메모리 사이에서 처리되는 데이터 액세스 속도를 향상시키기 위해
사용되는 SRAM으로 구성된 메모리를 말함.
CPU
CACHE
Memory
HDD
또는
주 메모리
11
1.6 입출력 장치
소자
입출력
형태
스위치
입력
ADC
입력
센서
입력
표시장치
출력
모터
출력
기 능
 신호의 연결을 위해 사용되는 입력장치
 예를 들어, 신호가 연결되면 ON 상태를 나타내고 신호가 연결되지 않으면 OFF 상태를
나타낸다.
 키보드와 같은 응용에 활용
 마이크로컨트롤러에 의해 처리될 수 있도록 아날로그 신호를 디지털 신호로 변환하는 장
치
 측정대상에 직접적 또는 간접적으로 접촉하여 대상의 물리량(힘, 압력, 온도, 속도, 유량,
유속 등)을 다른 물리량(일반적으로 전기량으로 전압 또는 전류)으로 변환하는 소자
 거리 계측용의 초음파센서, 적외선 센서, 레이저 센서
 물체 감지용의 영상 센서
 물체 움직임 검출용의 가속도 센서, 자이로 센서, 엔코더
 문자 또는 숫자를 표시하기 위해 사용되는 장치
 LED, 7-세그먼트, LCD
 기계 장치를 제어하기 위해 사용되는 액츄에이터로 전류가 흐르는 도체가 자기장 속에서
받는 힘을 이용하여 전기에너지를 역학적에너지로 바꾸는 장치를 말함.
 스텝모터, AC/DC 모터, BLDC 모터
 전기적인 에너지를 회전 또는 직선 운동으로 변환하는 전자장치로서 구동되는 전원에 따
라 DC와 AC 형태가 있음.
 스텝모터, AC/DC 모터, BLDC 모터
솔레노이드
출력
릴레이
출력
 전자적인 접점을 ON/OFF하여 기계적인 접점을 ON/OFF하는 스위치
DAC
출력
 마이크로컨트롤러에 의해 처리된 디지털 데이터를 아날로그 신호인 전압으로 변화하는
장치
12
1.7 구동 소프트웨어
소프트웨어
마이크로컨트롤러나 관련 장치들을 동작시키는데 사용되는 다양한
종류의 프로그램


응용 소프트웨어 : 사용자들이 직접 관심을 가지고 있는 작업을 처리하
는 프로그램
시스템 소프트웨어 : 운영체제 및 응용 소프트웨어를 지원하는 프로그
램을 포함함.
응용 소프트웨어
(사용자 인터페이스)
OS : 운영체제
(명령어, 유틸리티)
BIOS : 입출력 서브루틴
(하드웨어 액세스)
컴퓨터와 주변장치 사이의 제어를 담당하는
운용체계 형태의 프로그램
하드웨어
13
1.7 마이크로컨트롤러의 종류
메모리 구조 및 명령어 구조에 의한 분류
Von Neumann 구조

프로그램과 데이터를 하나의 메모리에 저장하여 데이터는 메모리에서 읽거나
메모리에 쓰기도 하는 반면, 명령어는 메모리에서 읽기만 하는 구조.
 명령어 구조상으로 CISC(Complex Instruction Set Computer)구조임
 인텔의 x86 계열의 CPU 와 AMD의 인텔 호환 CPU 등이 해당됨.
14
1.7 마이크로컨트롤러의 종류
특징
①
②
③
④
⑤
많은 수의 명령어-일반적으로 100에서 250개의 명령어
몇몇 명령어는 특별한 동작을 수행하며 자주 사용되지 않음.
다양한 어드레싱 모드-일반적으로 5에서 20가지의 모드
가변 길이 명령어 형식
메모리의 피연산자를 처리하는 명령어
Harvard 구조

프로그램과 데이터를 물리적으로 구분하여 각각 다른 메모리에 저장하는 구
조
 명령 구조상으로 RISC(Reduced Instruction Set Computer)구조임
 트랜스메타의 크루소와 애플의 PowerPC 등이 해당됨.
15
1.7 마이크로컨트롤러의 종류
특징
①
②
③
④
⑤
⑥
⑦
상대적으로 적은 수의 명령어
상대적으로 적은 수의 어드레싱 모드
메모리 참조는 load와 store 명령어으로만 제한됨.
모든 동작은 CPU의 레지스터 안에서 수행됨
고정된 길이의 명령어 형식으로 디코딩이 간단함.
단일 사이클의 명령어 실행
마이크로 프로그램된 제어보다는 하드와이어된 제어를 선택함.
16
1.7 마이크로컨트롤러의 종류
비트수에 의한 분류
17
1.8 마이크로컨트롤러의 응용 분야
마이크로컨트롤러의 특징
소형, 경량화가 가능하다.

다양한 프로그램으로 응용범위와 주변 소자수를 대폭 줄일 수 있어 회
로가 간단함.
가격이 저렴하다.

하나의 IC 안에 입/출력포트, 직/병렬통신, 기억소자, 카운터/타이머 등
의 기능을 내장시켜 별개의 IC로 시스템을 구현할 때 보다 훨씬 저렴한
시스템의 구축이 가능함.
타 시스템과의 이식성이 뛰어나다.

대부분의 제어 기능이 하나의 IC에 내장되어 있으므로, 시스템을 변경
하고자 할 경우에는 약간의 기능 변경과 추가를 통해 쉽게 달성할 수 있
어 다양한 용도로 활용이 가능함.
신뢰성이 높다.

시스템 구성 소자수가 적어 획기적으로 줄어들어 제품의 신뢰성이 높음.
18
1.8 마이크로컨트롤러의 응용 분야
마이크로컨트롤러의 응용 분야
산업 분야

모터제어, 로봇제어, 프로세서 제어, 수치제어, 지능형 변환기 등
계측 분야

액체/가스 크로마토 그래프, 의료용 계측기, 오실로 스코프 등
가전 분야

비디오 레코더, 레이저 디스크 구동부, 비디오 게임, 전자렌지, 에어컨 등
유도 및 제어분야

미사일 제어, 지능형 무기, 우주선 유도 제어 등
데이터 처리 분야

플로터, 복사기, 프린터, 하드디스크 구동부 등
정보통신 분야

모뎀, 지능형 카드 제어, RFID, ZigBee 통신 모듈 등
자동차 분야

점화제어, 변속기 제어, 연료분사제어, 브레이크 제어 등
19