Tutorials - PIC

 

I PORT


I PORT

Con il termine PORT si definisce un pin o gruppo di pin del chip a cui sono collegate delle funzioni di ingresso e uscita (Input/Output o I/O).

Per la nomenclatura PIC, l' acronimo GPIO (General Purpose I/O) indica un pin che può assumere, sotto controllo del programma, diverse funzioni di I/O.

La principale di queste funzioni è quella di Input e Output digitali.

E' caratteristica comune dei microcontroller embedded quella di avere più di una funzione assegnabile ad ogni pin.

Dall' immagine a lato si rileva che, esclusi i pin dedicati all' alimentazione (Vdd/Vss), tutti gli altri supportano da due a quattro diverse periferiche. 

Questo, che a prima vista può apparire molto complicato, è uno dei punti su cui trova maggiore difficoltà chi si avvicina le prime volte a questi microntroller. 
Ma non è così. Infatti basta considerare le varie funzioni  esclusivamente una alla volta, senza soffermarsi su quelle che non interessano l' applicazione.

In sostanza, questa abbondanza di funzioni corrisponde ad una serie di POSSIBILITA', di potenzialità che sono disponibili e che possono essere usate dove e quando servono. Altrimenti resta lì in attesa. Con un esempio, è come avere disponibile un coltellino svizzero multiuso: ben complicato, con molte e molte lame e funzioni, ma di tutte se ne useranno in generale poche per volta.

Quindi non c'è assolutamente da preoccuparsi per questa selva di funzioni, nè tanto meno per le centinaia di pagine dei fogli dati: è ben possibile che si impieghi un PIC da anni senza aver mai avuto occasione di utilizzare la PSP o l' USART in trasmissione sincrona o I2C in modo slave.

Comunque, abbiamo detto che la funzione principale e più semplice è quella di IO digitale o GPIO (General Purpose IO).

Poichè il micro lavora su dati dell' ampiezza di 8 bit, logicamente ne consegue che anche  i pin siano raggruppati in blocchi di 8

Questa struttura viene identificata con lettere maiuscole, formando:

  • PORTA

  • PORTB

  • PORTC

  • PORTD

  • PORTE

  • ecc.

a seconda della disponibilità di pin del processore ( i PIC hanno packages che variano da 6 a 100 pin).

In generale, i package a 28 pin dispongono delle prime 3; package a 40 pin hanno il PORTD e package con un numero maggiore di pin dispongono di più GPIO.

Il raggruppamento logico dei GPIO in moduli di 8 corrisponde all' interno del chip ad una serie di blocchi che controllano ciascuno 8 pin attraverso una serie di registri.

Qui sopra è riportato lo schema di principio del PIC18F2321 e sono evidenziati i blocchi dei PORT.
Possiamo osservare che, per questo chip in contenitore a 28 pin, sono disponibili i PORTA, B, C e un solo elemento del PORTE.
Nel PIC18F4321 troviamo anche il PORTD e un numero maggiore di bit del PORTE.

A parte queste differenze, si constata (positivamente!) che Microchip ha fatto il possibile per mantenere una compatibilità a livello di pin e di funzioni tra i vari chip, non solo di una stessa famiglia, ma anche di famiglie diverse.

Così, troviamo una completa compatibilità pin-to-pin tra un PIC16 e un PIC18, a pari package.

sia a livello pin di alimentazione, sia di gruppi di porte e anche a livello di funzioni, con la sola accortezza di tenere presente che i PIC18 hanno, in generale, più periferiche integrate dei PIC16 e quindi le funzioni programmabili sui pin sono maggiori.

Quindi, dal punto di vista circuitale, non esistono particolari problemi nel sostituire un PIC con un altro, a parità di package (sempre, comunque, con un occhio ai fogli dati.)

Per ogni PORT, a supporto della funzione di IO digitale, nei PIC enhanced sono disponibili 3 registri:

TRISx che determina la direzione ingresso uscita di ogni pin
PORTx che permette l' accesso ai pin in lettura/scrittura
LATx che permette la lettura e la scrittura del registro latch di uscita

Questa struttura triplice, rispetto a quella composta dai soli PORTx e TRISx dei mid-range, garantisce l' eliminazione del Problema R-M-W che affligge questi ultimi.

Una trattazione dettagliata del Problema R-M-W è disponibile qui.


 

 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 10/04/11.