46
SEM tanfolyam 4. előadás ATMEL AVR mikrokontroller család hardver-felépítése

SEM tanfolyam 4. előadás

  • Upload
    anika

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

SEM tanfolyam 4. előadás. ATMEL AVR mikrokontroller család hardver-felépítése. Mi az mikrokontroller?. Programozható eszköz, melyet program által vezérelhetünk. Mitől több egy uC egy CPU-tól?. memória: flash és eprom interrupt kezelő I/O portok - PowerPoint PPT Presentation

Citation preview

SEM tanfolyam4. előadás

ATMEL AVR mikrokontroller család hardver-felépítése

Mi az mikrokontroller?

Programozható eszköz, melyet program által vezérelhetünk.

Mitől több egy uC egy CPU-tól?

• memória: flash és eprom• interrupt kezelő• I/O portok• kommunikációs interfészek: I2C, SPI,

UART, USB, CAN…• perifériák: időzítő, számláló, PWM,

watchdog• órajel generátor• ADC, DAC• program/debug support

Mikrokontroller gyártók

• ARM (32bit)• Atmel: AVR(8bit), AVR32, AT91SAM(32bit)• Microchip: PIC(8bit), dsPIC(16bit), PIC32• Cypress Semiconductor: PSoC• Freescale: Coldfire(32bit), SO8• Intel 8051(8bit)• TI: MSP430(16bit)• Hitachi• NXP• STMicroelectronics• Toshiba

Milyen AVR core családok léteznek?

• tinyAVR — the ATtiny series – 0.5–8 kB program memory – 6–32-pin package – Limited peripheral set

• megaAVR — the ATmega series – 4–256 kB program memory – 28–100-pin package – Extended instruction set (Multiply instructions and instructions for handling larger program

memories) – Extensive peripheral set

• XMEGA — the ATxmega series – 16–384 kB program memory – 44–64–100-pin package (A4, A3, A1) – Extended performance features, such as DMA, "Event System", and cryptography support. – Extensive peripheral set with DACs

• Application-specific AVR – megaAVRs with special features not found on the other members of the AVR family, such

as LCD controller, USB controller, advanced PWM, CAN etc. • FPSLIC™ (AVR with FPGA)

– FPGA 5K to 40K gates – SRAM for the AVR program code, unlike all other AVRs – AVR core can run at up to 50 MHz

• 32-bit AVRs

Egy általános AVR felépítése

AVR programozási lehetőségei

• SPI: csak programozásra használható; mindegyik AVR típushoz használható

• JTAG: debugger, amely csak ATmega16-tól érhető el

uC PORT lábak

• I/O láb, PORT egyik bitjeként

• Interfész kivezetéseként

uC interrupt

• Esemény hatására jön létre

• Prioritás van az interruptok közt

• Belső és külső interruptok

uC Timer egység

• Számláló kiegészítő regiszterekkel és vezérlő logikával

• 8/16 bites timer

• Felhasználása:

• Egyszerű számláló• Frekvencia generátor• Külső esemény számláló• Órajel osztó• PWM

uC timer egységconfig

• Clk prescaler

• Interrupt flags: TIMSK, TIFR

• Control registers: TCCR1A, TCCR1B, TCCR2

• Special function register: SFIOR

uC Watchdog

• Watchdog timer

• Túlcsorduláskor reset impulzust generál

• Kifagyás elleni védelem

Serial Peripheral Interface(SPI)Bus

Fizikai felépítés

Serial Peripheral Interface(SPI)Bus

Időzítési diagram

Serial Peripheral Interface(SPI)Bus

1 Master – 1 Slave

Serial Peripheral Interface(SPI)Bus

1 Master – Multi Slave

Serial Peripheral Interface(SPI)Bus

Megvalósítás AVR-ben

Serial Peripheral Interface(SPI)Bus

Használata AVR programozásban

Serial Peripheral Interface(SPI)Bus

Használata AVR programozásban

Universal Asynchronous Receiver Transmitter(UART)

Kommunikáció felépítése

Fizikai felépítés

Universal Asynchronous Receiver Transmitter(UART)

Felhasználási lehetőségek

Universal Asynchronous Receiver Transmitter(UART)

Felhasználási példa (RS232)

Universal Asynchronous Receiver Transmitter(UART)

Megvalósítás AVR-ben

Universal Asynchronous Receiver Transmitter(UART)

Használata AVR programozásban

Universal Asynchronous Receiver Transmitter(UART)

Használata AVR programozásban

Universal Asynchronous Receiver Transmitter(UART)

Inter-Integrated Circuit(I²C) Bus

Felépítése

Fizikai felépítés

Inter-Integrated Circuit(I²C) Bus

Protocol

Inter-Integrated Circuit(I²C) Bus

Felhasználás

- hőmérséklet mérés - memória illesztés - általános kommunikáció - ADC/DAC - RTC

Inter-Integrated Circuit(I²C) Bus

Használata AVR programozásban

Inter-Integrated Circuit(I²C) Bus

Használata AVR programozásban

Adatlap 170.oldal (ATmega8)

Inter-Integrated Circuit(I²C) Bus

Pulse Width Modulation (PWM)

Elvi működés

Megvalósítás

Pulse Width Modulation (PWM)

Felhasználás

- motor vezérlés - LED vezérlés: fényerő szabályzás - feszültségszabályozás

Pulse Width Modulation (PWM)

Használata AVR programozásban

Pulse Width Modulation (PWM)

Használata AVR programozásban

#define PULSE_WIDTH 0x40void pwm_start(){

OCR1AL = PULSE_WIDTH; &nbsp; //Load Pulse widthOCR1AH = 0;DDRD |= (1<<5); //PortD.5 as o/pTCCR1A = 0x81; //8-bit, Non-Inverted PWMTCCR1B = 1; //Start PWM

}

Pulse Width Modulation (PWM)

A/D és D/A konverterek

link

Kvantálási folyamat

Kvantálási hiba

DAC blokkvázlata

DAC típusok

• R/2R létra negatív visszacsatolású műveleti erősítővel

• PWM D/A átalakító

ADC típusok

• Integráló A/D

• Dual Slope A/D

• Szukcesszív Approximációs(SAR) A/D

• Delta/szigma A/D

Közvetlen A/D

Kompenzációs A/D

Szukcesszív approximácis A/D