MODELLO DI INGRESSO DI UNA PORTA LOGICA
La fig. presenta un modello di una porta logica vista dall'ingresso in condizioni statiche. Le due resistenze sono molto elevate, MOhm nel caso TTL e GOhm nel caso CMOS, per cui in prima approssimazione e con resistenze esterne minori si possono assumere ca.
Comunque si comprende che applicando in ingresso stato alto la corrente Ii risulta positiva (entrante) e circola sulla resistenza inferiore, mentre applicando stato basso Ii è negativa (uscente). Queste correnti sono limitate e i costruttori forniscono i loro valori massimi allo stato alto e basso: IiH e IiL.
Per quanto visto è possibile assumere la porta logica in ingresso come ca.
Le elevate resistenze di ingresso sconsigliano di lasciare flottanti i pin dell'integrato non usati, in quanto sensibili ai disturbi esterni, cioè punti di ingresso per i disturbi (bisogna considerare l'immunità ai rumori, vedi marchio CE). Conviene valutare la migliore connessione tra stato H e L dal punto di vista del risparmio energetico e in ogni caso affidarsi ai datasheet.
In condizioni dinamiche, durante le transizioni tra i due stati logici, bisogna considerare modelli più complicati.
USO DI UN PULSANTE ( O UN TASTO) PER GENERARE SEGNALI DIGITALI
Per applicare un segnale non è conveniente usare un deviatore, che commuta ad es. 0-5V, perchè presenta uno stato di indeterminazione durate le transizioni: anche per un sistema di acquisizione molto lento, ad es. 1MHz di clock, questa transizione avviene in un tempo enorme.
Sono necessari due componenti:
uno per alzare la tensione al suo valore massimo (+Vcc), componente di pull-up
l'altro per abbassare la tensione al suo valore minimo (riferimento), componente di pull-down.
Si può utilizzare un tasto ( o pulsante) e una resistenza.
Il tasto necessita di una R per evitare conflitti elettrici e logici con l'alimentazione.
Sono possibili due soluzioni:
a) il tasto collega l'ingresso a massa: è necessaria una resistenza di pull-up per tirar su la tensione quando il tasto è aperto.
b) il tasto collega l'ingresso all'alimentazione: è necessaria una resistenza di pull-down per portare l'ingresso a massa quando il tasto è aperto.
Il valore di R non è determinante e si sceglie intorno a qualche KOhm, ad es. 10KOhm.
INGRESSI ATTIVI ALLO STATO ALTO E BASSO
Consideriamo pulsanti normalmente aperti.
Nal caso di fig. a il pulsante premuto e quindi attivo (chiuso) genera all'ingresso della porta lo stato basso.
Si dice che l'ingresso è attivo allo stato basso e sullo schema logico si indica con un pallino all'ingresso della porta come nelle fig. c) e d)
Invece nel caso di fig. b normalmente all'ingresso della porta è applicato lo stato basso.
Quando il pulsante agisce, e si chiude, si genera lo stato alto: si dice che l'ingresso è attivo allo stato alto e non si mette il pallino.
Nella pratica i contatti sono normalmente chiusi in modo da gestire il guasto, come il distacco di un filo, come uno stato attivo che produce effetti in uscita.
Se tutte le combinazioni degli ingressi sono significative non ha senso parlare di ingressi attivi e si usano i tasti.
Se invece si usano solo alcune configurazioni, come nel caso dei codificatori in cui gli ingressi agiscono uno alla volta, si usano i pulsanti e bisogna definire la condizione, stato alto o stato basso, in cui l'ingresso agisce. Lo stesso per alcuni ingressi particolari, come l'enable, che abilitano l'integrato se posti in uno stato detto attivo.
I microcontrollori, che hanno l'obiettivo di semplificare al massimo la parte hardware della scheda, presentano ingressi digitali con resistenza di pull-up interna selezionabile via sw.
Ad es. Arduino con la funzione pinMode(pin, mode) consente di scegliere per il parametro mode: INPUT, OUTPUT, oppure INPUT_PULLUP.
Lo stesso per i PIC: vedi PORTB nella famiglia PIC16F87x e relativi registri.
Altri micro, come gli ST32Fx, consentono di scegliere sia R di pull-up che di pull-down.
Es. Ricavare Vi nei casi a e b utilizzando per la porta logica il modello con le resistenze.