1 / 27

Overview of AVR

Overview of AVR. 2010, 7, 16 조 승훈. Reference : 마이크로컨트롤러 (AVR 편 ), 한백전자 임베디드 마이크로프로세서 AVR 프로그래밍 실전 , 네로테크. Index. Introduction ATmega128 의 구조 전체 구조 핀 구조 포트 구조 코어 구조. Intro. 마이크로 프로세서와 마이크로 컨트롤러 마이크로 프로세서 (Micro-Processor) 컴퓨터의 프로세서를 단일 IC 칩에 집적시켜 만든 반도체 소자

Download Presentation

Overview of AVR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview of AVR 2010, 7, 16 조 승훈 Reference : 마이크로컨트롤러(AVR편), 한백전자 임베디드 마이크로프로세서 AVR 프로그래밍 실전 ,네로테크

  2. Index • Introduction • ATmega128의 구조 • 전체 구조 • 핀 구조 • 포트 구조 • 코어 구조

  3. Intro • 마이크로 프로세서와 마이크로 컨트롤러 • 마이크로 프로세서 (Micro-Processor) • 컴퓨터의 프로세서를 단일 IC칩에 집적시켜 만든 반도체 소자 • 단순히 프로세서 또는 MPU (Micro-Processing Unit)라 부름 • 1971년 Intel사에서 세계 최초로 마이크로 프로세서 개발 • 마이크로 컨트롤러 (Micro-Controller) • 지능화를 위해 단일 칩 내에 CPU코어와함께 한정된 용량의 주기억장치(Rom, RAM)와 입출력 인터페이스 등을 내장 • 칩 하나만으로 기본적인 컴퓨터의 기능 수행 • 최소의 부품으로 간단한 컴퓨터 구성 가능, 시스템의 단순화 및 저비용화 가능 • 범용 목적보다는 기기제어용으로 주로 사용 • 융통성 및 확장성 용이 • 신뢰성 향상 (부품 수가 적어 시스템 단순, 낮은 고장률, 보수 편리)

  4. Intro • AVR 마이크로 컨트롤러 • ATMEL사가 1997년 처음 발표한 8bit 제어용 마이크로 프로세서 • Alf-EgilBogen과 VegardWollan의 진보된 RISC 기술을 기반되었다고 하여 첫 글자를 따서 AVR이라 명명 (Advanced Virtual RISC의 약자라는 의견도 있음) • 유사 RISC구조 (RISC구조를 따르나, 명령어의 수가 많음) • 많은 장점 때문에 상대적으로 늦게 출시되었음에도 8051이나 PIC를 능가하는 인기를 단시간 내에 얻음

  5. Intro • AVR 마이크로 컨트롤러의 특징 • RISC (Reduced Instruction Set Code) 구조 • 하버드 아키텍처 (Harvard Architecture) • 32개의 8bit 범용 레지스터를 가지는 레지스터 중심 구조 • CMOD 기술 채택으로 소비전력이 매우 적고 동작전압이 1.8-5.5V로 큼 • 다양한 동작 모드를 제공해 저전력 동작 지원 • 1K-256Kbyte 플래시롬, EEPROM 및 SRAM이 작은 칩 하나에 내장 • 유사 RISC 구조와 32개의 레지스터 사용과 고집적으로 1MHz당 1MIPS의 속도 • 8핀에서 100핀의 외형과 이에 상응하는 메모리와 가능을 갖는 다양한 시리즈 존재 • 모델에 따라 매우 다양한 I/O 기능을 사용 가능 • 외부 시스템 버스를 이용하여 데이터 메모리 또는 I/O 디바이스를 확장 가능 • 다양한 인터럽트 소스와 처리 기능 보유 • 무료 개발 도구인 AVR Studio 등, 값싼 개발 도구 제공 • ISP (In-System Program) 기능 제공

  6. Intro • ATmega128의 특징 • Atmel사의 8bit 마이크로 컨트롤러 • 고성능의 AVR Mega 시리즈 중에서도 가장 고성능 대용양의 마이크로 컨트롤러 • 프로세서 코어 • 133개의 명령어 • 32개의 8-bit 범용 레지스터 • 16MHz에서 16MIPS의 명령 처리 속도 • 메모리 • 128KB 프로그램 플래시 메모리 (10,000번 쓰기 / 삭제 가능) • 4KB EEPROM (100,000번 쓰기 / 삭제 가능) • 4KB SRAM • 64KB 외부 메모리 인터페이스

  7. Intro • ATmega128 마이크로 컨트롤러 코어 • Power-on Reset, 안정된 전원공급을 위한 Programmable Brown-out Detection • 내부 RC 오실레이터 • 외부와 내부의 인터럽트 소스 • 6개의 Sleep 모드 • 소프트웨어적으로 선택 가능한 클럭 주파수 • 전체 풀업Disable *I/O와 Package • 프로그램 가능한 53개의 I/O • 64-lead TQF (Thin Quad flat) / 64-pad MLF *Operation Voltage • 2.7 ~ 5.5V : ATmega128L *속도 – 0 ~ 8 MHz : ATmega128L

  8. Intro • ATmega128 주변장치 • 2개의 8비트 타이머/카운터, 2개의 16비트 타이머/카운터 • 2개의 8bit PWM (Pulse Width Modulation) 채널 • 6개의 프로그램 가능한 2~16bit PWM 채널 • 분리된 프리스케일러, 비교모드, 캡쳐모드를 가진 2개의 확장 16비트 타이머/카운터 • 분리 된 오실레이터에 의한 Real Time Count • Output Compare Modulator • 8채널, 10bit ADC • Two-wire Serial 인터페이스 • 두 개의 시리얼 UART • Master/Slave SPI (Serial Peripheral Interface) • 프로그램 가능 한 Watchdog 타이머 • 아날로그 비교기

  9. ATmega128의 내부 구조 PORT F PORT C PORT A Osc ADC PC WDT SP SRAM Flash MCUCR GPR Timer Interrupt ALU EEPROM Status SPI UART0 TWI UART1 PORT E PORT B PORT D PORT G

  10. ATmega128의 내부 구조 • 내부 파이프라인 처리 동작 • 1사이클에 처리되는 ALU 동작

  11. ATmega128 핀 구조 ADC PORT F • < ATmega128 패키지 > • 총 64pin • TQFP 또는 MLF • (Thin Quad Flat Pack) • 7개의 범용 입축력 포트 Ext. Input PORT A • <제어 신호> • RESET(핀 20) : 시스템 리셋 • XTAL1, 2 (핀 24, 23) • 발진용 증폭기 입력 및 출력 단자 • Vcc (핀21, 52) • 전원 입력 단자 • GND (핀22, 53, 63) • 그라운드 입력 단자 • AVCC (핀 64) • AD변환기 및 포트F에 대한 전압 공급 • AREF (핀 62) : ADC 참고 전압 • PEN(핀1) Programming Enable PORT E PORT C PORT B PORT G PORT D

  12. ATmega128 포트 구조 • I/O 포트의 기본 구조 1 • 6개의 8비트 양방향 병렬 I/O포트 (A ~ F) 와 1개의 5비트 병렬 I/O포트(G) • H상태의 source drive 와 L상태의 sink drive 능력이 대칭적 • Read-Modify-Write 동작 가능(A ~ E) • 최대 구동전류 (sinks up to 40mA) • 풀업저항의 사용 여부를 설정(Pinwise Controlled Pull-Up Resistors) • 데이터 입출력방향을 설정(Pinwise Controlled Data Direction) • Three Control/Status Bits per Bit/Pin

  13. ATmega128 포트 구조 • I/O 포트의 기본 구조 2 • 각 포트는 3개의 I/O 레지스터 영역으로 구성 • DDRx (Data Direction Register) : 입출력의 방향을 설정 • PORTx (Data Register) : 데이터 출력에 해당하는 PORTx레지스터 • PINx (Port Input Pins Address) : 포트 입력 핀에 해당하는 PINx레지스터 • DDR, PORT는 읽고 쓰는 것이 가능, PIN은 읽는 것만 가능한 레지스터 • I/O포트의 풀업저항은SFIOR 레지스터의 PUD(Pull-Up Disable) bit를 1로 셋하여 금지, 내부 풀업 저항을 사용하려면 PUD bit를 0으로 설정 (DDRx=0, PORTx=1) • 풀업저항(Pull-Up Resistor) • 회로가 연결되어 있지 않으면 잡음 등 불안정한 값이 읽어질 수 있기 때문에 스위치와 입력 핀 사이에 충분히 큰 저항을 두고 VCC와 연결하여 명시적으로 HIGH값을 주는 저항

  14. ATmega128 포트 구조 • 범용 입출력 신호 • 포트A-F는 8비트 양방향 입출력 단자 • 포트G는 5비트 양방향 입출력 단자 • 포트A (PA7~PA0:핀44-51) : 외부메모리를 둘 경우 주소버스(A7-A0)와 데이터버스(D7-D0)로 사용 • 포트B (PB7~PB0:핀10-17) : SPI용 단자 혹은 PWM단자로도 사용 • 포트C (PC7~PC0:핀35-42) : 외부메모리를 둘 경우 주소버스(A15-A8)로 사용 • 포트D (PD7~PD0:핀25-32) : 타이머용 단자 혹은 외부 인터럽트용 단자로 사용 • 포트E (PE7~OE0:핀2-9) : 타이머용 단자, 외부인터럽트, 아날로그 비교기, USART용 단자로 사용 • 포트F (PF7~PF0:핀54-61) : AD변환기 혹은 JTAG 인터페이스용 단자로도 사용 • 포트G (PG4~PG0:핀19, 18,43, 34,33) : 외부 메모리 스트로브 신호, RTC 타이머용 발진기 단자로 사용

  15. I/O 포트의 부수적 동작 • 포트 A • 외부메모리를 인터페이스 위한 데이터버스 및 어드레스 버스의 하위바이트로 동작 • 어드레스 버스를 분리하는데 ALE(Address Latch Enable)신호를 사용

  16. I/O 포트의 부수적 동작 • 포트 B • 타이머 / 카운터나 SPI 기능을 위한 신호들로 동작

  17. I/O 포트의 부수적 동작 • 포트 C • 외부 메모리를 인터페이스하기 위한 어드레스 버스의 상위 바이트로 동작

  18. I/O 포트의 부수적 동작 • 포트 D • 타이머 / 카운터나 외부 인터럽트 또는 USART1, TWI 직렬통신 포트 기능을 위한 신호들로 동작

  19. I/O 포트의 부수적 동작 • 포트 E • 타이머 / 카운터나 외부인터럽트 또는 USART0 직렬통신포트, 아날로그 비교기, ISP 기능을 위한 신호로 동작

  20. I/O 포트의 부수적 동작 • 포트 G • PG4 ~ PG0의 5비트만 사용되며 부수적인 기능은 외부메모리 인터페이스나 타이머/카운터로 동작

  21. ATmega128의 핀 구조

  22. ATmega128의 핀 구조

  23. ATmega128의 핀 구조

  24. ATmega128의 핀 구조

  25. ATmega128의 핀 구조

  26. ATmega128의 핀 구조

  27. ATmega128 코어 구조 Data Memory Program Memory Control Register

More Related