MicroControllori PIC
March 8, 2023 | Author: Anonymous | Category: N/A
Short Description
Download MicroControllori PIC...
Description
MicroControllori ZAPPA F.
– AC ACER ERBI BI F.
Micropro Micr oproces cessore sore - Mic Microc rocontr ontrollo ollore re
• 19 1971 71:: IN INTE TELL 4400 0044 - pr prim imoo m mic icro roppro roce cess ssoore si sing ngle le-c -chi hipp a 4 bbitit • 19 1972 72:: IN INTE TELL 8800 0088 - pr prim imoo mi micr crop opro roce cess ssor oree a 8 bit bit ((14 14 bit bit aadd ddre ress ss bus) bus) Consisteva Consis teva di una ALU ((Arithm Arithmetic etic & Logic Logical al Unit) per svolgere svolgere operazioni operazioni controllare il flusso di dati e indirizzi i ndirizzi tra la ALU e i circuiti esterni di su supporto pporto .
• 19 1975 75:: INT INTEL EL 80 8048 48 - pr prim imoo ““co comp mput uter er sys syste tem m oonn a ch chip ip”, ”, o ““mi micro croco cont ntro rollo llore re”, ”, con RAM e ROM integrate sul chip. Ai tempi venivano venduto in due varianti: con memoria programmi in EPROM (più costosi) e con memoria programmi PROM.
•
-
Protot Pro totipaz ipazioni ioni più rap rapide ide e InIn-Sys System tem Pro Progra gramm mming ing (ISP) (ISP)
Mi
t ll
H d
Fi
d S ft
2
D i
Micropro oproces cessore sore - Mic Microc rocontr ontrollo ollore re Micr
• di Il Microprocessore richiede de sempr sempre delledialogare unit unitàà estern esterne e - memo memorie, rie, gest gestori ori segnali e dispositivirichie periferici per epoter e interagire con l'esterno. • chip il processore, la memoria permanente, la memoria , volatile e i canali (pin) di I/O, oltre ad eventuali altri blocchi specializzati.
Caratteristica
Microcontrollore
Microprocessore
Velocità massima di clock
200Mhz
4GHz
inima dissipata in Watt Potenza m (in stato di elaborazione[2]) Prezzo minimo per singola unità in USD Pezzi venduti annualmente (in milioni)
0.001
50
0.5 11,000
50 1,000
Mi
t ll
ST6x
H d
Fi
d S ft
D i
3
Mi
t ll
H d
Fi
d S ft
D i
Microcontrollori PIC
4
Mi
t ll
H d
Fi
16F84
d S ft
5
D i
HIGH PERFORMANCE RISC CPU FEATURES
CMOS ENHANCED FLASH/EEPROM
• Only 35 single word instructions to learn • Operating Operating spe speed: ed: DC - 20 MHz clo clock ck input • 1024 words of program prog ram memory • 68 bytes of Data RAM • 64 bytes of Data EEPROM
• Low power po wer,, high speed technology • Fully static design • Wide operating voltage range: - Commer Commercial: cial: 2.0V to 5. 5.5V 5V
14-bitwide instruction widedata •• 8-bit bytes words • 15 Special Function Hardware registers • Eight-level deep hardware stack • Direct, indirect and relative addressing modes • Four interrupt sources: - Exter External nal RB0/I RB0/INT NT pin - TM TMR0 R0 tim timer er overfl overflow ow - POR PORTB interrup interrupt-ont-on-chan change ge
• 13 I/O pins with individual direction control • High current sink/source for direct LED drive - 25 mA sink max. max. per per pin - 25 mA source max. pper er pin •programmable TMR0: 8-bit timer/counter prescaler with 8-bit
TECHNOLOGY
Industrial: rial: 2.0V to 55.5V .5V •- Indust Low power consumption: - < 2 mA typical @ 5V 5V,, 4 MHz - 15 mA typical typical @ 2V 2V,, 32 kHz - < 0.5 mA typical standby current @ 2V SPECIAL MCU FEATURES FEATURES
• In-Circuit Serial Programming™ (ICSP™) • Power-on Reset, Power-up Timer, Oscillator Start-up Timer • • Code protection • Power saving SLEEP mode • Selectable oscillator options
Mi
t ll
H d
16F84A
Fi
d S ft
6
D i
18-pin Enhanced FLASH/EEPROM 8-Bit Microcontroller
Mi
t ll
H d
16F877A
Fi
d S ft
7
D i
•ADC •USART •TIMERs •Data EEPROM
Microcontrollers Hard are Firm are and Soft are Design
PIC 16: blocchi
8
9
Microcontrollers Hardware Firmware and Software Design
Program Memory
• Il µC PIC PIC può può so solam lament entee eeseg seguir uiree le iistr struzi uzioni oni memorizzate in queste locazioni. Non può in alcun modo leggere, scrivere o cancellare quanto in esse contenuto.
• La prima prima lo locaz cazion ionee di memo memoria, ria, all'ind all'indiri irizzo zzo zzero ero,, deve contenere la prima istruzione che il PIC dovrà eseguire al reset (o all’accensione) e per questo viene nominata Reset Vector. • Nel caso caso ssii util utilizz izzino ino gl glii int interr errupt upt,, la lo locaz cazion ionee all’indirizzo 0004h deve contenere la prima istruzione della routine di gestione Questa locazione viene nominatadell’interupt. Interrupt Vector . Quando un interrupt interrompe il programma principale, l’esecuzione riparte da questa locazione di memoria.
10
Microcontrollers Hardware Firmware and Software Design
Register File
• Illocazioni R REG EGIS ISTE TER FILE FILE è RAM un un'i'ins nsie ieme me di ovvero di R memoria memorie con cui è possibile leggere e modificare il contenuto. • Con Contra trariam riament entee aalla lla PRO PROGRA GRAM M ME MEMOR MORY Y perr e suo pe suo cont conten enut utoo quando il PIC viene spento per cui è necessario re-inizializzare i valori di tutte le sue locazioni prima di poterla usare. • Dat Datee le ssue ue ccarat aratter terist istich ichee ilil REG REGIST ISTER ER FILE è la memoria normalmente utilizzata per memorizzare le variabili di programma, ovvero tutti quei valori il cui contenuto varia durante l'esecuzione.
11
Microcontrollers Hardware Firmware and Software Design
Register File
• Alc Alcune une loc locazi azioni oni del che REG REGIST ER F FILE ILE in particolare quelle siISTER trov trovano ano aglied indirizzi più bassi (special function register) vengono usate per il cont controllo rollo dell'hardware del PIC. •
orma mente a ocaz one e FILE a cui accedere è contenuta nella parola di codice (14 bit) che deve anche contenere al suo interno l’operazione da svolgere su quella determinata locazione. La limitata dimensione della parola di codice porta a un limitato range di indirizzamento nel REGISTER FILE . Per ovviare a tal problema si è suddiviso il REGISTER FILE in banchi.
• contenuto Pos Posso so ind indiri irizza zzare re sol soltan tanto to lo sspaz pazio io nel banco corrente. • Po Poss ssoo cam cambi biar aree il bban anco co ccorr orren ente te modificando alcuni bit contenuti in un registro particolare del REGISTER FILE.
Microcontrollers Hardware Firmware and Software Design
Instruction Set
• The PIC1 PIC166 instruction instruction set set is highly highly orthogonal orthogonal and is compris comprised ed of three three basic categories: Byte-oriented operations
Bit-oriented operations Literal and control operations
instruction type and one or more operands which further specify the operation of the instruction.
12
Microcontrollers Hardware Firmware and Software Design
Instruction Set
13
Microcontrollers Hardware Firmware and Software Design
Instruction Set
14
Microcontrollers Hardware Firmware and Software Design
Esecuzione delle istruzioni
• La iter di esecuzi esecuzione one di una singola singola istruzi istruzione one è divisa divisa in varie fa fasi si e richied richiedee un tempo total totalee per l’esecuzione pari a 8 periodi di clock (in particolare 4 per il FETCH dell’istruzione e 4 per l’EXECUTE). • Per velocizare velocizare l’ese l’esecuzion cuzionee del codi codice ce i microc microcontrol ontrollori lori P PIC IC utili utilizzano zzano un’ un’archit architettur etturaa Harvard al posto della classica Von-Neumann. L’architettura L’architettura Harvard presenta memorie separate per dati e programma che vengono indirizzati tramite due bus distinti. • Ques Questa ta st stru rutt ttura ura pe perm rmet ette te,, nella maggioranza dei casi, di ESEGUIRE una istruzione mentre si fa il e s ruz one success va. ra a uunna s ru ura po a ue ve c e perme e ottenere un raddoppio del rate istruzioni/secondo. istruzioni/secondo.
15
16
Microcontrollers Hardware Firmware and Software Design
Architetture
von-Neumann Architecture
Esempio: Esempi o: operaz operazion ionii necess necessarie arie per in incr crem emen enta tare re il valo valore re di un rreg egis istr tro. o. 1. Leggere la parte di programma che specifica ’ “ registro”) 2. Leggere ancora per conoscere il dato sul quale operar ope raree (ad ese esempi mpioo l’indir l’indirizz izzoo del rregi egistr stroo SUM) 3. Scrive ivere in memoria il risu isultato dellll’o ’opperazione
(a (add esem esempio pio il valo valore re lett lettoo e inc incre reme ment ntat atoo del del regi re gist stro ro va scri scritt ttoo in mem memor oria ia alla alla loca locazi zion onee del del regist reg istro ro SUM SUM))
Harvard Architecture
• L’istruz ’istruzion ionee e il dat datoo poss possono ono eesse ssere re le letti tti as assie sieme. me. • In un unaa ar archit chitett ettura ura V Vonon-Neu Neuman mannn non posso posso conoscere a priori quanti byte occuperà il programma. Nella maggior parte dei casi 1 istruzione 2 locazioni di memoria (istruzione + dato). Nell’architettura Harvard 1 istruzione contiene sia istruzione che dato: 1 word 1 istruzione.
17
Microcontrollers Hardware Firmware and Software Design
Istruzioni che impiegano 2 cicli
• La pipeline pipeline non funziona funziona nnel el caso in cui iill risultato risultato dell’istru dell’istruzione zione ddeve eve ess essere ere quel quello lo di modif modificare icare iill flusso di esecuzione del programma, ovvero quando l’istruzione modifica il Program Counter. • È il caso in cui l’istruz l’istruzione ione dec decide ide quale ssarà arà la pross prossima ima is istruzi truzione one da ese eseguire, guire, come ad es esempio empio CALL, GOTO . CALL,
Il
fetch dell’istruzione 4 viene eseguito durante l’esecuzione dell’istruzione 3.
. Il risultato del fetch è inutile dato che la Call carica nel PC l’indirizzo di una diversa successiva istruzione.
’
Nel
TCY4una nonNOP). si esegue alcuna istruzione (esegue
L’esecuzione del firmware
18
Microcontrollers Hardware Firmware and Software Design
Istruzioni che impiegano 2 cicli
Le istruzioni (in questa situazione) che durano 2 TCY sono: CALL
Classiche istruzioni di salto o di chiamata di
RETFIE
Sono instruzioni che si utilizzano per tornare nel
GOTO
una routine
RETLW RETURN
co codi dice ce rinc rincigenerica i al alee da una un sub-routine o ada quella di gestione di interrupt
Ci sono invece alcune istruzioni la cui durata dipende dall’esito di un test:
INCFSZ
decrementano un registro. Viene saltata la successiva istruzione se il risultato dell’operazione è 0
BTFSS
un registro. Viene saltata la successiva istruzione a seconda del valore del bit letto.
View more...
Comments