Tutorials - PIC

 

I PORT


I PORT come ingresso

Siccome ogni pin  ha corrispondenza in un bit di un registro interno, applicando a quel pin un adeguato valore di tensione, si potrà leggere questo valore come livello 1 o 0 del bit relativo.
E, dato che il bus è comune a registri di I/O e a memoria dati, il valore contenuto in dato registro appare al processore come un dato e può essere trattato di conseguenza.

Questo meccanismo permette di trasformare livelli di tensione in dati logici elaborabili dall' unità centrale.

In ingresso i pin dispongono di un buffer ad alta impedenza che ha tipicamente tre configurazioni:

Ingresso

Livello 1

Livello 0

Note

TTL > 2V @ Vdd= 5V < 0.8V @ Vdd=5V Un ingresso TTL riconosce una tensione inferiore al 16% della tensione di funzionamento (< 0, 8V a VDD = 5V) come un livello basso e una tensione di circa il 40% della tensione di funzionamento (> 2, 0V a VDD = 5V) come un alto livello. L'area intermedia tra questi due valori non è definito. 
In realtà, gli ingressi non sono così esigenti, ma i valori indicati sono quelli sono garantiti dal costruttore ed occorrerà che il segnale in ingresso sia adeguato, con fronti di salita puliti e privo di rumore sovrapposto.
TTL con Pull-Up idem, con pull up circa 100k In alcuni PORT è possibile attivare un resistore di pull-up. Questo garantisce che un ingresso aperto sia a livello alto.
Questa situazione è utile quando sia collegato un pulsante o un interruttore
, senza richiedere pull-up esterni.
Solitamente i PORTB
hanno tali resistenze pull-up con il bit di controllo RBPU.
Da notare che RBPU a
0 abilita i pull-up (default al POR) e viceversa.
Alcuni modelli hanno pull-up inseribili singolarmente.
Schmitt Trigger > 80% Vdd < 20% Vdd L'ingresso di ST è considerato a livello basso  quando la tensione di ingresso è inferiore al 20% della Vdd.
Il livello alto è determinato da un ingresso > 80% della Vdd.
Valori intermedi tra questi due non sono considerati validi.
Gli ingressi ST sono adatti alla pre elaborazione di segnali che non hanno un  livello TTL perfetto, ad esempio non perfettamente quadro o con rumore sovrapposto.

Ai pin di ingresso corrispondono spesso delle protezioni interne costituite da diodi collegati verso la Vdd e la Vss, allo scopo di shuntare tensioni più elevate della Vdd o negative rispetto alla massa.
Anche per questo, i fogli dati sono la guida per informarsi su quali pin hanno protezione o meno.


I PORT come uscita

Una trattazione dettagliata della struttura generale hardware dei PORT la trovate in queste pagine.

Qui ci limitiamo a dire che, in generale, l' uscita dei PORT è configurata come un totem pole a MOSFET complementari.

Siccome ogni pin ha corrispondenza in un bit di un registro interno, applicando a quel bit il valore voluto, si potrà comandare a livello alto o basso il pin fisico.
E, dato che il bus è comune a registri di I/O e a memoria dati, il valore contenuto in dato registro appare al processore come un dato e può essere trattato di conseguenza.

Teoricamente i MOSFET collegano il pin alla Vdd o alla Vss; tuttavia, il livello di uscita è influenzato dalla loro resistenza interna e dalla corrente del carico applicato al pin.

In generale, si può dire che un PIC può comandare un carico di 25 mA collegato o alla Vdd o alla Vss indifferentemente
Una trattazione più dettagliata la trovate qui.



PIN particolari

Non si può terminare questa breve panoramica dei PORT digitali senza ricordare alcuni punti chiave:

  1. in molti chip, al POR, per default alcuni pin sono programmati come ingressi analogici. Nel caso in cui si vogliano utilizzare come I/O digitali occorre cambiare il default  
     

  2. in molti chip, per default al POR, ai pin sono applicate funzioni diverse da quelle digitali (ad esempio, i comparatori). Anche in questo caso, se si vuole utilizzarli come I/O digitali occorre cambiare il default
     

  3. alcuni pin particolari possono essere utilizzati solamente come ingressi. Ad esempio, questo è il caso del pin MCLR che, in alcuni chip, può essere programmato come GPIO digitale, ma solo con funzione di ingresso.
     

  4. alcuni pin possono avere un buffer diverso dal totem pole sopra citato. Ad esempio, PORTA4 (RA4) è tipicamente, in uscita, un open drain e va impiegato di conseguenza
     

  5. alcuni pin hanno funzioni specifiche che non sono presenti in altri chip, come quelle relative all' USB o all' Ethernet e quindi non sono utilizzabili come GPIO o lo sono con limitazioni.

Come sempre, i fogli dati sono l' unica via per venire a conoscenza delle particolari funzioni e prestazioni di un particolare componente.

 


In ogni caso, una trattazione dettagliata della struttura generale hardware dei PORT la trovate in queste pagine.


 

 

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