# Elettronica applicata/Circuiti logici

Elettronica applicata
Copertina Tutti i moduli · Sviluppo
    CopertinaElettronica applicata/Copertina
* Circuiti digitali
** Circuiti logiciElettronica applicata/Circuiti logici
** Circuiti sequenziali IElettronica applicata/Circuiti sequenziali I
** Circuiti sequenziali IIElettronica applicata/Circuiti sequenziali II
** Logiche programmabiliElettronica applicata/Logiche programmabili
** Comparatori di sogliaElettronica applicata/Comparatori di soglia
** Generatori di onda quadraElettronica applicata/Generatori di onda quadra
* Bus e interconnessioni
** InterconnessioniElettronica applicata/Interconnessioni
** Modelli a linea di trasmissioneElettronica applicata/Modelli a linea di trasmissione
** Pilotaggio di lineeElettronica applicata/Pilotaggio di linee
** Cicli di trasferimento baseElettronica applicata/Cicli di trasferimento base
** Protocolli di busElettronica applicata/Protocolli di bus
** Collegamenti serialiElettronica applicata/Collegamenti seriali
** Collegamenti seriali sincroniElettronica applicata/Collegamenti seriali sincroni
** Integrità di segnaleElettronica applicata/Integrità di segnale
* Sistemi di acquisizione dati
** Sistemi di conversione A/D e D/AElettronica applicata/Sistemi di conversione A/D e D/A
** Convertitori D/AElettronica applicata/Convertitori D/A
** Conversione A/DElettronica applicata/Conversione A/D
** Convertitori pipeline e differenzialiElettronica applicata/Convertitori pipeline e differenziali
** Condizionamento del segnaleElettronica applicata/Condizionamento del segnale
** FiltriElettronica applicata/Filtri
* Alimentatori e regolatori
** Sistemi di alimentazioneElettronica applicata/Sistemi di alimentazione
** Regolatori a commutazioneElettronica applicata/Regolatori a commutazione
Modifica il sommario
In elettronica gli stati logici 0 e 1 sono associati ai due valori di tensione alta $V_{H}\approx V_{AL}$ e bassa $V_{L}\approx {\text{GND}}=0$:
* convenzione logica positiva: 1 ⟷ $V_{H}$ | 0 ⟷ $V_{L}$
* convenzione logica negativa: 0 ⟷ $V_{H}$ | 1 ⟷ $V_{L}$
Si definisce una tensione di soglia $V_{T}$ al di sotto della quale il segnale analogico viene riconosciuto nello stato logico L, e viceversa.
Per un segnale analogico proveniente dall'uscita di un circuito digitale, sono definiti due valori limite di tensione:
* $V_{OH}$ è il valore di tensione minimo per l'uscita U allo stato H;
* $V_{OL}$ è il valore di tensione massimo per l'uscita U allo stato L.
Affinché questo segnale venga riconosciuto correttamente all'ingresso di un circuito digitale, sono definiti altri due valori limite:
* $V_{IH}\leq V_{OH}$ è il valore di tensione minimo per l'ingresso I allo stato H;
* $V_{IL}\geq V_{OL}$ è il valore di tensione massimo per l'ingresso I allo stato L.
Per compatibilità si intende la capacità di circuiti connessi in cascata di scambiarsi correttamente stati logici: gli ingressi devono interpretare correttamente i livelli di tensione.
Due circuiti logici appartenenti alla stessa famiglia logica hanno le stesse caratteristiche elettriche (alimentazione, tensioni e correnti di uscita e di ingresso, ritardi, consumo) → sono elettricamente compatibili tra di loro.
Conviene evitare valori limite ingresso-uscita uguali garantendo un margine di rumore per ridurre l'effetto dei disturbi:
    ${\begin{cases}V_{IH}<V_{OH}\\V_{IL}>V_{OL}\end{cases}}\Rightarrow {\begin{cases}{\text{NM}}_{H}=V_{OH}-V_{IH}\\{\text{NM}}_{L}=V_{IL}-V_{OL}\end{cases}}$
Per recuperare un segnale digitale disturbato, si può interporre fra due circuiti digitali un comparatore di soglia, un modulo che realizza una funzione a gradino: converte un ingresso analogico, in base a un unico valore di soglia $S$, in un valore logico/binario in uscita.
La transcaratteristica $V_{O}\left(V_{I}\right)$ di un invertitore reale non è brusca ma segue una variazione continua e graduale attraverso uno stato logico non definito.
Sulla transcaratteristica, i valori limite di tensione sono definiti di solito come i punti in cui le tangenti al grafico hanno pendenza 45°. È impossibile definire con precisione la tensione di soglia $V_{T}$ perché varia con l'alimentazione, la temperatura, ecc.

## Parametri elettrici statici
### Struttura dell'invertitore CMOS

Nell'invertitore CMOS (o a MOS complementari), l'uscita $V_{O}$ tramite due interruttori è collegata:
* alla tensione di alimentazione $V_{AL}$ per avere lo stato alto H in uscita;
    o
* a massa ${\text{GND}}$ per avere lo stato basso L in uscita.
Vi sono delle resistenze di perdita $R_{\text{on}}$: $R_{OH}$ verso l'alimentazione, $R_{OL}$ verso massa. L'invertitore CMOS è realizzato tramite un transistore pMOS verso $V_{AL}$ e un transistore nMOS verso massa.

### Parametri di uscita

* Circuito equivalente di un invertitore CMOS allo stato alto H collegato a un carico resistivo $R_{L}$ verso massa
* Circuito equivalente di un invertitore CMOS allo stato basso L collegato a un carico resistivo $R_{C}$ verso l'alimentazione
In presenza di carichi (diodi LED, resistenze...), la corrente $I_{O}$ in uscita deve essere limitata, altrimenti la tensione d'uscita $V_{O}$ supererebbe i campi di valori garantiti:
* allo stato alto H, all'intersezione tra la caratteristica della porta e la caratteristica del carico $R_{L}$:
       ${\begin{cases}V_{O}=V_{AL}+R_{OH}I_{O}\\V_{O}=-R_{L}I_{O}\end{cases}}$
    deve essere garantita la condizione $V_{O}>V_{OH}$ → occorre limitare la corrente di uscita: $\left|I_{O}\right|<\left|I_{OH}\right|$;
* allo stato basso L, all'intersezione tra la caratteristica della porta e la caratteristica del carico $R_{C}$:
       ${\begin{cases}V_{O}=V_{AL}-R_{C}I_{O}\\V_{O}=R_{OL}I_{O}\end{cases}}$
    deve essere garantita la condizione $V_{O}<V_{OL}$ → occorre limitare la corrente di uscita: $I_{O}<I_{OL}$.

### Parametri di ingresso

Analogamente anche la corrente in ingresso $I_{I}$ deve essere limitata per garantire la condizione sulla tensione di ingresso $V_{I}$:
* $I_{IL}$ è la corrente oltre la quale la tensione d'ingresso $V_{I}$ non è più minore di $V_{IL}$;
* $I_{IH}$ è la corrente oltre la quale la tensione d'ingresso $V_{I}$ non è più maggiore di $V_{IH}$.

## Configurazioni di uscita

In un collegamento a bus non è noto a priori il numero di dispositivi logici connessi → bisogna evitare le collisioni, cioè due dispositivi non devono comunicare sul bus in contemporanea.

### Uscita totem pole (TP)

L'uscita totem pole può essere vista come un deviatore tra $V_{AL}$ e massa:
* allo stato alto H la tensione di uscita $V_{O}$ è prossima alla tensione di alimentazione $V_{AL}$;
* allo stato basso L la tensione di uscita $V_{O}$ è prossima a 0 (${\text{GND}}$).

### Uscita a tre stati (3S)

In un collegamento a bus con uscite a tre stati, ogni circuito ha un segnale di enable, e i segnali di enable vengono attivati uno alla volta da un modulo di controllo per evitare le collisioni:
* segnale di enable ${\text{OE}}$ allo stato basso L: l'uscita del circuito è abilitata (come totem pole);
* segnale di enable ${\text{OE}}$ allo stato alto H: l'uscita del circuito viene disabilitata e assume un terzo stato Hi-Z (ad alta impedenza).
Il segnale di enable può essere rappresentato circuitalmente con un unico deviatore a 3 posizioni, di cui una corrisponde allo stato Hi-Z, oppure con un altro deviatore in serie all'uscita che abilita o disabilita l'uscita a seconda se chiuso o aperto:
La non idealità del circuito aperto interpretato nello stato Hi-Z è rappresentabile con una corrente di perdita $I_{OZ}$.
L'uscita a tre stati è pericolosa se non si può garantire di poter attivare i segnali di enable solo uno alla volta.

### Uscita a collettore aperto (OC)

L'uscita a collettore aperto (open drain) trova applicazione nella gestione delle richieste di interrupt, dove possono verificarsi più di una richiesta alla volta.
Ogni stadio di uscita è realizzato con un solo interruttore nMOS verso massa.
Tutti gli stati di uscita sono in parallelo e condividono un'unica resistenza di pull-up $R_{PU}$:
* wired or: la linea va nello stato basso L se anche un solo interruttore è chiuso;
* wired and: la linea va nello stato alto H solo se tutti gli interruttori sono aperti.
Ogni interruttore è quindi in grado di pilotare solo lo stato basso L. Se esso è aperto lo stato di uscita è solo disabilitato (Hi-Z); in questo caso si considera come elemento di non idealità una corrente di perdita $I_{OH}$.
Collegando $n$ carichi a $m$ uscite OC, è necessario scegliere una resistenza di pull-up $R_{PU}$ che garantisca la compabilità statica, cioè la corrente e la tensione non devono superare i valori limite riconosciuti dai carichi:
    ${\begin{cases}I_{R}=mI_{O}-nI_{I}:&I_{O}<I_{OL}\vee I_{O}>I_{OH}\\V_{O}=V_{AL}-I_{R}R_{PU}:&V_{O}<V_{OL}\vee V_{O}>V_{OH}\end{cases}}\Rightarrow I_{R}={\frac {V_{AL}-V_{O}}{R_{PU}}}{\begin{cases}>mI_{OH}+nI_{IH}\Rightarrow R_{PU}<R_{\text{max}}\\<mI_{OL}+nI_{IL}\Rightarrow R_{PU}>R_{\text{min}}\end{cases}}$
La scelta del valore di resistenza $R_{PU}$ è quindi un compromesso tra due caratteristiche del dispositivo:
* $R_{PU}=R_{\text{min}}$: massimizza la velocità perché è minore la resistenza equivalente e quindi la costante di tempo $\tau$;
* $R_{PU}=R_{\text{max}}$: minimizza la potenza dissipata perché la corrente che scorre attraverso la resistenza $R_{PU}$ è minore.

## Parametri dinamici

La presenza di una capacità nel carico introduce degli effetti capacitivi di ritardo: le commutazioni non sono istantanee.

### Tempi di transizione e di propagazione

Si definisce tempo di transizione l'intervallo di tempo impiegato dal segnale per variare la sua ampiezza tra il 10% e il 90%. Si distinguono il tempo di salita $t_{r}$ e il tempo di discesa $t_{f}$:
Una variazione all'ingresso viene propagata all'uscita con un certo ritardo: si definisce tempo di propagazione della porta l'intervallo di tempo tra l'istante in cui il segnale d'ingresso ha il 50% di ampiezza e l'istante in cui il segnale d'uscita ha il 50% di ampiezza:

### Ritardi di trasmissione

Il carico capacitivo introduce un ritardo $t_{D}$ nel riconoscimento della variazione di stato da parte della porta d'ingresso:
* nella transizione L → H, il condensatore passa da circuito aperto a cortocircuito → la tensione di uscita $V_{B}\left(t\right)$ ha un andamento esponenziale crescente che parte dalla tensione $V_{OL}$ e tende alla tensione $V_{OH}$:
       $V_{B}\left(t\right)=V_{OH}+\left(V_{OL}-V_{OH}\right)e^{-{\frac {t}{\tau _{LH}}}}$
* nella transizione H → L, il condensatore passa da cortocircuito a circuito aperto → la tensione di uscita $V_{B}\left(t\right)$ ha un andamento esponenziale decrescente che parte dalla tensione $V_{OH}$ e tende alla tensione $V_{OL}$:
       $V_{B}\left(t\right)=V_{OL}+\left(V_{OH}-V_{OL}\right)e^{-{\frac {t}{\tau _{HL}}}}$
Il ritardo di trasmissione $t_{D}$ è il tempo impiegato dall'ingresso per riconoscere la variazione di stato. La variazione di stato viene riconosciuta quando viene superata la tensione di soglia $V_{T}$.
La tensione di soglia $V_{T}$ non è univocamente definita → il ritardo di trasmissione $t_{D}$ è variabile.

### Invertitori nMOS e CMOS

* Tempi di transizione in un invertitore nMOS
* Tempi di transizione in un invertitore CMOS
Nell'invertitore nMOS la resistenza equivalente di uscita vale $R_{PU}$ nello stato H e $R_{OL}||R_{PU}\simeq R_{OL}$ nello stato L → è molto più piccola quando l'interruttore è chiuso → la costante di tempo $\tau _{LH}$ del fronte di salita risulta molto più piccola → il tempo di transizione L → H è maggiore del tempo di transizione H → L.
Nell'invertitore CMOS, invece, l'elemento di pull-up non è più passivo ma attivo: cambia il suo valore di resistenza equivalente in funzione dell'ingresso esattamente come fa l'elemento di pull-down → il comportamento dinamico è simmetrico e i tempi di transizione sono entrambi piccoli.

### Minimizzazione dei ritardi

La costante di tempo, e quindi il tempo di transizione, dipende anche dalla parte capacitiva del carico: collegare l'invertitore a un circuito digitale con un numero di ingressi, detto fan out, troppo grande aumenta la capacità equivalente di carico, rischiando per commutazioni veloci (nell'ordine delle centinaia di MHz) che il tempo di transizione (ad es. 20 ns invece di 5 ns a causa di un elevato fan out) superi il tempo di commutazione (ad es. 10 ns) e il segnale non abbia il tempo di commutare tra uno stato logico e l'altro.
Un pass gate, cioè un MOS inserito in serie tra l'uscita e l'ingresso, aumenta ancora di più il ritardo perché aggiunge una parte resistiva e capacitiva aumentando la costante di tempo $\tau$:
Per avere bassi ritardi occorre minimizzare la resistenza d'uscita $R_{o}$ e minimizzare la capacità equivalente $C_{I}$ degli ingressi. Nell'invertitore CMOS si possono minimizzare i ritardi riducendo la costante di tempo, in particolare:
* la resistenza equivalente $R_{O}$ vista ai morsetti del condensatore → la corrente $I_{O}$ che scorre all'uscita diventa elevata;
* la capacità equivalente $C_{I}$ → il dispositivo deve essere piccolo (ad esempio, nel transistore MOS la capacità $C_{ox}$, cioè la capacità equivalente per unità di superficie, si estende all'intero volume moltiplicandola per l'area $A=W\cdot L$) → conferma la legge di Moore.

## Segnali differenziali

Anche i segnali digitali possono essere trasmessi in modo differenziale: lungo due fili, entrambi riferiti al terzo filo di massa, scorrono due segnali digitali uno invertito all'altro, e il segnale logico di informazione è dato dalla loro differenza.

### Vantaggi

* immunità ai disturbi dall'esterno;
* minor consumo: i gradini dei singoli segnali hanno metà ampiezza del segnale differenziale allo stato alto H → è richiesta una tensione di alimentazione minore di quella richiesta da un singolo segnale di modo comune di ampiezza doppia.

## Note

* ↑ In realtà si usano tipicamente più di due transistori per far avvicinare la transcaratteristica maggiormente all'idealità.
* ↑ Se l'uscita dell'invertitore CMOS viene collegata all'ingresso (gate) di un transistore MOSFET, la corrente di uscita è addirittura trascurabile.
* ↑ Per convenzione la corrente si considera sempre positiva entrante → in questo caso la corrente $I_{O}$ è negativa e la si considera in modulo.
* ↑ La resistenza di ingresso $R_{I}$ nei circuiti moderni è sempre approssimabile a un circuito aperto.
* ↑ Nel sistema MOS, la superficie è perpendicolare alla lunghezza del canale $L$.