본문 바로가기

Embedded

AVR(Alf Vergard Risc) 너는 무엇이냐?



AVR의 개요

AVR은 ATMEL사에서 제작된 RISC(Reduced Instruction Set Computer) 구조의 저전력 CMOS 8-Bit 마이크로컨트롤러로써 다음과 같은 특징을 가지고 있다.
-> 대부분의 명령은 단일 클럭으로 실행하여 동작 속도를 혁신적으로 개선한 마이컴으로 임베디드 환경에 적합한 저전력 소모의 칩이다.

-> AVR RISC 구조는 CISC 마이크로컨트롤러보다 10배 이상의 빠른 속도로 프로그램 실행이 이루어지는 보다 편리한 코드 체계를 가지는 MCU이다.

-> ATMEL사의 장점인 플래시 메모리 기술과 접목시켜 칩내에 프로그램 코드용으로 플래시 메모리를 내장하고 여기에 사용자 프로그램을 쉽게 다운로드 할 수 있는 ISP(In-System Programming) 방식을 적용한다.

-> 연산과 데이터 저장을 한 번에 할 수 있는 하버드 아키텍처(Harvard Architecture)를 가진다.

-> 모델에 따라 병렬 I/O포트, 내장 시스템 클럭 발진기, 8비트 타이머/카운터, 16비트 타이머/카운터, 워치독 타이머, UART 또는 USART, SPI, TWI, I2C, 아날로그 비교기, 10비트 ADC, PWM출력, RTC, Brown Out Detector 등 매우 다양한 I/O 기능을 가지고 있다.





AVR의 종류
 

1. tinyAVR 
ATtinyXX ( 1 - 4kB )
 => 대량으로 생산되는 간단한 응용분야에 사용(가격이 낮고 기능이나 성능도 낮음).
 => 핀 수가 8핀에서 28핀 정도이며 외형이 작음.
 => 내부 발진기를 내장하는 모델도 있음.

2. classicAVR
AT90XXXX ( 1 - 8kB )
 => 비교적 큰 512바이트 이하 정도의 EEPROM과 SRAM을 내장.
 => 핀 수가 20핀에서 40핀 정도.
 => 특징이나 장점이 뚜렷하지 않아 시장에서 대부분의 모델 단종됨. 

3. megaAVR
 ATmegaXXX ( 8 - 256kB )
 => 가장 규모가 크고 높은 응용 분야에서 사용(가격이 높고 기능이나 성능도 높음).
 => 핀 수가 28핀에서 100핀 정도.
 => 최근 출시되는 모델들은 20MHz 클럭에서 20MIPS의 명령 처리속도를 가짐.
 => 플래시 메모리의 용량에 따라 모델이 ATmega8, 16, 32, 64, 128, 256 등으로 정착됨.





AVR의 개발 과정








AVR의 개발 환경 구축


1. SDK(Starterup Development Kit)
 => ATMEL STK500시리즈, Kanda STK200/300.
 => AVRMALL AVR Board.
 => 타사 AVR Development Board.

2. Assembler & Compiler
 => AVR STUDIO, IAR Assembler 등. 
 => AVR-GCC의 기반의 AVR-EDIT(국내), WINAVR(외국) 등의 무료 컴파일러.
 => IAR, CodevisionAVR, Imagecraft(ICC) 등의 상용컴파일러.
 => BASCOM-AVR, FastAVR의 Basic 컴파일러.

3. Probrammer
 => Parallel - STK200+/300(Ponyprog2000용으로 많이 사용).
 => Serial - STK500/AVRISP(AVR STUDIO), AVRprog, ATJTAGICE 외.
 => USB - AVRISP mk2(AVR STUDIO), USBISP 외. 

 4. Emulator & Simulator
 => Emulator - ATJTAGICE, ATJTAGICE mkII, ATICE10/200/30/40/50 외
 => Simulator - AVR STUDIO3, AVR STUDIO4, IAR C-SPY Debugger