Upload
abby
View
71
Download
5
Embed Size (px)
DESCRIPTION
PIC mikrovezérlők. Mersich András [email protected]. Ajánlott irodalom: www.microchip.com http://www.mit.bme.hu/oktatas/targyak/vimm4133/jegyzet/gkp12.pdf Kónya László: PIC mikrovezérlők alkalmazástechnikája. A PIC mikrovezérlő család. Architektúra alapok. - PowerPoint PPT Presentation
Citation preview
PIC mikrovezérlőkPIC mikrovezérlők
Mersich Andrá[email protected]
Ajánlott irodalom:
•www.microchip.com
•http://www.mit.bme.hu/oktatas/targyak/vimm4133/jegyzet/gkp12.pdf
•Kónya László: PIC mikrovezérlők alkalmazástechnikája
A PIC mikrovezérlő család
Harvard architektúra: program és adatmemória külön12+ bites instruction és 8 bites data12+ 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
Architektúra alapok
Memória szervezésProgram memória
Adat memória
•Csak egyetlen interrupt vektor (PIC18 alatt), az ISR-nek kell eldöntenie, mi okozta.
•Az IT flag akkor is beáll, ha az IT nincs engedélyezve!!!
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=11100000TRISB =10100000 (be,ki,be,ki,ki,…)a bemeneti lábak állapota
=1x0xxxxx
BCF PORTB,7 utasítás hatása:read port=1100000clr bit6 =1000000write port=1000000 (bit5 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 (100nA) sleep current
•25mA source/sink current I/O
•8 bites timer (TMR0)
•watchdog timer (WDT)
•In Circuit Serial Programming (ICSP)
•Short Device Reset Timer, 1.125ms (DRT): csak PIC10F220/222, PIC12F510 és PIC16F506
Baseline flash PICs
Baseline Architecture
•Logic controlDelays, smart gates, signal conditioning, simple state machines, encoders/decoders and peripheral logic functions
•MechatronicsReplace traditional mechanical functions: smart switches, mode selectors, remote I/Os, timers, LED flashers
•Waveform generation
•Intelligent disposable electronicsBlood sugar / drug tester, package monitoring, property identification
Unique baseline PIC applications•„Electronic glue”Bug fixes and last-minute changes (signal inversion, timing delays, …) to avoid costly and time-consuming silicon redesign.
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 (100nA) sleep current
•25mA source/sink current I/O
•1 db 16 bites timer (TMR1)
•2 db 8 bites timer (TMR0/2)
•watchdog timer (WDT)
•hardware interrupt
•In Circuit Serial Programming (ICSP)
Mid-rangeflash PICs
ECCP: Enhanced
Capture/Compare/PWM
PIC16F873 block diagram
PIC16F877register file8 bites data memory RAM
Lényeges:
Indirect addr. (INDF), FSRSTATUSPCL, PCLATHPORTA, TRISA
Status register
Address: 03h, 83h, 103h, 183h
Nincs negative és overflow flag
Register bank select
RAM törlése 20h-2Fh indirekt címzéssel:
PIC16F877 program memória
Program memória 2k-s page-ekben (11 bit)
Egyetlen interrupt vektor
8 szintű HW stack
Program memory pagingTable read, computed goto:ha túllépünk 256-on, PCLATH-et növelni!
CALL, GOTO: PCLATH!RETURN, RETFIE: teljes 13 bit stackről
Page1-ben lévő subrutin hívása page0-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 format7 bit file reg. addr.: regiszter bank mérete 128 bytepl.: INCF FSR,f
11 bit goto: 2k program memory page
Regiszternek direkt nem adható érték, csak W-n keresztül.pl.: MOVLW 0x13
pl.: BCF PORTB,7
PIC18Általános tulajdonságok:
•10-16 MIPS, 128kbyte 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ékIntegrated full-speed USB 2.0
pl. PIC18F4550 és PIC18F4450
3V general purpose portfolio
PIC18FxxJ1x
Integrated ethernet microcontroller
pl. PIC18F97J60
ProgramozásMPLAB ICD 2In-circuit debugger/programmer
MPLAB REAL ICETM
In-circuit emulation system
MPLAB PM3Device programmer
In-circuit Serial Programming (ICSP):
MCLR=13V !!!
Low voltage ICSP: RB3/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 = 13V simple ICSP
alkalmazásra optimalizált széles paletta
univerzális felépítás
GCC nem támogatjaMicrochip C
free, open source C compilerGCC, WinAVR
olcsóbbOTP memória
drágább
iparban elterjedtebb iparban kevésbé alkalmazott
16-bites mikrokontrollerek (MCU)PIC24F: highly cost-effective
PIC24H: highest performanceÁltalános tulajdonságok:
•16-bites módosított Harvard RISC architektúra
•tápfeszültség: 3-3.6V
•műveleti sebesség: 16 MIPS (PIC24F), 40 MIPS (PIC24H)
•flexibilis interrupt szerkezet, processzor exception és software trap
•kommunikációs modulok: SPI, I2C, UART, CAN
•timerek
•real time clock & calendar (RTCC)
•ADC
•JTAG, ICSP, in-circuit emulation
•CodeGuardTM
•RTOS: CMX-RTX: preemptive, multitasking OS CMX-Tiny+ CMX-Scheduler: free
PIC24Hblokk diagram
•16 bites adat
•71 db 24 bites utasítás
•software stack
•16x16 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)
dsPIC30: versatile, 5V, 30MIPS
dsPIC33F: high performance, cost-effective, 3.3V, 40MIPS
dsPICworksTM 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
FAT16 File System
Motor Control Application Software
dsPIC33Fblokk diagram
•16 bites adat
•83 db 24 bites utasítás
•software stack
•2 db 40 bites akkumulátor
•16x16 szorzás
•16/16 és 32/16 osztás
•single-cycle multiply and accumulate (MAC)
•flexibilis és determinisztikus IT (latency 5 ciklus)
•DMA
PIC33FDSP 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:
CodeGuardTM
IP: Intellectual Property
ODM/OEM: Original Device/Equipment Manufacturer
VAR: Value-Added Reseller
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.