I componenti digitali possono essere descritti in due modi:
La figura di apertura mostra una vecchia scheda contenente circuiti integrati in contenitore DIP.
Un circuito integrato digitale, per poter funzionare, deve essere alimentato da una tensione continua. É importante utilizzare una tensione corretta, pena la distruzione fisica del circuito integrato o gravi malfunzionamenti.
Attenzione a non confondere:
A seconda della tecnologia adottata, la tensione di alimentazione di un circuito integrato digitale può variare tra meno di 1 V fino a 15 V; la tensione oggi più comune è 3.3 V; per dispositivi un po' datati: 5 V.
A seconda delle abitudini e dei contesti:
La tensione di alimentazione deve essere stabile, cioè costante nel tempo. Per ottenere questo risultato sono in genere utilizzati regolatori di tensione coadiuvati da condensatori posti tra VCC e GND nelle immediate vicinanze di ciascun circuito integrato (condensatori di disaccoppiamento). L'immagine di apertura mostra tali condensatori, in questo caso blu, posti a fianco di gran parte degli integrati.
L'alimentazione dei circuiti integrati richiede ovviamente anche una corrente, a volte indicato come ICC o IDD.
Per utilizzare una porta logica occorre conoscere quali tensioni corrispondono allo zero logico e quali all'uno logico.
In prima approssimazione possiamo ritenere che (nota 1):
Quanto sopra scritto è però vero solo se la corrente di uscita è nulla, o quasi. Se è presente una corrente di uscita (per esempio per accendere un LED) la tensione per il livello HIGH tende a scendere, quella per il livello LOW tende a salire. Vengono quindi introdotti i seguenti due valori:
Nel caso di porte logiche alimentate a 5 V tali valori potrebbero essere (nota 2):
Si noti che, in base a questo esempio, tensioni di uscita comprese tra 0.1 V e 4.9 V non sono previste e, se misurate, sono sintomo di malfunzionamento.
Per quanto riguarda gli ingressi possiamo ritenere che (nota 1):
In realtà la soglia tra HIGH e LOW non è esattamente metà della tensione di alimentazione, ma cambia con la temperatura e con il singolo esemplare di circuito integrato. Inoltre, cosa più importante, le porte logiche funzionano male se la tensione di ingresso è prossima a metà della tensione di alimentazione; in particolare cresce enormemente ICC.
Vengono quindi introdotti i seguenti due valori:
Nel caso di porte logiche alimentate a 5 V, tali valori potrebbero essere (nota 2):
Si noti che, in base a questo esempio, tensioni di ingresso comprese tra 1.3 V e 3.6 V non sono né HIGH né LOW e possono quindi causare malfunzionamenti.
I valori delle tensioni in ingresso ed uscita a volte sono rappresentati su un grafico come il seguente:
Il grafico mostra che uno zero logico in uscita è abbondantemente interpretato come zero logico in ingresso da un'altra porta logica; analogamente un uno logico in uscita è interpretato come uno logico in ingresso.
Utilizzando i dati dell'esempio, il margine di rumore per il livello logico basso è di circa 1.2 V, quello per il livello logico alto circa 1.3 V, praticamente uguale.
Per descrivere le correnti presenti in un circuito integrato dobbiamo disegnare anche l'alimentazione (VCC e GND). Per semplicità consideriamo un inverter in tecnologia CMOS, l'unica attualmente utilizzata.
Il primo circuito mostra una porta alla cui uscita non è collegato nulla.
Le frecce indicano il verso delle correnti. Potrebbe nascere qualche discussione sul verso delle correnti (Io e Ii in particolare), ma sappiamo che, nel dubbio, possiamo mettere un verso arbitrario e correggere eventualmente il tutto alla fine.
Applichiamo il principio di Kirchhoff ai nodi; per fare ciò possiamo considerare la porta come fosse un unico grande nodo e scrivere:
ICC = Ii + Io + IGND
Il valore di ICC (e quindi di IGND) dipende dal segnale presente all'ingresso:
Colleghiamo un resistore tra l'uscita e massa, poniamo l'ingresso LOW (e quindi l'uscita HIGH).
Le frecce indicano il verso delle correnti:
Applichiamo il principio di Kirchhoff ai nodi; per fare ciò possiamo considerare la porta come fosse un unico grande nodo e scrivere:
ICC = Ii + Io + IGND
In questa situazione ICC è quindi uguale a Io ed entrambe dipendono dal valore del resistore e di Vcc.
Colleghiamo un resistore tra l'uscita e Vcc e poniamo l'ingresso HIGH; l'uscita è quindi LOW.
Le frecce indicano i versi delle correnti, per comodità diversi che nei due casi precedenti.
Applichiamo il principio di Kirchhoff ai nodi; per fare ciò possiamo considerare la porta come fosse un unico grande nodo e scrivere:
ICC + Ii + Io = IGND
In questa situazione IGND è quindi uguale a Io ed entrambe dipendono dal valore del resistore e di Vcc. Si noti che, sembra un gioco di parole, la corrente Io... entra dall'uscita.
I tempi di transizione e di propagazione descrivono quanto una porta logica è veloce.
Pur essendo concettualmente indipendenti entrambi sono numericamente simili e diminuiscono nelle tecnologie capaci di funzionare a frequenza più elevata.
Il passaggio di un livello logico da alto a basso (o viceversa) non è istantaneo, ma richiede un tempo non nullo. Il tempo di transizione (transition time) è mostrato graficamente nella seguente figura:
Un secondo parametro misura quanto una porta è più o meno veloce nel portare all'uscita l'ingresso; il tempo di propagazione tP (propagation delay) indica il tempo che passa da quando l'ingresso vale il 50 % del valore alto a quando l'uscita vale il 50% del valore alto.
L'immagine seguente mostra un esempio di misura del tempo di discesa di un segnale reale. I livelli di tensione per il livello logico logico alto e basso sono rispettivamente:
I due cursori orizzontali sono posizionati alla tensione di:
I due cursori verticali sono posizionati all'intersezione tra il grafico del segnale ed i due cursori orizzontali. La differenza temporale (cioè il tempo di discesa) è TF = 6,5 ns.
Nell'immagine seguente sono presenti l'ingresso (segnale rosso, in basso) e l'uscita (segnane blu, in alto) di un inverter.
I due cursori orizzontali sono posizionati al 50% della tensione di ingresso e della tensione di uscita (2,5 V).
I due cursori verticali sono posizionati all'intersezione tra i grafici dei segnali ed i due cursori orizzontali. La differenza temporale (cioè il tempo di propagazione) è TP = 9.8 ns.
Se avete installato il software Picoscope potete utilizzare il file allegato per una misura "live".
In un circuito reale l'andamento della tensione si allontana significativamente da quello rappresentato nei diagrammi temporali come un insieme di segmenti rettilinei. L'immagine seguente ne è un esempio:
In particolare possiamo osservare:
Queste variazioni non sono rappresentate nei diagrammi temporali perché, se abbastanza piccole, non modificano il valore logico.
La potenza istantanea dissipata da una porta logica può essere calcolata come prodotto di tensione e corrente, usando i principi descritti alla pagina Potenza, Per la potenza media possiamo utilizzare quanto descritto alla pagina Potenza. Quest'ultima riveste un ruolo essenziale per valutare il calore prodotto da un circuito integrato.
Spesso per i circuito CMOS la potenza viene calcolata usando una semplice formula (nota 8):
PD = CPD · VCC2 · f · N
Dove:
Tale formula mostra gli spazi di intervento per ridurre il consumo energetico di un sistema digitale e quindi aumentare la durata delle batterie:
Pagina creata nell'ottobre 2020
Ultima modifica: 8 aprile 2023
Appunti scolastici - Versione 0.1028 - Novembre 2024
Copyright 2012-2024, Vincenzo Villa (https://www.vincenzov.net)
Creative Commons | Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)