PIC mikrovezrlk Mersich Andrs mersichmit bme hu Ajnlott
PIC mikrovezérlők Mersich András mersich@mit. bme. hu Ajánlott irodalom: • www. microchip. com • http: //www. mit. bme. hu/oktatas/targyak/vimm 4133/jegyzet/gkp 12. pdf • Kónya László: PIC mikrovezérlők alkalmazástechnikája
A PIC mikrovezérlő család
Architektúra alapok Harvard architektúra: program és adatmemória külön 12+ bites instruction és 8 bites data 12+ bit instr. single-word instr. RISC Ortogonális utasításkészlet: minden regiszterre ugyanaz végezhető 1 program utasítás = 2 utasítás ciklus (fetch+execute) = 4 órajel Pipeline: minden utasítás (kivéve ugrás) egy utasításciklus alatt
Memória szervezés Program memória • Csak egyetlen interrupt vektor (PIC 18 alatt), az ISR-nek kell eldöntenie, mi okozta. • Az IT flag akkor is beáll, ha az IT nincs engedélyezve!!! Adat memória
Portok A WR-RD nem ugyanarra vonatkozik. Íráskor a PORT latchbe írunk, míg olvasáskor a láb állapotát olvassuk vissza. A kettő megegyezik, ha a port kimenet, egyébként nem biztos. A bitműveletek mind READ-MODIFY-WRITE jellegűek (BCF, BSF). Előbb olvassa mind a 8 bitet, aztán elvégzi az adott bit módosítását, majd a teljes 8 bitet visszaírja. Mellékhatás lehetséges, pl. : PORTB=11100000 TRISB =10100000 (be, ki, ki, …) a bemeneti lábak állapota =1 x 0 xxxxx BCF PORTB, 7 utasítás hatása: read port=1100000 clr bit 6 =1000000 write port=1000000 (bit 5 nullázódott)
Baseline flash PIC Általános tulajdonságok: • flash program memória • baseline core: 33 db 12 bites utasítás, 2 rétegű HW stack • low power (100 n. A) sleep current • 25 m. A source/sink current I/O • 8 bites timer (TMR 0) • watchdog timer (WDT) • In Circuit Serial Programming (ICSP) • Short Device Reset Timer, 1. 125 ms (DRT): csak PIC 10 F 220/222, PIC 12 F 510 és PIC 16 F 506
Baseline flash PICs
Baseline Architecture
Unique baseline PIC applications • „Electronic glue” Bug fixes and last-minute changes (signal inversion, timing delays, …) to avoid costly and time-consuming silicon redesign. • Logic control Delays, smart gates, signal conditioning, simple state machines, encoders/decoders and peripheral logic functions • Mechatronics Replace traditional mechanical functions: smart switches, mode selectors, remote I/Os, timers, LED flashers • Waveform generation • Intelligent disposable electronics Blood sugar / drug tester, package monitoring, property identification
Mid-range flash PIC Általános tulajdonságok: • flash program memória • mid-range core: 35 db 14 bites utasítás, 8 rétegű HW stack • low power (100 n. A) sleep current • 25 m. A source/sink current I/O • 1 db 16 bites timer (TMR 1) • 2 db 8 bites timer (TMR 0/2) • watchdog timer (WDT) • hardware interrupt • In Circuit Serial Programming (ICSP)
Mid-range flash PICs ECCP: Enhanced Capture/Compare/PWM
PIC 16 F 873 block diagram
PIC 16 F 877 register file 8 bites data memory RAM Lényeges: Indirect addr. (INDF), FSR STATUS PCL, PCLATH PORTA, TRISA
Status register Address: 03 h, 83 h, 103 h, 183 h Nincs negative és overflow flag
Register bank select RAM törlése 20 h-2 Fh indirekt címzéssel:
PIC 16 F 877 program memória 8 szintű HW stack Egyetlen interrupt vektor Program memória 2 k-s pageekben (11 bit)
Program memory paging Table read, computed goto: ha túllépünk 256 -on, PCLATH-et növelni! CALL, GOTO: PCLATH! RETURN, RETFIE: teljes 13 bit stackről Page 1 -ben lévő subrutin hívása page 0 -ból:
Stack • 8 szintű, 13 bites HW stack • stack pointer nem írható és nem olvasható • CALL és interrupt hatására PC PUSH • RETURN, RETLW, RETFIE hatására PC POP • cirkuláris buffer, NINCS stack overflow flag • nincs általános PUSH, POP utasítás
Instruction format 7 bit file reg. addr. : regiszter bank mérete 128 byte pl. : INCF FSR, f pl. : BCF PORTB, 7 Regiszternek direkt nem adható érték, csak W-n keresztül. pl. : MOVLW 0 x 13 11 bit goto: 2 k program memory page
PIC 18 Általános tulajdonságok: • 10 -16 MIPS, 128 kbyte program memória, 18 -100 pin • 16 bites program utasítások • self programming flash • 2 szintű IT: high/low priority • széles integrált periféria választék Integrated full-speed USB 2. 0 pl. PIC 18 F 4550 és PIC 18 F 4450 3 V general purpose portfolio PIC 18 Fxx. J 1 x Integrated ethernet microcontroller pl. PIC 18 F 97 J 60
Programozás MPLAB ICD 2 In-circuit debugger/ programmer In-circuit Serial Programming (ICSP): MPLAB REAL ICETM In-circuit emulation system MCLR=13 V !!! MPLAB PM 3 Device programmer Low voltage ICSP: RB 3/PGM pin dedikált Free ICSP: ICProg
Microchip vagy Atmel? több regiszter bank nem kell bankolni csak 1 interrupt vektor minden interrupt-forrásnak saját vektor HW stack SW stack programozáskor MCLR = 13 V simple ICSP alkalmazásra optimalizált széles paletta univerzális felépítás GCC nem támogatja Microchip C free, open source C compiler GCC, Win. AVR olcsóbb OTP memória drágább iparban elterjedtebb iparban kevésbé alkalmazott
16 -bites mikrokontrollerek (MCU) PIC 24 F: highly cost-effective PIC 24 H: highest performance Általános tulajdonságok: • 16 -bites módosított Harvard RISC architektúra • tápfeszültség: 3 -3. 6 V • műveleti sebesség: 16 MIPS (PIC 24 F), 40 MIPS (PIC 24 H) • flexibilis interrupt szerkezet, processzor exception és software trap • kommunikációs modulok: SPI, I 2 C, UART, CAN • timerek • real time clock & calendar (RTCC) • ADC • JTAG, ICSP, in-circuit emulation • Code. Guard. TM • RTOS: CMX-RTX: preemptive, multitasking OS CMX-Tiny+ CMX-Scheduler: free
PIC 24 H blokk diagram • 16 bites adat • 71 db 24 bites utasítás • software stack • 16 x 16 szorzás • 16/16 és 32/16 osztás • DMA • flexibilis és determinisztikus IT (latency 5 ciklus) • A+B=C egyetlen ciklusban
16 -bit Digital Signal Controllers (DSC) ds. PIC 30: versatile, 5 V, 30 MIPS ds. PIC 33 F: high performance, cost-effective, 3. 3 V, 40 MIPS ds. PICworks. TM Data Analysis and DSP Software Digital Filter Design Tool Noise Suppression Library Acoustic Echo Cancellation Library TCP/IP Protocol Stack Soft Modem Libraries Encryption Libraries FAT 16 File System Motor Control Application Software
ds. PIC 33 F blokk diagram • 16 bites adat • 83 db 24 bites utasítás • software stack • 2 db 40 bites akkumulátor • 16 x 16 szorzás • 16/16 és 32/16 osztás • single-cycle multiply and accumulate (MAC) • flexibilis és determinisztikus IT (latency 5 ciklus) • DMA
PIC 33 F DSP engine • 17 -bit x 17 -bit multiplier • barrel shifter • 40 -bit adder/subtracter • 2 accumulators
Tipikus DSP feladatok FIR szűrő, konvolúció (súlyozott mozgó átlag): FFT:
Code. Guard. TM Egy processzor erőforrásainak (memória, IT, perifériák) biztonságos megosztása különböző felhasználók között. IP: Intellectual Property ODM/OEM: Original Device/Equipment Manufacturer VAR: Value-Added Reseller
- Slides: 29