AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 소속 : 원광대학교전기 정보통신공학부

Similar documents
정보보안 개론과 실습:네트워크

AVR ATmega128 소개 AVR ATmega128 IT Eng 학습목표 ü 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ü ATmega128 내부구조에서메모리공간, I/O 공간의프로그램과데이터를처리하기

[ 마이크로프로세서 1] 1 주차 1 차시. 마이크로프로세서개요 1 주차 1 차시마이크로프로세서개요 학습목표 1. 마이크로프로세서 (Microprocessor) 를설명할수있다. 2. 마이크로컨트롤러를성능에따라분류할수있다. 학습내용 1 : 마이크로프로세서 (Micropr

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

[ 마이크로프로세서 1] 1 주차 2 차시. 마이크로프로세서와마이크로컨트롤러발달과정 1 주차 2 차시마이크로프로세서와마이크로컨트롤러발달과정 학습목표 1. 마이크로프로세서발달과정과종류를설명할수있다. 2. 인텔 8051 계열과아트멜 (Atmel) 의특성을설명할수있다. 학습

Microsoft PowerPoint - avr_lecture1.ppt

PowerPoint Presentation

Microsoft PowerPoint - ch11_reg.pptx

학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 제어장치

논리회로설계 6 장 성공회대학교 IT 융합학부 1

CHAPTER 2 마이크로컨트롤러구조이해하기 가. ATmega128 기능 나. CRX10 구조

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

SAT8-10.hwp

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

마이크로프로세서 개요

학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

Microsoft PowerPoint - hy2-12.pptx

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

9장 순차논리 회로

1. 일련의순차적인수를세는회로는? < 가 > 가카운터 다디코더 나레지스터 라인코더 2. 입력펄스에따라미리정해진순서대로상태가변화하는레지스터로써발생회수를세거나동작순서를제어하기위한타이밍 (timing) 신호를만드는데가장적합한회로는? < 다 > 가범용레지스터 다

개요 데이터를저장할수있는기억소자 여러개의플립플롭으로구성. 메모리는단순데이터를저장하는소자이지만, 레지스터는저장뿐아니라저장된데이터를처리할수있는기능도있다. 카운터도클록펄스가입력되면미리정해진순서에따라상태가변하는레지스터이다. 카운터와레지스터의차이점 데이터를저장또는이동하는목적으로

슬라이드 1

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능

2. AVR(ATmega162)의 구조

학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능

Microsoft Word - PLC제어응용-2차시.doc

Microsoft PowerPoint - 30.ppt [호환 모드]

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - hy2-12.pptx

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

PowerPoint 프레젠테이션

CAN-fly Quick Manual

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

ATmega128

<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

PowerPoint 프레젠테이션

<4D F736F F F696E74202D D FB8B6C0CCC5A9B7CEC7C1B7CEBCBCBCADBFCD20B8B6C0CCC5A9B7CEC4C1C6AEB7D1B7AF2DB9E8C6F7BFE

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

AVR Atmega128

Computer Architecture

Microsoft PowerPoint - chap06-2pointer.ppt

정보보안 개론과 실습:네트워크

Microsoft PowerPoint - ARM System-on-chip architecture_Chap 4_23p.ppt

11 강 AVR board & download cable 2009 년도 1 학기 센서개론 Mechatronics Lab 센서개론

반도체메모리 메모리 (memory) 분류 순차액세스메모리 랜덤액세스메모리 RAM ROM DRAM SRAM Mask ROM Field PROM 반도체메모리의분류 Fuse-link PROM EPROM EEPROM - 2 -

Microsoft PowerPoint - M07_RTL.ppt [호환 모드]

슬라이드 1

1부. 임베디드시스템

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

Microsoft PowerPoint - AVR100%(1).ppt

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Dr.Kim ATmega128 Training Kit (SAT ).hwp

Computer Architecture

Microsoft Word - FunctionCall

Microsoft PowerPoint - Ch13

Microsoft PowerPoint - 제5장 인터럽트 (HBE-MCU-Multi AVR).ppt [호환 모드]

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

Chapter. 1 마이크로컨트롤러개요 Jaeheung, Lee

Microsoft PowerPoint - M08_CPUcontrol.ppt [호환 모드]

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - DSD03_verilog3b.pptx

JVM 메모리구조

Microsoft PowerPoint - e2.ppt [호환 모드]

Microsoft PowerPoint - o8.pptx

8장 조합논리 회로의 응용

Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1

4. 다음주소지정방식중속도가가장빠른주소방식은? 가. immediate addressing mode 나. direct addressing mode 다. indirect addressing mode 라. index register. 5. 간접주소 (indirect addr

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

슬라이드 1

Microsoft PowerPoint - a2.ppt [호환 모드]

슬라이드 1

Microsoft PowerPoint - es-arduino-lecture-03

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - DSD03_verilog3a.pptx

<4D F736F F F696E74202D2037C0E55FC0CCC0C0C7F55FBFCFBCBA205BC8A3C8AF20B8F0B5E55D>

3차시.ppt

1. 제품소개및특징 1.1 제품소개 < 그림 1.1> AVRISP MK2 USB 개발장비 AVR ISP(In System Programmer)MK2 USB 란 Atmel 사의 AVR 마이크로컨트롤러의내부플래쉬와 EEPROM 에프로그램메모리및데이터를써 (Write, Re

4장 논리 게이트

Microsoft PowerPoint - DSD06b_Cont.pptx

Microsoft PowerPoint - 제3장 GPIO 입출력 제어 (HBE-MCU-Multi AVR)

Microsoft Word - PEB08_USER_GUIDE.doc

Microsoft Word - MAI-ISP-STK500_매뉴얼_Ver25.docx

PowerPoint 프레젠테이션

OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver of 8 Onsystech

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

Computer Architecture

OCW_C언어 기초

Transcription:

AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 (slee@wku.ac.kr) 소속 : 원광대학교전기 정보통신공학부

학습목표 2/39 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ATmega128 내부구조에서메모리공간, I/O 공간의프로그램과데이터를처리하기위한특수레지스터, 범용레지스터의역할을이해할수있다. ATmega128 내부에포함된명령어인출과실행절차를알아보고, 명령어유형을통해동작을이해할수있다. ATmega128 이장치를쉽게제어할수있도록하기위해내장한메모리와주변장치의특징을개략적으로이해할수있다.

목차 3/39 1. AVR 개요 2. ATmega128 특징 3. ATmega128 내부구조 4. ATmega128 명령어실행 5. ATmega128 메모리와주변장치 6. ISP(In System Programming)

4/39 ATmega AVR 개요 AVR 의특징 (1) 연산과데이터저장을한번에할수있는하버드구조로되어있어동시에프로그램메모리와데이터메모리를동시에액세스할수있음. 대부분의명령은단일클럭으로실행하여동작속도를혁신적으로개선한제어기임. 임베디드환경에적합한저전력소모를갖음. 명령어는 16 비트버스폭의하드웨어로처리되지만, 데이터는 8 비트길이기반으로처리되는특이한 8 비트마이크로컨트롤러임. 내부에는 32 개의범용작업레지스터를가지며모든레지스터는산술 - 논리연산장치 (ALU) 와직접적으로연결되는구조를가지고있기때문에한클럭사이클내에단일명령사이에두개의독립된레지스터를한꺼번에처리할수있음. AVR RISC 구조는 CISC 마이크로컨트롤러보다 10 배이상의빠른속도로실행이이루어지는보다편리한코드체계를가지는마이크로컨트롤러임. C- 언어로제어하기에적합한주소지정모드 (addressing mode) 를제공하여높은코드집적도를가지고있음.

5/39 ATmega AVR 개요 AVR 의특징 (2) 단일칩에자체프로그램이가능한 1KB~256KB 까지의플래시메모리를가지고있음. 프로그램은직렬프로그래밍인터페이스방식의 ISP 기능을이용하여 10,000 번까지재프로그램이가능함. 모델에따라 64Byte 에서 4KB 까지의 EEPROM 을내장하고있어데이터백업이가능함. 100,000 정도반복사용가능 모델에따라데이터메모리로서 32Byte 에서 8KB 까지의비교적큰 SRAM 을내장하고있음. 이상의 3 가지메모리를내장하고있어효율성이극대화되어있는마이크로컨트롤러로각광을받음. ISP(In-System Programming) 이라는기법을통해롬라이터와같은별도의장비없이도 PC 에서프로그램을작성하여곧바로 AVR 내부의플래시메모리로프로그램코드를저장할수있음. 1.8 5.5V 의동작이가능하며, 특히저전력소모에적합한다양한동작모드를제공함.

Section 01 AVR 개요 6/39 AVR 패밀리 네트워크연결성 USB, 인터넷, SDRAM 연결 FPU 내장 ; 과학계산및디지털신호처리에적합 실시간성능향상기능주변기기사이의빠른신호처리응용에적합 12 비트 ADC/DAC 기능, DMA 사용으로빠른데이터전송 메모리, 입출력핀, 내부주변장치를달리하는다양한소자제공개발을목적으로한응용분야에적합 ATmega8, ATmega128, AT90CAN128, AT90PWM3B 등 크기가작고저렴함응용분야에적합저가형모델로단순하고소형의대량생산이요구되는간단한제어장치에활용가능 휴대용 Li-Ion 배터리를관리하는제품을위해설계배터리셀전압, 전류, 온도를추적배터리수명을늘리고에너지를효율적으로사용하도록함 진동과충격, 혹독한온도환경에서동작보장

Section 01 AVR 개요 7/39 8 비트 megaavr 패밀리소자 ( 요약 ) 8 비트 tinyavr 패밀리소자 ( 요약 )

Section 02 ATmega128 특징 8/39 진보된 RISC 구조 133개의강력한명령어, 1클록사이클에실행 32개의범용레지스터와주변장치제어레지스터 16[MHz] 에서 16[MIPS] 까지성능이나올수있음 2클록사이클이소요되는곱셈기를칩에내장 비휘발성프로그램과데이터메모리 128[Kbyte] 의 ISP(In System Programming) 로재프로그램가능한플래시메모리내장 : 10,000회읽기 / 쓰기가능 4[Kbyte] EEPROM : 100,000회읽기 / 쓰기가능 4[Kbyte] SRAM 내장 64[Kbyte] 까지외부에추가하여사용할수있는메모리공간 SPI 인터페이스를이용한 ISP(In System Programming)

Section 02 ATmega128 특징 9/39 주변장치 2 개의 8 비트타이머 / 카운터 : 별도의프리스케일러와비교모드동작 2 개의 16 비트타이머 / 카운터 : 별도의프리스케일러, 비교모드, 캡처모드동작 실시간타이머카운터 6 개의 PWM 채널 출력비교모듈레이터 아날로그비교기 10 비트 A/D 변환기 TWI(Two-wire Serial Interface) 직렬인터페이스 2 개의 USART SPI 직렬인터페이스 와치독타이머

10/39 ATmega128 의핀설명 ATmega128 의외부구조

11/39 ATmega128 의핀설명 포트 A(PA7 PA0) 외부데이터메모리와데이터전송시하위주소와데이터버스로사용 8 비트의양방향 I/O 포트로사용가능 외부에메모리를인터페이스하지않을때에는내부풀업저항 (20 kω 50 kω ) 을갖음. 포트 B(PB7~PB0) 포트는중복된기능을가지고있는포트 ( 양방향 I/O 혹은 SPI 신호와타이머 / 카운터신호 ) 내부적으로풀업저항 (20 kω 50 kω ) 8 비트의양방향 I/O 포트로사용가능 포트 C(PC7~PC0) 외부데이터메모리와데이터전송시상위주소버스로사용 8 비트의양방향 I/O 포트로사용가능 외부에메모리를인터페이스하지않을때에는내부풀업저항 (20 kω 50 kω ) 을갖음

12/39 ATmega128 의핀설명 포트 D(PD7 PD0) 포트는중복된기능을가지고있는포트 내부적으로풀업저항 (20kΩ 50kΩ) 8비트의양방향 I/O 포트로사용가능 포트 E(PE7~PE0) 포트는중복된기능을가지고있는포트 내부적으로풀업저항 (20kΩ 50kΩ) 8비트의양방향 I/O 포트로사용가능 포트 F(PF7 PF0) 포트는중복된기능을가지고있는포트 내부적으로풀업저항 (20kΩ 50kΩ) A/D 컨버터의입력포트로사용 8비트의양방향 I/O 포트로사용가능

13/39 ATmega128 의핀설명 포트 G(PG4~PG0) 포트는중복된기능을가지고있는포트 내부적으로풀업저항 (20kΩ 50kΩ) 5비트의양방향 I/O 포트로사용가능 RESET: 마스터리셋입력 ( 액티브 LOW 신호 ) AVCC : A/D 컨버터및포트 F의전원 AREF : A/D 컨버터의기준전압 PEN : SPI를활성화시키는프로그래밍인에이블핀 XTAL1, XTAL2 VCC, GND

Section 03 ATmega128 블럭도 14/39

Section 03 ATmega128 내부구조 15/39 명령어레지스터 (IR) 명령어디코더 메모리 플래시프로그램메모리 데이터메모리 (SRAM) 범용레지스터 I/O 레지스터 EEPROM 프로그램카운터 (PC) 기타주변장치 [ ATmega128 의내부구조 ]

Section 03 ATmega128 내부구조 16/39 명령어레지스터 (IR) 프로그램카운터가지칭한곳에서명령어레지스터로명령어인출 명령어에는명령코드, 오퍼랜드, 연산결과저장위치필드를가짐 명령어디코더 명령어레지스터의명령코드를디코딩하여제어신호생성 ALU는명령코드에해당되는연산동작을수행하게함 제어신호는연산대상이되는오퍼랜드가 ALU에전달되게함 제어신호는연산결과를저장할수있게함 스택포인터 스택은임시데이터, 로컬변수, 호출된함수의복귀주소등을저장 스택포인터 (Stack Pointer) 는스택의 TOP 을저장하는특수레지스터 스택에데이터가저장되면, 스택공간은커짐» 스택포인터의주소는높은값에서낮은값으로감소» PUSH 명령어 : 데이터가스택에저장. 이때스택포인터는 1씩감소» POP 명령어 : 데이터를스택의 TOP에서꺼냄. 이때스택포인터는 1씩증가

Section 03 ATmega128 메모리맵 17/39 프로그램영역메모리 데이터영역메모리 플래시프로그램메모리 : PC 로접근일반레지스터 + I/O 레지스터 + 데이터메모리 : 데이터주소로접근

18/39 Section 03 ATmega128 내부구조 플래시프로그램메모리 프로그램저장 비휘발성 (Non-volatile) 메모리 전원이없어도, 저장된데이터는변경되지않음 64[Kword](128[Kbyte]) 크기, 10,000회쓰고읽기 다운로더장치로다운로드 부트프로그램부 : 부팅에필요한기본정보 응용프로그램부 : 워드단위 (16 비트크기 ) 의명령어로구성된프로그램 [ 플래시프로그램메모리맵 ] 프로그램카운터 (PC : 16 bits) 플래시프로그램메모리공간을가리킴 명령어를차례로인출하면서응용프로그램실행

Section 03 ATmega128 내부구조 19/39 플래시프로그램메모리 기본적으로한개의번지가 16 비트단위로구성되어 16 비트마이크로프로세서인것처럼동작 모든 AVR 의명령어는 16 비트또는 32 비트길이로구성 플래시로되어있는내부프로그램메모리는부트프로그램섹션 (boot program section) 과응용프로그램섹션 (application program section) 의두가지영역

Section 03 ATmega128 내부구조 20/39 범용레지스터 데이터레지스터» 레지스터 R0~R25» 데이터를저장하는레지스터» 메모리주소 0x00~0x19에해당 주소레지스터» 레지스터 R26~R31» 레지스터간접주소방식을위한레지스터» 메모리주소 0x1A~0x1F에해당 [ 범용레지스터파일 ]

Section 03 ATmega128 내부구조 21/39 범용레지스터사용사례» 변수 x 를데이터레지스터 r24 로활용한사례

Section 03 ATmega128 내부구조 22/39

Section 03 ATmega128 내부구조 23/39 doc2467 datasheet 참조 ($3A) : 일반명령어가사용하는레지스터주소이름 $1A : i/o 명령어 (in, out) 가사용하는주소이름

Section 03 ATmega128 내부구조 24/39

Section 03 ATmega128 내부구조 25/39 범용레지스터 데이터레지스터» 레지스터 R0~R25» 데이터를저장하는레지스터» 메모리주소 0x00~0x19에해당 주소레지스터» 레지스터 R26~R31» 레지스터간접주소방식을위한레지스터» 메모리주소 0x1A~0x1F에해당 [ 범용레지스터파일 ]

Section 03 ATmega128 내부구조 26/39 주소레지스터 X, Y, Z» 데이터메모리에대한주소를가짐» 두개의레지스터를묶어, 주소레지스터 X, Y, Z 는 16 비트레지스터 주소레지스터 Z 활용사례 메모리 0x100 위치에데이터 0xAB 를저장동작» Z- 레지스터에메모리주소 0x100 을넣음 (r31 0x01, r30 0x00)» r24 에 0xAB 를넣음» st Z+, r24 동작으로메모리주소 Z 위치에 r24 값을기록, 동작후 Z 값은 1 증가

Section 03 ATmega128 내부구조 27/39 데이터공간 (32 Register + 128 I/O Register + 4k SRAM) 변수는프로그램이수행되면서변경될수있음 변수는데이터메모리 (SRAM) 에저장 일반모드» 내부 SRAM을 4,096[byte] 사용가능» I/O 명령어로 64개 I/O 레지스터접근» 확장된 160개의 I/O 레지스터를갖고 ld, store 명령으로접근 doc2467 datasheet 참조 [ ATmega128 데이터메모리 (SRAM) 구성 ]

Section 03 ATmega128 내부구조 28/39 I/O 공간 in, out 의 I/O 명령어가가리키는주소는 I/O 공간 ld, st 명령어가사용하는주소는데이터메모리공간 64개 I/O 레지스터» in, out 명령으로참조할때는 I/O 공간 : 0x00 0x3F» ld, st 명령으로참조할때는데이터메모리공간 : 0x20~0x5F 확장된 I/O 공간은 in, out 명령이아닌 ld, st 명령으로만참조 EEPROM(Electrically Erasable and Programmable ROM) 4Kbyte의 EEPROM을내장 비휘발성메모리로서, 전원이공급되지않아도데이터는계속값을유지 플래시프로그램메모리는프로그램이다운로드되는비휘발성메모리 EEPROM은프로그램이수행되는동안에데이터를기록하여활용» 데이터기록을위해 SRAM 보다더많은클록이필요

Section 03 ATmega128 내부구조 29/39 상태레지스터 (SREG, Status Register) 가장최근에실행된산술연산의결과정보를저장 이결과에따라다음에실행되는프로그램의흐름을제어명령어에영향 인터럽트가발생했을때» 상태레지스터를하드웨어가자동으로저장, 복귀되지않음» 소프트웨어적으로저장, 복귀동작을수행해야함

Section 03 ATmega128 내부구조 30/39

Section 03 ATmega128 내부구조 31/39

Section 04 ATmega128 명령어실행 32/39 명령어인출 프로그램카운터 (PC) 가가리키는명령어가명령어레지스터 (IR) 로인출 프로그램카운터의값은명령어레지스터크기만큼증가 명령어실행 ❶ 명령어분석 ❷ ALU에오퍼랜드인가 ❸ ALU 연산실행및결과기록

Section 04 ATmega128 명령어실행 33/39 명령어인출과실행 한클록에수행되는명령어실행동작

Section 04 D 플립플롭 34/39 에지트리거 D 플립플롭 클록형 D 플립플롭의클록펄스입력에펄스전이검출기를추가하여구성 D CP Q(t+1) 0 0 1 1 상승에지트리거 D 플립플롭의논리기호및진리표 D CP Q(t+1) 0 0 1 1 하강에지트리거 D 플립플롭의논리기호및진리표

Section 03 D 래치 (latch) 35/39 CP=0 이면이전값유지, CP=1 이면값전달 회로도 논리기호 동작 CP=1, D=1 이면 G 3 의출력은 0, G 4 의출력은 1 이된다. 따라서 NAND 게이트로구성된 S-R 래치의입력은 S=0, R=1 이되므로결과적으로 Q=1 을얻는다. CP=1, D=0 이면 G 3 의출력은 1, G 4 의출력은 0 이된다. 따라서 S-R 래치의입력은 S=1, R=0 이되므로결과적으로 Q=0 을얻는다.

Section 03 D 플립플롭 36/39 주종형 D 플립플롭 (negative edge triggered) Master 플립플롭의클록입력은클록펄스가그대로입력되고, Slave 플립플롭부분의클록입력에는반전된클록펄스가입력되도록구성 CP=1 : 외부의 D 입력이 Master 플립플롭에전달 Slave 플립플롭은 CP=0이므로값유지. CP=0 : Slave 플립플롭이동작하여 Q=Y, Q = Y Master 플립플롭은 CP=0이므로입력에상관없이값유지.

Section 04 D 플립플롭 (SRAM, Registers) 37/39 예제 그림과같은파형을주종형 D 플립플롭에인가하였을때, 출력 Q 의파형을그려보아라. 단, Q 는 0 으로초기화되어있으며, 게이트에서의전파지연은없는것으로가정한다.

Section 03 D 플립플롭 38/39 다른형태의 D 플립플롭