11주차주차...

33
1주차 주차 ATmega128 ATmega128의 구조와 구조와 메모리 메모리 Next-Generation Networks Lab.

Upload: others

Post on 12-Oct-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

11주차주차ATmega128ATmega128의의 구조와구조와 메모리메모리

Next-Generation Networks Lab.

Page 2: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

1. ATmega1281. ATmega128의의 특징특징

고성능, 저전력의 8비트 마이크로컨트롤러

진보된 RISC 구조• 대부분 단일 클럭에서 실행되는 강력한 133개의 명령어 구조

• 16MHz에서 거의 16MIPS로 동작

• 32개의 8 bit 범용 작업 레지스터와 추가된 주변장치 제어 레지스터

• 2 사이클 내에서 수행되는 강력한 곱셈기 내장

메모리• 프로그램을 읽고 쓸 수 있는 128KB의 플래시 프로그램메모리 내장프로 램을 읽고 쓸 수 있는 128KB의 플래시 프로그램메모리 내장

• 4Kbytes의 EEPROM 내장

• 4Kbytes의 내부 SRAM 내장

• 플래시 프로그램메모리는 10,000번, EEPROM은 100,000번 읽기/쓰기 가능

• 64Kbytes까지 확장가능한 외부 메모리 기능 제공

• ISP를 위한 SPI 제공

2

Page 3: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

주변 장치 (Peripherals)• 2개의 8 bit 타이머/카운터와 2개의 16 bit 타이머/카운터 지원

• 외부 오실레이터에 의한 실시간 카운터

• 6개의 PWM 채널

• 8채널, 10비트 ADC (Analog to Digital Converter) 내장

• 다양한 방식의 통신지원: USART, SPI, TWI

래밍 가능한 와치독 hd 타이머 지원• 프로그래밍 가능한 와치독(Watchdog) 타이머 지원

• 아날로그 비교기 지원

특수 기능• 파워-온 리셋(Power-On Reset)과 브라운 아웃(Brown-Out) 검출 기능

• RC 오실레이터에 의한 내부 발진 지원

• 외부/내부 인터럽트 소스 지원

• 6개의 슬립(Sleep) 모드 지원

3

Page 4: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

JTAG(IEEE 표준 1149.1 호환) 인터페이스 지원• JTAG 표준에 따르는 바운더리 스캔(Boundary-Scan)과 호환

• 온- 칩 디버그(On-Chip Debug) 지원

• JTAG 인터페이스를 통한 플래시, EEPROM, 퓨즈, 락 비트 설정

입출력 및 패키지 타입• 53개의 입출력 가능한 핀53개의 입출력 가능한 핀

• 64핀의 TQFP (Thin Quad Flat Package) 와 QFN/MLF 타입 지원

• 작동 전압 (Operating Voltage: VCC) 작동 압 ( p g g CC)• ATmega128 4.5 ~ 5.5V (5.0V)

• ATmega128L 2.7 ~ 5.5V (3.3V)

• 동작 속도• ATmega128 0 ~ 16MHz

• ATmega128L 0 ~ 8MHz• ATmega128L 0 ~ 8MHz

4

Page 5: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

2. ATmega1282. ATmega128의의 구조구조

외부구조

블록도

핀 기능

기본회로

내부구조

레지스터

명령어 수행 타이밍

5

Page 6: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

ATmega128ATmega128의의 블럭도블럭도

입출력장치

메모리 주변장치

6

Page 7: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

그림그림 22--5 ATmega1285 ATmega128의의 전체전체 핀핀

Pin #1 Identifier

7

Page 8: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

외부 핀 분류 및 기능

외부 핀은 크게 CPU Core의 기본회로와 GPIO 또는 부가기능을 지원하기외부 핀은 크게 CPU Core의 기본회로와 GPIO 또는 부가기능을 지원하기

위한 기능으로 구분

CPU Core의 기본회로 전원, 리셋, 클럭 관련 회로를 구성하기 위해 11 CPU Core의 기본회로 전원, 리셋, 클럭 관련 회로를 구성하기 위해 11

개의 핀으로 모든 AVR 마이크로컨트롤러에 반드시 존재

이를 제외한 나머지 53개의 핀들은 GPIO (범용 입출력) 기능 또는 부가기이를 제외한 나머지 53개의 핀들은 G O (범용 입출력) 기능 또는 부가기

능(Alternate function)으로 동작

예제) 핀 48의 이름 PA3(AD3)

PA3: GPIO 기능 일반 범용 입출력포트 기능으로 포트 A의 비트 3번 핀 PA3: GPIO 기능 일반 범용 입출력포트 기능으로 포트 A의 비트 3번 핀

AD3: 부가기능 Address/Data 3

외 메 리 사용시 어 레 동작

8

외부 메모리 사용시 어드레스 3으로 동작

Page 9: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

표표 22--3 ATmega1283 ATmega128의의 핀핀 요약요약

번호 분류 핀 이름 설 명 개수

1 전원관련핀 VCC, GND AVR 구동전원 핀 4전원관련핀 , 구동전원 핀

2 리셋관련핀 /RESET 리셋 입력 핀 1

3 클럭관련핀 XTAL1, XTAL2 외부 클럭 입력 핀 2

4 ADC관련핀 AVCC, AREF, AGND ADC 전원핀, 기준전압 핀, 접지 핀 3

PORTA7~PORTA0 PORTA 범용 입/출력 핀 8

PORTB7~PORTB0 PORTB 범용 입/출력 핀 8

PORTC7~PORTC0 PORTC 범용 입/출력 핀 8

5 외부 입/출력 핀 PORTD7 PORTD0 PORTD 범용 입/출력 핀 85 외부 입/출력 핀 PORTD7~PORTD0 PORTD 범용 입/출력 핀 8

PORTE7~PORTE0 PORTE 범용 입/출력 핀 8

PORTF7~PORTF0 PORTF 범용 입/출력 핀 8PORTF7~PORTF0 PORTF 범용 입/출력 핀 8

PORTG4~PORTG0 PORTG 범용 입/출력 핀 5

6 프로그래밍 제어 /PEN 프로그래밍 이네이블 핀 1

9

래밍 제어 / 래밍 이네이블 핀

계 64

Page 10: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

그림그림 22--6 ATmega1286 ATmega128의의 외부외부 구조구조

전원

ADCADC클럭

리셋

PEN

리셋

10

Page 11: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

포트별포트별 부가기능부가기능 ((표표 22--5: 5: 기능별기능별, , 표표 22--4: 4: 번호별번호별))

기본기능 부가기능

PORT A • External memory interface address and data 7 ~ 0

PORT B• SPI interface • Timer/Counter 0, Timer/Counter 1, Timer/Counter 2

PORT C External memory interface address 15 8PORT C External memory interface address 15 ~ 8

PORT D• External Interrupt 0~3• Timer/Counter 1, Timer/Counter 2• TWI Interface, UART1

• Internal memory Programming, UART0• Analog Comparator

PORT EAnalog Comparator

• External Interrupt 4~7• Timer/Counter 3

C i 0PORT F

• ADC input 7 ~ 0• JTAG interface

PORT G• RTC Oscillator

PORT G • External memory Control bus (WR, RD, ALE)

11

Page 12: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

ATmega128 기본 회로 구성

전원 회 반 시 필• 전원 회로 : 반드시 필요

• 리셋 회로 : 사용시 필요

• 외부 클럭 회로 : 사용시 필요 (내부 클럭을 쓰는 경우도 있음)

• ADC 전원회로 : 사용시 필요• ADC 전원회로 : 사용시 필요

• 기타 사용자가 필요한 경우 회로가 추가됨

ex) 모터 드라이버 회로, LED 드라이버 회로 등

12

Page 13: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

그림그림 22--7 ATmega1287 ATmega128의의 내부내부 구조구조

13

Page 14: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

그림그림 22--8 ATmega1288 ATmega128의의 CPU CPU 코어코어 블록블록 다이어그램다이어그램

1 5

C언어

23A = 2 ;

C언어프로그램

2A = 2 ;

X = A – 3 ;

4

5

14

Page 15: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

CPU Core CPU Core 구성구성

CPU Core를 구성하는 주요 레지스터

ALU (Arithmetic Logical Unit): 산술논리장치

SREG (Status Register): 상태레지스터

PC (Program Counter): 프로그램 카운터

SP (Stack Pointer): 스택 포인터

General Purpose Register: 범용 레지스터

프로세서 레지스터 (Register) CPU Core 내에서 자료를 보관하는 아주 빠른 기억 장소 CPU Core 내에서 자료를 보관하는 아주 빠른 기억 장소

일반적으로 현재 계산을 수행중인 값을 저장하는 데 사용

대부분의 프로세서는 메인 메모리(DRAM)에서 레지스터로 데이터를 옮겨와 데이터를 처리한 후 그 내용을 다시 레지스터에서 메인 메모리로 저장하는 로드-스토어 설계를 사용

레지스터는 메모리 계층의 최상위에 위치하며, 가장 빠른 속도로 접근 가능한레지 터 메 리 계 의 최 위에 위치하며 가 빠 속 가메모리

15

Page 16: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

ALU (Arithmetic Logical Unit): 산술논리장치

32개의 범용 레지스터와 직접 연결되어 있고, 단일 클럭에 레지스터 연산을 행산을 수행

ALU의 연산: 산술, 논리, 비트

산술(Arithmetic) 연산 4칙연산 + x /산술(Arithmetic) 연산 4칙연산 +, - , x, /

논리(Logical) 연산: AND, OR, NOT

비트(Bitwise) 연산: >> << AND OR NOT비트(Bitwise) 연산: >>, <<, AND, OR, NOT

프로그램 카운터 (PC: Program Counter)g

프로그램의 실행 위치(주소)를 나타내며, 16비트로 표현

16비트로 표현 가능한 최대 주소 216 64KB 16비트로 표현 가능한 최대 주소 216 = 64KB

명령어는 2바이트 단위로 표현되므로

16

프로그램 메모리의 최대 영역은 64KB * 2Byte = 128KB

Page 17: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

상태 레지스터 (Status Register SREG) ALU가 가장 최근에 실행한 산술 연산 명령의 결과와 상태를 표시하는 레지스터가 가장 최 에 행 명 의 과와 상태를 시하 레지 터

어셈블리어(Assembler)로 프로그래밍할 때 주로 사용

그림 2-9

17

Page 18: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

From Register

C언어 프로그램

2 3 A = 2 ;

C언어 프로그램

ALU I T H S V N Z CSUB

SREG

X = A – 3 ;

ALU

To Data Bus

I T H S V N Z CSUB

-1

18

Page 19: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

범용 레지스터 프로그램 수행 중 중간 결과나 데이터를 일시적으로 저장할 때 사용되는 메모리

R0부터 R31까지 32개의 8 bit 범용 레지스터

R26부터 R31은 2개씩 결합하여 16 비트 레지스터로 사용 X, Y, Z 레지스터

이는 데이터 메모리의 위치를 지정하는 어드레스 포인터로 사용 이는 데이터 메모리의 위치를 지정하는 어드레스 포인터로 사용

X i t (16비트) X-register (16비트)

Y-register

19

Z-register그림 2-10

Page 20: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

스택 포인터 (Stack Pointer SP) 서브루틴 호출이나 인터럽트가 발생하였을 때 다시 돌아올 복귀 주소를 저장하는

메 리 S 내부의 일정 영역을 활용메모리로 SRAM 내부의 일정 영역을 활용

스택은 LIFO(Last In, First Out) 구조

메모리의 상위 번지에서 차례대로 하위번지로 저장메모리의 상위 번지에서 차례대로 하위번지로 저장

스택 포인터는 항상 스택 공간의 상단(TOP) 주소를 가리키는 16 bit 레지스터

명령어: PUSH, POP

20

그림 2-11

Page 21: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

그림그림 22--12 12 명령어명령어 패치와패치와 명령어명령어 실행실행

2-stage Pipelining (파이프라인)

RISC 구조의 명령어로 단일 클럭에서 실행구 의 명령어 단일 클럭에서 실행

nth Instruction Fetch + (n-1)th Instruction Execute

Performance of 1MIPS/MHz/

21

Page 22: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

t 램 메 리 부터 명령어를 미리 읽어옴 f h 1st stage 프로그램 메모리로부터 명령어를 미리 읽어옴 (Pre-fetch)

결과적으로 명령어 해석, 범용 레지스터에 Operand 저장

1 t 에서 해석된 명령어에 따라 O d를 읽어옴 1st stage ALU에서 해석된 명령어에 따라 Operand를 읽어옴

2nd stage ALU에서 해석된 명령어에 따라 연산 실행

3 d 연산 결과를 레지 터와 메 리에 저장

22

3rd stage 연산 결과를 레지스터와 메모리에 저장

Page 23: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

Bit Bit name

I Global Interrupt Enable

T Bi C ST Bit Copy Storage

H Half Carry Flag

TOP

S Sign Flag

V Overflow FlagV Overflow Flag

N Negative Flag

StackZ Zero Flag

C Carry Flag

Stack

23

Page 24: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

3. ATmega1283. ATmega128의의 메모리메모리 구조구조

내부 플래시 메모리: 사용자가 작성한 프로그램의 실행 파일을 저장

내부 SRAM: 사용자가 작성한 프로그램의 실행 과정에서 생성되는 정보 저장

외부 SRAM: 내부 SRAM이 부족하여 확장할 경우에만 추가하여 사용 가능

내부 EEPROM: 영구적으로 저장할 필요성이 있는 데이터를 저장

표 2 6

번호기능별

(Functional)물리적

(Physical)내/외부

휘발성(Volatile)

용량(Capacity)

표 2-6

(Functional) (Physical) (Volatile) (Capacity)

1 Program Memory Flash Internal No 128KB

2 SRAM I l Y 4KB2

Data Memory

SRAM Internal Yes 4KB

3 SRAM External Yes 60KB

4 EEPROM Internal No 4KB

24

Page 25: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

그림그림 22--14 ATmega12814 ATmega128의의 전체전체 메모리메모리 하버드하버드 구조구조

25

Page 26: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

그림그림 22--15 15 하버드하버드 구조와구조와 폰폰 노이만노이만 구조구조 ((버스구조버스구조, , 장점장점&&단점단점))

폰 노이만 구조 하버드 구조

Address bus Data bus 최대 용량

프로그램 메모리 16 bit 16 bit 128KB = 216 * 16bit

ATmega128

26

데이터 메모리 16 bit 8 bit 64KB = 216 * 8bit

Page 27: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

그림그림 22--17 17 플래시플래시 프로그램프로그램 메모리메모리

플래시 프로그램 메모리

명령어는 8비트가 아닌 16/32 비트 명령어는 8비트가 아닌 16/32 비트

구조(ATmega128은 16비트)

따라서 프로그램 메모리의 각 번지도

16 비트 구조로 되어 있음

명령어가 16 비트인 경우는 하나의

번지, 32 비트의 경우 2개를 차지

플래시는 Application 영역과 Boot 영

역으로 구분

128KB = 64K * 2Bytes

= 64Kwords

-- $F0000xFFFF

216 64K

27

= 64Kwords -- $FFFF2 64K

Page 28: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

그림그림 22--18 SRAM 18 SRAM 데이터데이터 메모리메모리 영역영역

번호 분류 용량 Byte번호 분류 용량 Byte

1 32개의 범용 레지스터 32

2 64개의 기본 I/O 레지스터 642 64개의 기본 I/O 레지스터 64

3 160개의 확장 I/O 레지스터 160

4 4KB의 내부 SRAM 4096

5 외부 SRAM 0~60KB

표 2-7

28

Page 29: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

NormalMode

Compatible Mode

29

Page 30: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

입출력 메모리 (I/O 레지스터)

AT 128에 내장된 주변장치(타이머/카운터 통신모듈 ADC 등)와 외부 입 ATmega128에 내장된 주변장치(타이머/카운터, 통신모듈, ADC 등)와 외부 입

출력장치를 제어하기 위한 레지스터 표2-8 기능별 I/O 레지스터

ATmega128은 64개의 기본 I/O 레지스터와 160개의 확장 I/O 레지스터 지원

포트로 데이터를 출력하기 위해서는포트로 데이터를 출력하기 위해서는

해당 포트의 메모리 (I/O 레지스터)에 데이터를 적는 과정

표 2-9 주소별 ATmega128 기본 I/O 레지스터

표 2-10 주소별 ATmega128 확장 I/O 레지스터표 2 10 주소별 ATmega128 확장 I/O 레지스터

표 2-11 기능별 ATmega128 기본 I/O 레지스터

표 2-12 기능별 ATmega128 확장 I/O 레지스터

30

Page 31: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

Address 이름 기능

$1100Internal

4KB의 내부 SRAMSRAM 4KB의 내부 SRAM…

$0100

$00FF Reserved$00FF Reserved

64개의 I/O 레지스터… …

$0023 PORTE PORTE = 0b10101010 ;

+ 160개의 확장 I/O 레지스터$0022 DDRE

$0021 PINE

$$0020 PINF

$001F R31

$001E R30

32개의 범용 레지스터

$001E R30

… …

$0001 R1$

$0000 R0

31

Page 32: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

표표 22--8 8 기능별로기능별로 분류된분류된 ATmega128ATmega128의의 I/O I/O 레지스터레지스터 (p.56)(p.56)

대분류 중분류 소분류 기타대분류 중분류 소분류 기타

CPUSREG, SPL, SPH, RAMPZ, MCUCR, XMCRB, XMCRA, OSCCAL, XDIV, MCUCSR, WDTCR,

ACSR SPMCSR OCDR14

ACSR, SPMCSR, OCDR

포트입출력

PINA, DDRA, PORTA, PINB, DDRB, PORTB, PINC, DDRC, PORTC, PIND, DDRD, PORTD, PINE, DDRE, PORTE PINF DDRF PORTF PING DDRG PORTG

21PORTE, PINF, DDRF, PORTF, PING, DDRG, PORTG

인터럽트 EICRA, EICRB, EIFR, EIMSK 4

주변

ASSR, OCR0, TCNT0, TCCR0, TIFR, TIMSK, SFIOR,ICR1L, ICR1H, OCR1BL, OCR1BH, OCR1AL, OCR1AH,

주변장치(I/O 모듈)

타이머/카운터

ICR1L, ICR1H, OCR1BL, OCR1BH, OCR1AL, OCR1AH, TCNT1L, TCNT1H, TCCR1C, TCCR1B, TCCR1A, OCR1CL,

OCR1CH, OCR2, TCNT2, TCCR2, ICR3L, ICR3H, OCR3CL, OCR3CH, OCR3BL, OCR3BH, OCR3AL,

38

모듈)OCR3AH, TCNT3L, TCNT3H, TCCR3B, TCCR3A,

TCCR3C, ETIFR, ETIMSKADC ADCL, ADCH, ADCSRA, ADMUX 4

SPI 통신 SPCR, SPSR, SPDR 3

USART 통신UBRR0L, UBRR0H, UCSR0C, UCSR0B, UCSR0A, UDR0,UBRR1H, UBRR1L, UCSR1C, UCSR1B, UCSR1A, UDR1

12

32

EEPROM EECR, EEDR, EEARL, EEARH 4TWI 통신 TWBR, TWSR, TWAR, TWDR, TWCR 5

Page 33: 11주차주차 ATmega128ATmega128의의구조와구조와메모리메모리contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/1.pdf · 그림그림22--15 15 하버드하버드구조와구조와폰폰노이만노이만구조구조

외부 메모리 확장• 0x1100에서 0xFFFF까지 최대 60KB의 메모리 영역을 추가 확장 가능

• 널리 사용되지는 않음• 널리 사용되지는 않음

33