회원가입 ID/PW 찾기

하드웨어 설계에 관련한 공개 강좌를 게재하는 공간입니다.
운영진에 의해 강좌글은 편집되며, 공익을 위한 게시글은 '하드웨어 강좌'란으로 이동될 수 있습니다.

콘텐츠 수 129
판매자 아크마 판매 납포인트 무료 평점 1.8점 / 총 5명 참여

1. 마이크로컨트롤러

 

1. 마이크로컨트롤러

1.1 마이크로컨트롤러 란?

 

CPU(Central Processing Unit, 중앙처리장치) = 마이크로프로세서(microprocessor)

- CPU는 혼자만으로는 별 쓸모가 없음

 

ㅇ 마이크로컴퓨터(microcomputer)

- 마이크로프로세서(CPU), ROM(Read Only Memory), RAM(Random Access Memory), I/O(Input/Output) 장치로 구성된 작은 규모의 컴퓨터 시스템

 

clip_image001[10][3]_thumb[2]_2.jpg

   

그림1. 마이크로컴퓨터

 

- 마이크로컴퓨터는 일반컴퓨터와 본질적으로 기능은 같으나 구성이 간단하고, 한번 에 처리할 수 있는 데이터 폭이 작고, 처리속도가 늦음

 

ㅇ 단일 보드 마이크로컴퓨터(One board microcomputer)

- 마이크로컴퓨터의 부품을 한 장의 기판 위에 배치

 

ㅇ 단일 칩 마이크로컴퓨터(Single chip microcomputer)

- 단일 보드 마이크로컴퓨터에 들어가는 모든 부품들을 하나의 반도체 칩에 집적

 

ㅇ 마이크로컨트롤러(microcontroller)

- 마이크로컴퓨터는 용도에 따라 분류

연산 및 데이터 처리를 목적으로 하는 연산용

기계의 제어를 목적으로 하는 제어용 마이크로컨트롤러(microcontroller)

 

- 마이크로컨트롤러(microcontroller)

주변장치들을 센싱 및 제어하기 위한 I/O의 능력이 강화

타이머/카운터, 통신포트 내장 및 interrupt 처리 능력 보유

bit 조작 능력이 강화

 

1.2 마이크로컨트롤러 발달과정

ㅇ 마이크로프로세서

- 1971 intel사 세계 최초로 4비트 마이크로프로세서 4004 개발

- 이후 여러회사에서 8비트 마이크로프로세서 개발

intel 8008(1972), 8080(1974), 8085(1976)

모토롤라 MC6800(1974), MC6805(1976), MC6809(1979)

자이로그 Z-80(1976)

- 1978년 이후 16비트, 32비트, 64비트까지 발전

 

ㅇ 마이크로컨트롤러

- 1975 Texas Instrument사 최초의 마이크로컨트롤러 TMS1000 개발

- 1976 intel 8비트 마이크로컨트롤러 8048(MCS-48), 1980 8051(MCS-51),

이후 16비트 MCS-96(1982), 32비트 80960(1988) 개발

* 8051은 가장 많이 사용, 개발 및 응용 프로그램과 개발장비가 보편화

- 모토롤라 MC6801, MC6805, MC68HC11, 68HC16, MC68332

- 삼성 4비트 KS51(1982), KS56(1988), KS57(1989), 8비트 KS88(1991),

16비트 KS16(1993), 32비트 KS32(1995)

 

1.3 마이크로컨트롤러의 특징

ㅇ 제품의 소형화 및 경량화

ㅇ 제품의 가격이 저렴 - 부품비, 제작비, 개발비 및 개발시간 절감

ㅇ 융통성 및 확장성이 용이 - 개별 논리회로는 기능 변경이나 확장에는 부품의 추가 및 배선의 변경이 필요, 그러나 마이크로컨트롤러는 프로그램만 변경

ㅇ 신뢰성이 향상 - 부품수가 적어서 시스템 구성이 단순, 고장률이 적고, 보수 편리

 

1.4 마이크로컨트롤러의 응용

ㅇ 간단한 가전기기에서 복잡한 산업용에 이르기까지 응용분야가 방대

- 산업 : 모터제어, 로봇 제어, 프로세스 제어, 수치 제어, 장난감 등

- 계측 : 의료용 계측기, 오실로스코프 등

- 가전제품 : 비디오 레코더, 레이저 디스크, 비디오 게임기 등

- 유도 : 미사일 제어, Torpedo 제어, 지능형 무기, 우주선 유도 제어 등

- 데이터 처리 : plotter, 복사기, 하드디스크 구동장치, 테이프 구동장치, 프린터 등

- 통신 : 모뎀, 지능형 line card 제어 등

- 자동차 : 점화 타이밍 제어, 연료 분사 제어, 변속기 제어, ABS 제어 등

CPU 용량에 따른 응용

- 4비트 : 전자렌지, 전기밥솥, 가스오븐, 세탁기, 음향기기, 자동차용 오디오 등

- 8, 16비트 ; 단말기, 계측기기, 고급 탁상계산기, 재고관리기, 감시장치 등

 

2. 전문용어

2.1 중앙처리장치(CPU)

CPU는 컴퓨터 시스템의 두뇌와 같은 것으로 시스템내의 모든 행동에 대한 관리 및 데이터에 대한 처리 실행

ㅇ 단순한 2가지 동작 인출과 실행을 연속적으로 반복(2진 코드의 집합을 이용하여 명령을 해독하고 실행)

 

clip_image002[10][3]_thumb[3]_2.jpg

 

그림2. 중앙처리장치(CPU)

 

CPU의 구성 요소

- 프로그램 카운터(PC) : 다음에 실행될 명령이 저장된 기억장소의 주소를 보유

- 명령 레지스터(IR) : 실행될 명령의 2진 코드를 받는 저장장치

- 명령 디코드(Decode) : 명령에 따른 실행할 동작을 결정

- 제어장치(CU) : 실행을 위해 필요한 행동을 결정

- 레지스터(Acc, B, R0R7 register) : 정보를 임시 저장하는 저장장치

- 산술연산장치(ALU) : 정보에 대한 연산을 수행

 

2.2 반도체 기억장치

RAM(Random Access Memory)

- 읽기, 쓰기가 가능, 휘발성

 

ROM(Read Only Memory)

- 읽기만 가능, 비휘발성

- EPROM(Erasable Programmable ROM) : ROM writer에 의해 프로그램 저장,

자외선을 쪼여 내용을 지움

- EEPROM(Electrically EPROM) : 전기적으로 지우며, 롬라이터 없이 프로그램

- Flash memory : EEPROM과 같은 기능, EEPROM 보다 적은 트랜지스터 사용

 

ㅇ 메모리 종류

- 62256, 68512, 681000 : 62, 68 RAM,

뒤 세자리는 용량 즉 256 256Kbit(32Kbyte), 521Kbit, 1000Kbit(1Mbit)

- 27C256, 27C512, 27C010, 27C040, 28C16, 28C64, 29C010, 29C040 :

27 EPROM, 28 EEPROM, 29 Flash 메모리

 

2.3 버스

ㅇ 주소 버스(Address Bus)

- 주소를 지정하기 위한 신호선, CPU가 일방적으로 출력하는 단방향 버스

- n개의 주소 line = 2n개의 위치를 접근

 

ㅇ 데이터 버스(Data Bus)

- 데이터를 주고받는데 사용하는 신호선, 양방향 버스

- 데이터의 접근 속도는 데이터 버스의 폭에 의해 결정

(4비트 CPU, 8비트 CPU, 16비트 CPU )

 

ㅇ 제어 버스(Control Bus)

- 제어용 신호선, 단방향 버스

- 제어신호는 CLOCK, READ, WRITE 3가지 사용

 

2.4 입출력장치

ㅇ 입력장치(Input)

- , , 압력, 동작 등의 자극 전류/전압 마이크로컨트롤러

 

ㅇ 출력장치(output)

- 전압/전류 램프, 모터, 스피커, 계전기 작동 등

 

3. 프로그램

CPU에게 무엇을 할 것인가를 말해주는데 사용되는 일련의 명령

ㅇ 프로그램

- C 언어 : 컴파일러(Compiler)에 의해 2진 형태의 기계어 생성

- 어셈블리어(Assembly language) : 어셈블러(Assembler)에 의해 2진 형태로 변환

    

 

4. 명령어 수행 과정

 

clip_image003[10][4]_thumb[1]_2.jpg

 

clip_image004[10]_thumb_thumb그림3. 명령어 수행 과정도

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


위 내용은 청강대학교 허인 교수님의 고마운 공유정신 발휘로 마이컴박스에 게시 및 수정 업데이트됩니다.
허인 교수님 및 마이컴박스(개정부분)의 동의 없이 무단 복재 및 전재, 재배포 금지합니다.

모르는 것이 무엇인지 스스로 정리하고 질문하는 습관을 가집시다.
무성의/광범위하거나 직접 해보지 않고 올리는 질문은 서로를 피곤하게 합니다.
질문쪽지는 사절이오니 게시판에 글을 남겨주세요. 그래야 다같이 공유할 수 있으니까요.

첨부

profile
rnrqkq 2017.06.22 10:21
잘 읽었습니다!
profile
Regret 2018.02.20 22:55
감사합니다
profile
maniker 2018.06.15 11:10
잘 읽었습니다 감사합니다!
profile
부부부붐 2018.08.03 16:25
감사합니다.
profile
비궁 2019.04.03 15:50
감사합니다!!
profile
11시22분 2019.04.17 14:51
감사합니다
profile
BAENAMOO 2020.07.08 19:46
감사합니다.
profile
강동하하 2022.03.05 09:14
감사합니다.
search

연재강좌(하드웨어 엔지니어 되기) : (12)
전자 하드웨어 기초 : (14)
8051 어셈블리 강좌(by 허인교수님) : (7)
■ 제3장. 명령어 2019-04-17 14:58
AVR 기반의 라인트레이서(by 아크마) : (9)
용어도 모르겠어요 : (15)
■ 8051이란? 2019-04-17 00:17
■ 아트워크 기초 2019-04-17 14:40
■ MCU 기초 2019-12-19 10:58
■ 펌웨어 기초 2019-04-17 14:44
■ 납땜하기 2019-07-26 09:49
하드웨어 일반 : (15)
■ ASCII Table 2019-04-17 14:19
PCB설계와 제조의 이해 : (7)
■ CAD-Utility 2021-09-02 13:41
EMC 적합성을 고려한 PCB설계 : (43)
PCB의 기초 : (14)
바이패싱과 디커플링 : (9)
ESD 보호 : (3)
■ ESD 보호 - 개요 2017-06-22 10:24
클럭회로 : (17)
PCB 자주 묻는 질문 : (1)
Altium 사용하기 : (6)
ETC
  • 존경 없이 참된 연애는 성립되지 않는다.
    - 피히테
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.