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 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핀 정도이며 외형이 작음.
=> 내부 발진기를 내장하는 모델도 있음.
=> 대량으로 생산되는 간단한 응용분야에 사용(가격이 낮고 기능이나 성능도 낮음).
=> 핀 수가 8핀에서 28핀 정도이며 외형이 작음.
=> 내부 발진기를 내장하는 모델도 있음.
2. classicAVR
AT90XXXX ( 1 - 8kB )
=> 비교적 큰 512바이트 이하 정도의 EEPROM과 SRAM을 내장.
=> 핀 수가 20핀에서 40핀 정도.
=> 특징이나 장점이 뚜렷하지 않아 시장에서 대부분의 모델 단종됨.
=> 비교적 큰 512바이트 이하 정도의 EEPROM과 SRAM을 내장.
=> 핀 수가 20핀에서 40핀 정도.
=> 특징이나 장점이 뚜렷하지 않아 시장에서 대부분의 모델 단종됨.
3. megaAVR
ATmegaXXX ( 8 - 256kB )
=> 가장 규모가 크고 높은 응용 분야에서 사용(가격이 높고 기능이나 성능도 높음).
=> 핀 수가 28핀에서 100핀 정도.
=> 최근 출시되는 모델들은 20MHz 클럭에서 20MIPS의 명령 처리속도를 가짐.
=> 플래시 메모리의 용량에 따라 모델이 ATmega8, 16, 32, 64, 128, 256 등으로 정착됨.
=> 가장 규모가 크고 높은 응용 분야에서 사용(가격이 높고 기능이나 성능도 높음).
=> 핀 수가 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.
=> 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 컴파일러.
=> 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 외.
=> 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
=> Simulator - AVR STUDIO3, AVR STUDIO4, IAR C-SPY Debugger
'Embedded' 카테고리의 다른 글
ATmega128간의 TWI통신기능 구현하자 - TWI 관련 레지스터(TWCR, TWSR, TWDR, TWAR 등) (Posted by H2K) (1) | 2010.07.09 |
---|---|
ATmega128 datasheet 다운로드 (0) | 2010.06.29 |
ODROID와 AVR MC embedded board와의 연결!! (2) | 2010.05.09 |
ATMEGA128 특징 (0) | 2010.05.09 |
I2C-BUS(=TWI, Inter-IC-BUS) (2) | 2010.05.07 |