제3장. atmega128 - realsys.co.krrealsys.co.kr/lecture/avr_edu/3부3_1. atmega128 특징 및...

21
제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조 www.realsys.co.kr 328 제3장. ATmega128 3-1. ATmega128특징 및 구조 (1). Atmega128 특징 AVR 고성능 저전력 RISC 구조 사용 - 121 강력한 명령어 대부분 1 클럭에 실행 됨.. - 32 x 8 범용 작업 레지스터 + 주변 장치 제어 레지스터 - 16MHz에서 16MIPS 까지 동작 데이터 & 비휘발성 프로그램 메모리 - 128K 바이트 ISP(In-System Programmable) 플래시 메모리 - 4K 바이트 내부 SRAM - 4K 바이트 ISP(In-System Programmable) EEPROM 메모리 - 플래시 프로그램 Lock 과 EEPROM 데이터의 보안 가능 - 직렬 통신 포트를 사용한 ISP 기능 주변 장치 특징 - On-chip 아나로그 비교기 - 내부 오실레이터로 동작하는 워치독 타이머(Watchdog Timer) - 비동기 직렬 통신(UART) 2ch - 마스터/슬래이브 SPI 직렬 통신 - 별도의 발진기로 동작이 가능한 Real Time Counter(RTC) - 별도의 프리스케일러와 PWM 기능이 있는 2개의 8비트 타이머/카운터 - 별도의 프리스케일러와 비교, 캡처, PWM(8,9,10비트) 기능이 있는 16비트 타이머/카운터 - 내부 오실레이터로 동작하는 Watchdog 타이머 - 8채널 10비트 A/D 변환기 - JTAG PORT 프로그램 다운로드 및 Debug 모드 - Atmega103 Compatibility mode 특수한 마이크로 컨트롤러 특징 - Low-power Idle, Power Save and Power Down 모드 - 프로그램적으로 제어가 가능한 클럭 주파수 - 외부 또는 내부 인터럽트 소스 입출력 포트 수 및 패키지 - 32개의 양방향 입출력, 8개의 출력, 8개의 입력 - 64핀 TQFP 형태 동작 전압 - 2.7V 5.5V (ATmega128L) - 4.0V 5.5V (ATmega103) 동작 속도 - 0 8MHz (ATmega128L) - 0 16MHz (ATmega128)

Upload: hoanghuong

Post on 10-Apr-2019

243 views

Category:

Documents


1 download

TRANSCRIPT

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

328

제3장. ATmega128

3-1. ATmega128특징 및 구조

(1). Atmega128 특징

AVR 고성능 저전력 RISC 구조 사용

- 121 강력한 명령어 – 대부분 1 클럭에 실행 됨..

- 32 x 8 범용 작업 레지스터 + 주변 장치 제어 레지스터

- 16MHz에서 16MIPS 까지 동작

데이터 & 비휘발성 프로그램 메모리

- 128K 바이트 ISP(In-System Programmable) 플래시 메모리

- 4K 바이트 내부 SRAM

- 4K 바이트 ISP(In-System Programmable) EEPROM 메모리

- 플래시 프로그램 Lock 과 EEPROM 데이터의 보안 가능

- 직렬 통신 포트를 사용한 ISP 기능

주변 장치 특징

- On-chip 아나로그 비교기

- 내부 오실레이터로 동작하는 워치독 타이머(Watchdog Timer)

- 비동기 직렬 통신(UART) – 2ch

- 마스터/슬래이브 SPI 직렬 통신

- 별도의 발진기로 동작이 가능한 Real Time Counter(RTC)

- 별도의 프리스케일러와 PWM 기능이 있는 2개의 8비트 타이머/카운터

- 별도의 프리스케일러와 비교, 캡처, PWM(8,9,10비트) 기능이 있는 16비트

타이머/카운터

- 내부 오실레이터로 동작하는 Watchdog 타이머

- 8채널 10비트 A/D 변환기

- JTAG PORT – 프로그램 다운로드 및 Debug 모드

- Atmega103 Compatibility mode

특수한 마이크로 컨트롤러 특징

- Low-power Idle, Power Save and Power Down 모드

- 프로그램적으로 제어가 가능한 클럭 주파수

- 외부 또는 내부 인터럽트 소스

입출력 포트 수 및 패키지

- 32개의 양방향 입출력, 8개의 출력, 8개의 입력

- 64핀 TQFP 형태

동작 전압

- 2.7V – 5.5V (ATmega128L)

- 4.0V – 5.5V (ATmega103)

동작 속도

- 0 – 8MHz (ATmega128L)

- 0 – 16MHz (ATmega128)

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

329

(2). 핀 모양(TQFP)

주요 특징:

- 외부 버스 확장 가능(ALE, /WR, /RD, A15~A8, AD7~AD0)

- 2개의 발진 클럭 입력(XTAL1-XTAL2, TOSC1-TOSC1)

- ISP 기능 핀(PDI/RXD, PDO/TXD, SCK)이 UART 신호와 함께 사용

- A/D 변환기 관련 전원 신호 : AVCC, AGND, AREF

- 1Mhz 당 1MIPS 처리 속도

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

330

(3). ATmega128 구성도

M103 Fuse bit를 통한 ATmega103으로 100% 대처 가능

(4). 주요 핀 기능 설명

VCC

전원 전압 공급 핀

GND

접지 핀

XTAL1 – XTAL2

발진기 입력 단자 : 크리스탈 또는 오실레이터를 접속

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

331

TOSC1 – TOSC2

타이머/카운터0에 공급되는 클럭 발진기 접속(보통 32.768 KHz 크리스탈 접속 함).

AVCC , AGND

AVR 내부 A/D 변환기에 공급되는 전원 입력 단자.

보통 VCC 전원에 저 역 필터를 거친 전원을 AVCC에 접속.

AREF

A/D 변환기의 기준 전압 입력 핀으로 AVCC와 AGND 사이의 전압을 인가 함.

ALE

Address Latch Enable 신호로 외부 메모리 또는 I/O를 확장할 때 사용하는 핀으

로, 하위 어드레스(A7~A0)를 래치(TTL 373 또는 573) 하는데 사용.

/WR

외부 메모리 또는 I/O를 확장할 때 사용하는 쓰기(Write) 신호.

/RD

외부 메모리 또는 I/O를 확장할 때 사용하는 읽기(Read) 신호.

/RESET

리세트 입력 핀

/PEN

저 전압 직렬 프로그램 모드에서 사용하는 Program Enable 신호 임.

전원 ON 리세트 동안 이 핀을 Low로 유지하면 직렬 프로그램 모드로 들어 간다.

정상 동작 모드에서 /PEN은 아무 기능을 하지 안 함.

Port A(PA7..PA0)

포트 A는 양방향 포트로 내부 풀-업을 동작 시킬 수 있고, 20 mA 를 씽크(sink)

할 수 있으므로 LED를 직접 구동할 수 있다. 외부 버스를 확장할 때

Address/Data 버스로 사용한다.

Port B(PB7..PB0)

포트 B는 양방향 포트로 내부 풀-업을 동작 시킬 수 있고, 20 mA 를 씽크(sink)

할 수 있으므로 LED를 직접 구동할 수 있다. SPI 통신 및 비교출력, PWM 출력

Port C(PC7..PC0)

포트 C는 양방향 포트로 내부 풀-업을 동작 시킬 수 있고, 20 mA 를 씽크(sink)

할 수 있으므로 LED를 직접 구동할 수 있다.. 외부 버스를 확장할 때 상위

Address 버스로 사용한다.

Port D(PD7..PD0)

포트 D는 양방향 포트로 내부 풀-업을 동작 시킬 수 있고, 20 mA 를 씽크(sink)

할 수 있으므로 LED를 직접 구동할 수 있다. 외부 인터럽트 0~3 및 타이머/카운

터 입력으로 사용.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

332

Port E(PE7..PE0)

포트 E는 양방향 포트로 내부 풀-업을 동작 시킬 수 있고, 20 mA 를 씽크(sink)

할 수 있으므로 LED를 직접 구동할 수 있다. 외부 인터럽트 4-7, 비교기 입력,

비동기 통신 핀으로 사용

Port F(PF7..PF0)

포트 F는 양방향 입.출력 포트이고, A/D 변환기 입력 포트 또는 JTAG 포트로도 사

용된다. A/D 또는 JTAG 으로 이용시 일반포트로 사용불가

(5). AVR RISC 구조 고찰

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

333

(6). CPU의 범용 레지스터

32개의 8비트 범용 레지스터는 데이터 영역의 0번지부터 할당이 되어 있는데 R26 ~ R31

은 범용 레지스터로 사용하면서 데이터 영역의 간접 어드레스 지정 포인터로 사용이 가능한

데 X, Y, Z로 표시하며 어드레스 변환, 자동 증가, 자동 감소 등의 기능을 갖는다.

X, Y, Z 레지스터:

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

334

(7). 메모리 맵

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

335

(8). I/O 메모리

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

336

(9). 주요 레지스터 설명

상태 레지스터 - SREG

비트 7- I : Global Interrupt Enable

전체 인터럽트 Enable/Disable 제어

1 = Enable, 0 = Disable

비트 6 – T : Bit Copy Storage

비트 5 – H : Half Carry Flag

비트 4 – S : Sigh Bit

비트 3 – V : Two’s Complement Overflow Flag

비트 2 – N : Negative Flag

비트 1 – Z : Zero Flag

비트 0 – C : Carry Flag

스택 포인터 - SP (Stack Pointer)

16비트 크기의 스택 포인터로 64K 바이트 크기 영역까지 지원할 수 있다.

스택 포인터는 서브루틴이나 인터럽트 저장 영역으로 사용되는 SRAM 영역 위치를 가리키

는데 따라서 서브루틴 호출이나 인터럽트를 인에이블 하기 전에 반드시 적절히 설정 되어야

한다. 스택 포인터는 60h번지 위로 SRAM 영역에 지정되어야 한다.

PUSH 명령으로 데이터를 저장할 때 스택 포인터는 1 감소하고, 서브루틴 호출이나 인터럽

트에 의해 어드레스가 스택에 저장될 때에는 2가 감소한다.

반대로 POP 명령에 의해 데이터를 가져올 때에는 스택 포인터가 1 증가하고, 서브루틴

RET 나 인터럽트 RETI 실행 경우에는 스택 포인터가 2 증가한다.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

337

RAM 페이지 Z 선택 레지스터 - RAMPZ

RAMPZ 레지스터는 Z 포인터에 의해 액세스 64K RAM 페이지 선택 용으로 사용 할 수가

있는데, ATmega103은 SRAM 영역이 64K를 넘지 않으므로 여기에 사용되지 않고, ELPM

명령으로 액세스 되는 프로그램 메모리 페이지 선택에 사용된다.

RAMPZ0 = 0 : ELPM으로 하위 프로그램 영역(0000h ~ 7FFFh : 64K 바이트) 액세스

RAMPZ0 = 1 : ELPM으로 상위 프로그램 영역(8000h ~ FFFFh : 64K 바이트) 액세스

RAMPZ의 설정에 의해 LPM이 영향을 받지는 않는다.

MCU 제어 레지스터 - MCUCR

비트 7 – SRE : External SRAM Enable

외부 데이터 SRAM의 인에이블 여부 결정

1 = Enable : PortA가 AD0~7로 사용되고, PortC는 A8~15 기능으로 사용

0 = Disable : PortA 와 PortC는 일반 입출력 포트로 사용

비트 6 – SRW0 : External SRAM Wait State

ATmega128 모드 일때는 XMCRA 레지스터와 관계하여 Wait 수를 조절 하고,

ATmega103 모드 일때는 밑의 표와 같이 Wait 수를 조절한다. 본 교재에서는

외부 램을 사용하지 않으므로, 자세한 사항은 데이터 쉬트를 참조한다.

비트 5 – SE : Sleep Enable

SLEEP 명령으로 슬립 모드로 들어 가기 전에 SE가 1상태가 되어 있어야 함.

1 = 슬립 모드 인에이블 0 = 슬립 모드 디스어블

SLEEP 명령 실행 직전에 SE=1로 하는 것이 좋다.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

338

비트 4,3,2 – SM1/SM0/SM2 : Sleep Mode Select bits

8개의 사용 가능한 슬립 모드 중 선택

슬립 모드로 들어 가능 방법:

- MCUCR의 SE 비트가 1인 상태에서 SLEEP 명령 실행.

슬립 모드에서 깨어나는 방법:

- 리세트 발생

- 인터럽트 발생 (슬립 모드에서 깨어나면 SLEEP 다음 명령부터 계속 실행)

슬립 모드 종류:

아이들 모드 => CPU는 동작 정지하지만

SPI, UART, 아나로그 비교기, ADC, 타이머/카운터, Watchdog, 인터럽트는 동작을

계속함. (인터럽트로 CPU를 깨우기 위해서)

Power Down 모드 => 외부 발진기 정지,

외부 인터럽트와 Watchdog(인에이블 되어 있는 경우)은 동작을 계속한다.

외부 리세트, 워치독 리세트, 외부 레벨 인터럽트만이 MCU를 깨울 수 있다.

레벨 인터럽트로 Power-Down 모드에서 MCU를 깨울 때, MCU가 깨어날 때까지

Low 레벨을 유지해야 한다.

Power Save 모드 => Power Down 모드와 유사한데, 다음이 다르다

타이머/카운터0가 비동기 클럭으로 동작하다가 Overflow나 Output Compare 발생

시 MCU를 깨울 수 있다는 점이 다르다.

XTAL Divide Control Register - XDIV

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

339

이 레지스터는 CPU 발진 주파수를 1 ~ 129 배 범위에서 낮게 동작 시켜 CPU의 전력 소

비를 줄이는 용도로 사용한다.

비트 7 – XDIVEN : XTAL Divide Enable

1 = Enable : XDIV6 ~ XDIV0로 지정한 수 만큼 나누어 공급 한다.

0 = Disable

XDIVEN는 동작 중에 변경할 수 있다.

비트 6..0 – XDIV6 .. XDIV0 : Divide Select Bits 6-0

XDIVEN = 1 일 때 나누는 값을 갖는다.

CPU clock (fclk) = XTAL / (129 – d)

이 값은 XDIVEN가 0일 때 변경이 가능하다.

MCU Status Register - MCUCSR

MCUSR 레지스터는 MCU에 리세트를 발생시킨 소스 정보를 제공한다.

비트 4 – JTRF : JTAG Reset Flag

JTAG Reset 시 set 되며, 이 비트의 reset은 power reset 또는 소프트웨어

적으로 1을 써서 초기화 할 수 있다.

비트 3 – WDRF : Watchdog Reset Flag

Watchdog Reset시 set 되며, 이 비트의 reset은 power reset 또는 소프트웨어

적으로 1을 써서 초기화 할 수 있다.

비트 2 - BORF : Brown-out Reset

Brown-out reset이 발생시 set 되며, 이 비트의 reset은 power reset 또는 소프

트웨어적으로 1을 써서 초기화 할 수 있다.

비트 1- EXTRF : External Reset Flag

외부 Reset이 발생시 set 되며, 이 비트의 reset은 power reset 또는 소프트웨어

적으로 1을 써서 초기화 할 수 있다.

비트 0 – PORF : Power-on Reset Flag

Power-on Reset 발생시 set 되며, 이 비트의 reset은 power reset 또는 소프트웨

어적으로 1을 써서 초기화 할 수 있다.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

340

외부 인터럽트 마스크 레지스터 - EIMSK

외부 인터럽트 인에이블 제어 레지스터.

비트 7..0– INT7 .. INT0: 외부 인터럽트 요구 7-0 인에이블

1 = Enable 0 = Disable

INT7 .. INT0: 상승 에지, 하강 에지, 또는 레벨 인터럽트

(EICRA,E EICRB 레지스터로 설정)

외부 인터럽트 플래그 레지스터 - EIFR

외부 인터럽트 핀에 인터럽트 요구가 있으면 대응하는 인터럽트 플래그가 1로 세트 되고,

SREG의 I 비트와 EIMSK의 INT7~0가 인에이블 되어 있으면 해당 인터럽트가 발생한다.

인터럽트 루틴이 실행되면 자동으로 플래그가 클리어 되는데 또 다른 클리어 방법은 해당

비트에 1를 쓰면 플래그가 클리어 된다.

비트 7..0 – INTF7 .. INTF0 : 외부 인터럽트 요구 7-0 플래그

1 = 인터럽트 요구 발생.

외부 인터럽트 제어 레지스터 – EICRA

외부 인터럽트 0~3의 control 비트. (인터럽트 요청 레벨 및 에지 모드 결정)

0으로 clear 하기 위해 EICRA에 해당되는 bit를 1로 쓴다.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

341

외부 인터럽트 제어 레지스터 – EICRB

외부 인터럽트 4~7의 Control 비트. (인터럽트 요청 레벨 및 에지 모드 결정)

0으로 clear 하기 위해 EICR에 해당되는 bit를 1로 쓴다.

타이머/카운터 인터럽트 마스크 레지스터 - TIMSK

비트 7 – OCIE2 : Timer/Counter2 Output Compare Interrupt Enable

타이머/카운터2 비교 매치 인터럽트 발생 인에이블

1 = Enable 0 = Disable

비트 6 – TOIE2 : Timer/Counter2 Overflow Interrupt Enable

타이머/카운터2 Overflow 인터럽트 발생 인에이블

1 = Enable 0 = Disable

비트 5 – TICIE1 : Timer/Counter1 Input Capture Interrupt Enable

타이머/카운터1 입력 캡처 인터럽트 발생 인에이블

1 = Enable 0 = Disable

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

342

비트 4 – OCIE1A : Timer/Counter1 Output Compare A Interrupt Enable

타이머/카운터1 A 비교 매치 인터럽트 발생 인에이블

1 = Enable 0 = Disable

비트 3 – OCIE1B : Timer/Counter1 Output Compare B Interrupt Enable

타이머/카운터1 B 비교 매치 인터럽트 발생 인에이블

1 = Enable 0 = Disable

비트 2 – TOIE1 : Timer/Counter1 Overflow Interrupt Enable

타이머/카운터1 Overflow 인터럽트 발생 인에이블

1 = Enable 0 = Disable

비트 1 – OCIE0 : Timer/Counter0 Output Compare Interrupt Enable

타이머/카운터0 비교 매치 인터럽트 발생 인에이블

1 = Enable 0 = Disable

비트 0 – TOIE0 : Timer/Counter0 Overflow Interrupt Enable

타이머/카운터0 Overflow 인터럽트 발생 인에이블

1 = Enable 0 = Disable

타이머/카운터 인터럽트 플래그 레지스터 - TIFR

비트 7 – OCIF2 : Timer/Counter2 Output Compare Flag

타이머/카운터2 비교 매치 플래그

1 = 매치 발생

0 = 인터럽트 루틴이 처리되면 회로적으로 플래그가 클리어 됨.

또는 이 비트에 프로그램적으로 1를 쓰면 플래그가 클리어 됨.

비트 6 – TOV2 : Timer/Counter2 Overflow Flag

타이머/카운터2 Overflow 발생 플래그

1 = Overflow 발생

0 = 인터럽트 루틴이 처리되면 회로적으로 플래그가 클리어 됨.

또는 이 비트에 프로그램적으로 1를 쓰면 플래그가 클리어 됨.

비트 5 – ICF1 : Timer/Counter1 Input Capture Flag

타이머/카운터1 입력 캡처 플래그

1 = 입력 캡처 발생

0 = 인터럽트 루틴이 처리되면 회로적으로 플래그가 클리어 됨.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

343

또는 이 비트에 프로그램적으로 1를 쓰면 플래그가 클리어 됨.

비트 4 – OCF1A : Timer/Counter1 A Output Compare Flag

타이머/카운터1A 출력 비교 매치 플래그

1 = 매치 발생

0 = 인터럽트 루틴이 처리되면 회로적으로 플래그가 클리어 됨.

또는 이 비트에 프로그램적으로 1를 쓰면 플래그가 클리어 됨.

비트 3 – OCF1B : Timer/Counter1 B Output Compare Flag

타이머/카운터1B 출력 비교 매치 플래그

1 = 매치 발생

0 = 인터럽트 루틴이 처리되면 회로적으로 플래그가 클리어 됨.

또는 이 비트에 프로그램적으로 1를 쓰면 플래그가 클리어 됨.

비트 2 – TOV1 : Timer/Counter1 Overflow Flag

타이머/카운터1 Overflow 발생 플래그

1 = Overflow 발생

0 = 인터럽트 루틴이 처리되면 회로적으로 플래그가 클리어 됨.

또는 이 비트에 프로그램적으로 1를 쓰면 플래그가 클리어 됨.

비트 1 – OCF0 : Timer/Counter0 Output Compare Flag

타이머/카운터0 출력 비교 매치 플래그

1 = 매치 발생

0 = 인터럽트 루틴이 처리되면 회로적으로 플래그가 클리어 됨.

또는 이 비트에 프로그램적으로 1를 쓰면 플래그가 클리어 됨.

비트 0 – TOV0 : Timer/Counter0 Overflow Flag

타이머/카운터0 Overflow 발생 플래그

1 = Overflow 발생

0 = 인터럽트 루틴이 처리되면 회로적으로 플래그가 클리어 됨.

또는 이 비트에 프로그램적으로 1를 쓰면 플래그가 클리어 됨.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

344

(10). 리세트와 인터럽트 처리

리세트 및 인터럽트 벡터

ATmega128은 30개의 인터럽트 소스를 제공한다. 인터럽트와 리세트는 프로그램 메모리 0

번지부터 벡터를 가지는데 다음과 같다.

번지가 낮을수록 우선 순위가 높다. RESET가 가장우선 순위가 높고 다음으로 INT0 순서로

우선 순위가 높은 방법으로 된다.

리세트 소스

ATmega128에는 3개의 리세트 소스가 있다.

- 전원 ON 리세트 : VCC에 전원이 공급될 때 리세트 걸림.

- 외부 리세트 : /RESET 핀에 Low 상태가 50ns 이상 걸릴 때 리세트 걸림.

- 워치독 리세트 : 워치독 타이머에 의한 리세트.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

345

리세트가 걸리면 MCU는 0번지부터 프로그램을 실행하고 MCU 상태 레지스터를 제외한 모

든 I/O 레지스터는 초기값으로 설정된다.

리세트 로직

리세트 특성 값:

리세트 종류:

전원 ON 리세트

/RESET 신호가 VCC에 직접 접속된 경우는 tTOUT 동안 내부 리세트가 걸리고, 외부에서

/RESET 신호를 외부에서 생성하는 경우는 tTOUT 시간에 외부 리세트 시간이 더한 시간동

안 리세트 신호가 생성된다.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

346

외부 리세트

/RESET핀에 Low 레벨 값이 인가된 경우(50ns 이상동안)에 리세트가 발생(클럭이 동작하

지 않아도)되는데, /RESET 신호가 High 상태로 올라간 후에 tTOUT 시간까지 리세트가 발

생한다.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

347

워치독(Watchdog) 리세트

워치독이 타임 아웃 되면 1 XTAL 클럭 후 tTOUT 시간 리세트가 발생한다.

제4부. 제3장. ATmega128 RealSYS 3-1. ATmega128 특징 및 구조

www.realsys.co.kr

348

(11). 외부 장치 인터페이스

ATmega103은 외부에 프로그램 롬의 확장은 불가능하지만 RAM이나 I/O 장치를 8051과

유사하게 확장이 가능하다.

Port A : 데이터 버스(D7~D0)와 하위 어드레스(A7~A0) 버스로 사용.

Port C : 상위 어드레스(A15~A8) 버스로 사용.

ALE : 어드레스 래치 출력 신호

/RD : 읽기(Read) 출력 신호

/WR : 쓰기(Write) 출력 신호

외부 버스를 사용하는 경우 MCUCR 레지스터의 SRE비트 1로 세트해야 되며, 버스를 확장

하지 않는 경우 포트 A 와 C는 일반 입출력 포트로 사용 가능하다.

ALE 신호를 사용하여 하위 어드레스를 생성할 때 TTL 573 또는 373등을 사용하면 된다.

외부 인터페이스 타이밍은 웨이트가 추가되지 않는 경우에는 3 클럭으로 동작하고, 웨이트

가 추가된 경우는 4클럭으로 동작하는데 웨이트 사용 여부는 MCUCR 레지스터의 SRW 비

트로 결정한다.