AVR - Chapter 3 황 지 연
ATmega128 특징 8-비트 RISC 구조로 명령어가 간단하며 동작 속도가 빠르고 16MHz로 동작 향상된 RISC 구조 1MHz당 약 1MIPS의 성능 향상된 RISC 구조 133개의 강력한 명령어들이 대부분 단일 클럭으로 실행 32 X 8 범용 동작 레지스터 + 주변 콘트롤 레지스터로 구성 완전 정적 동작 16MHz 환경에서 16 MIPS 이상의 성능 2 사이클 곱셈기를 칩에 내장
ATmega128 특징 비휘발성 프로그램과 데이터 메모리 128K Byte In-System 프로그램 플래쉬 메모리 (내구성 : 최대 10,000번 쓰고 지울 수 있다.) 독립 락 비트를 지원하는 옵션 부트 코드 섹션 칩에 내장된 부트 프로그램으로 In-System 프로그래밍 가능 읽고 쓰는 동작을 동시에 수행가능 4K Byte EEPROM (내구성 : 최대 100,000번 쓰고 지울 수 있다.) 4K Btyte 내장형 SRAM 최대 64K Byte 이상의 외부 메모리 영역을 갖는다. 소프트웨어의 보안을 위한 프로그램방식의 락을 설정할 수 있다. In-System 프로그램을 위한 SPI 인터페이스방식을 지원
ATmega128 특징 JTAG (IEEE std. 1149.1 호환) 인터페이스 제공 JTAG 표준에 근거한 Boundary-scan 제공 방대한 칩 내장형 디버그 제공 JTAG 인터페이스로 플래쉬, EEPROM, 퓨즈와 락 비트를 프로그래밍 가능
ATmega128 특징 주변 사양 두개의 8-bit Timer/Counters 와 독립된 프리스케일러, 비교모드 제공 두개의 8-bit PWM 채널 6 개의 PWM 채널과 2에서 16Bits 사이의 프로그램가능한 해상도 지원 비교기 출력 8 채널, 10bit ADC 8 Single-ended 채널 7 독립 채널 2 독립채널과 프로그램 가능한 1x, 10x, 200x 의 Gain Byte 지향의 두선 직렬 인터페이스 제공 두개의 프로그램가능한 직렬 USART 제공 마스터/슬레이브 SPI 직렬 인터페이스 프로그램 가능한 Watchdog Timer 와 칩 내장형 발진기 칩 내장형 아날로그 비교기
ATmega128 특징 독특한 마이크로콘트롤러 사양 파워온 리셋 과 프로그램가능한 Brown-out 감지기 내부 조율 RC 발진기 내부와 외부의 인터럽트 입력기 6가지 슬립모드 아이들, ADC 노이즈 감쇄기, 저전원, 무전원, 대기상태, 연장 대기상태 소프트웨어로 선택 가능한 클락 주파수 퓨즈비트설정으로 Atmega103 호환모드가능 모든 Pull-up 설정해제
ATmega128 특징 I/O 와 패키지 동작 전원 동작 속도 53개의 프로그램 가능한 I/O 라인 64개의 TQFP와 64패드 MLF 동작 전원 ATmega128L : 2.7V ~ 5.5V ATmega128 : 4.5V ~ 5.5V 동작 속도 ATmega128L : 0 ~ 8MHz ATmega128 : 0 ~ 16MHz
ATmega128 외부구조
ATmega128 외부구조 VCC(21,52) GND(22,53,63) XTAL1, XTAL2(23,24) 마이크로프로세서가 동작하도록 전원 공급 GND(22,53,63) 신호의 접지 핀으로 사용 XTAL1, XTAL2(23,24) 수정 발진기의 입/출력 핀으로서 크리스탈이나 오실레이터를 접속
ATmega128 외부구조 RESET(20) PORT A/B/C/D/E PORT F PORT G AVCC(64) 리셋 입력 핀으로서 50ns 이상의 Low level 입력이 지속되면 리셋이 발생 PORT A/B/C/D/E 반이중 I/O 포트로 내부 풀업저항된 8비트/양방향/병렬/범용 포트 DDR(X), PORT(X), PIN(X) 의 레지스터를 이용해 제어 PORT F A/D 컨버터의 입력포트로도 사용 PORT G 반이중 I/O 포트로 내부 풀업저항된 5비트/양방향/병렬/범용 포트 AVCC(64) A/D 컨버터 및 포트 F의 전원(ADC를 이용하지 않더라도 외부적으로 VCC에 연결되어야 한다.) AGND(63) AVCC에 대한 전원 접지(반드시 GND와 접속할 것) AREF(62) A/D 컨버터의 기준전압 PEN(1) SPI 활성화를 시키는 프로그래밍 인에이블 핀으로서 파워 온 리셋시 LOW로 유지함으로서 SPI 활성화 상태가 된다. 일반적인 동작모드에서는 사용하지 않는다.
ATmega128 내부 병렬처리의 최대 성능을 위해서 AVR은 Harvard 구조를 사용 프로그램 / 데이터에 대해 분리된 메모리와 버스가 사용 고성능의 ALU는 모든 32개의 범용레지스터와 직접 연결되어 단일 사이클로 동작
ATmega128 구조도
ATmega128의 코어 부분의 블록도
ATmega128 내부 하버드구조와 2단계 파이프라인 처리방식 CPU가 시스템 클럭의 1주기에 평균적으로 1개의 명령을 실행하도록 함 클럭 주파수 1MHz당 1MIPS의 처리속도에 해당하는 매우 높은 성능을 발휘
ATmega128 내부 1클럭 사이클 동안에 1개의 명령에서 2개의 레지스터 오퍼랜드가 사용되는 연산을 수행하고 그 결과를 다시 destination register에 저장하는 처리