'Avr'에 해당되는 글 1건

  1. 2008.12.13 AVR-ATmega128 Architecture 1
2008. 12. 13. 17:39

AVR-ATmega128 Architecture

이번 시간에는 AVR Micro Controller와 ATmega128에 대한 개론을 학습하는 시간을 갖도록 하겠습니다. 저도 처음 접하는 AVR-ATmega128입니다만, 내부 구조를 살펴봄으로써 임베디드 아키텍쳐를 이해하는데 좋은 계기가 될 것 같습니다. ATmega128로 간단하게 하드웨어를 제어하고 조작해 보는 것도 나쁘진 않군요.

다음글은 'AVR Controller ATmega128 정복'에서 발췌하였음을 사전에 말씀드립니다.


AVR Micro Controller

이 AVR은 Program Memory와 Data Memory를 엑세스하기 위한 Bus를 독립적으로 사용하는 Havard Architecture와 Pipe Line 처리 방식을 기반으로 하는 RISC(Reduced Instruction Set Computer)를 기반으로 하여 빠른 명령 처리 속도를 자랑한다. 뿐만 아니라 AVR은 이를 ATmel사의 장점인 플래시 메모리(Flash Memory) 기술과 접목시켜 칩내에 프로그램 코드용으로 플래시 메모리를 내장하고 여기에 사용자 프로그램을 쉽게 다운로드 할 수 있는 ISP(In-system Programming) 방식을 적용하였다.
 

ATmega Family

이 패밀리는 mega 패밀리라고도 하며, 모든 모델명이 ATmega로 시작한다. 내부에 8KB~256KB의 플래시 메모리를 가지고 있으며, 가장 규모가 크고 성능이 높은 응용 분야에 사용하는 널리 사용되며 가격이 꽤 높고 기능이나 성능도 높다. 따라서 여기에 해당하는 모델들은 패키지도 28~100핀 정도로 핀수가 상당히 많다. 이중에서 성능이 우수한 모델들은 20MHz 클럭에서 20MIPS의 명령 처리 속도를 갖는다. 내장하고 있는 플래시 메모리의 용량에 따라 기본 모델이 ATmega8, ATmega16, ATmega32, ATmega64, ATmega128, ATmega256 등으로 정착되어 가고 있다.

 

ATmega128의 주요 특징

① 고성능이면서 저소비전력형의 8비트 마이크로컨트롤러이다.
② 진보된 RISC 구조를 사용하여 16MHz에서 평균적으로 16MIPS의 명령 처리 속도를 낸다.
③ 133종의 명령어 셋을 가지며, 이것들 중의 대부분은 1 클럭 사이클에 실행된다.
④ 32개의 8비트 범용 레지스터를 가지며, 이밖에 2사이클에 실행되는 곱셈기와 많은 I/O 제어용
     레지스터를 가지고 있다.
⑤ 128KB의 ISP 방식 프로그램용 플래시 메모리를 가지고 있으며, 이것은 10,000번까지 지우고 다시
    쓸 수 있다. ISP를 수행하기 위한 전용 SPI 통신 인터페이스를 가지고 있다.
⑥ 4KB의 데이터 저장용 EEPROM을 가지고 있으며, 이것은 100,000번까지 지우고 다시 쓸 수 있다.
⑦ 4KB의 데이터 저장용 SRAM을 가지고 있다.
⑧ 외부에 약 60KB의 데이터 메모리를 인터페이스 할 수 있다. Memory-Mapped I/O 방식을 사용하므로
    외부 I/O도 이 데이터 메모리 영역에 접속하여 사용한다.
⑨ 내장 메모리의 프로그래밍과 온칩 디버그 기능을 수행하기 위하여 JTAG 인터페이스 기능을 가진다.