sem tanfolyam 4. előadás
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 PresentationTRANSCRIPT
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
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 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
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
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
#define PULSE_WIDTH 0x40void pwm_start(){
OCR1AL = PULSE_WIDTH; //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)
ADC típusok
• Integráló A/D
• Dual Slope A/D
• Szukcesszív Approximációs(SAR) A/D
• Delta/szigma A/D