MicroControllori PIC

March 8, 2023 | Author: Anonymous | Category: N/A
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF