
Livelli logici TTL e CMOS
Comprendi VIL, VIH, VOL e VOH, verifica i margini di rumore e progetta interfacce sicure tra domini da 1,8 V, 3,3 V e 5 V.
Redazione e revisione tecnica:Team di ingegneria ElectroDesignForge
Consulta il processo editorialePunto chiave: un'uscita è compatibile con un ingresso solo se i livelli garantiti nel caso peggiore rispettano le soglie dell'ingresso per tutte le condizioni di alimentazione, temperatura e corrente di carico. La sola etichetta nominale 1.8 V, 3.3 V o 5 V non basta.
Riferimento rapido
| Simbolo | Significato | Verifica |
|---|---|---|
| VIL | massima tensione d'ingresso garantita come livello BASSO | VOL,max ≤ VIL,max |
| VIH | minima tensione d'ingresso garantita come livello ALTO | VOH,min ≥ VIH,min |
| VOL | massima tensione d'uscita a livello BASSO | specificata per una corrente assorbita |
| VOH | minima tensione d'uscita a livello ALTO | specificata per una corrente erogata |
La zona tra VIL,max e VIH,min è indefinita per un ingresso digitale. Non è un livello di comando utilizzabile.
1. Ingressi e uscite: distinguere le quattro specifiche
I indica ingresso e O uscita. I limiti d'ingresso dicono cosa accetta il ricevitore; quelli d'uscita cosa garantisce il driver.
| Stato | Garanzia dell'ingresso | Garanzia dell'uscita |
|---|---|---|
| BASSO | VIN ≤ VIL,max | VOUT ≤ VOL,max a IOL |
| ALTO | VIN ≥ VIH,min | VOUT ≥ VOH,min a IOH |
Per progettare un'interfaccia, usare i limiti minimi e massimi garantiti, non i grafici tipici. VOH può essere vicino a VDD senza carico, ma diminuire sensibilmente quando l'uscita eroga corrente.
Margini di rumore statici
NMH = VOH(min, driver) − VIH(min, receiver)
NML = VIL(max, receiver) − VOL(max, driver)
Entrambi i margini devono essere positivi. Margini maggiori tollerano più rumore, spostamenti della massa, caduta di tensione sul cavo e variazioni fra componenti. Non sostituiscono la verifica del tempo di salita, del carico capacitivo e dei valori massimi assoluti.
2. Soglie CMOS: spesso relative all'alimentazione
Molte famiglie CMOS tradizionali specificano soglie d'ingresso vicine a:
VIL(max) ≈ 0.3 × VDD
VIH(min) ≈ 0.7 × VDD
È una regola indicativa, non un requisito universale. I CMOS moderni possono usare soglie fisse, ingressi compatibili TTL, trigger di Schmitt o standard I/O specifici.
| Dominio CMOS | VIL,max indicativo | VIH,min indicativo | Zona indefinita |
|---|---|---|---|
| 1.8 V | 0.54 V | 1.26 V | da 0.54 a 1.26 V |
| 3.3 V | 0.99 V | 2.31 V | da 0.99 a 2.31 V |
| 5.0 V | 1.50 V | 3.50 V | da 1.50 a 3.50 V |
Un'uscita CMOS da 3.3 V non può quindi normalmente garantire il livello ALTO richiesto da un ingresso CMOS a 5 V con soglia 0.7 × VDD. Viceversa, un'uscita a 5 V può superare il limite elettrico di un ingresso a 3.3 V, anche se il livello logico è facilmente riconoscibile.
3. TTL: perché 3.3 V può funzionare, ma non sempre
La logica TTL bipolare storica a 5 V usa normalmente limiti d'ingresso fissi: VIL,max = 0.8 V e VIH,min = 2.0 V. Un'uscita ALTA 74LS può essere garantita solo fino a 2.7 V con il carico leggero specificato, mentre un'uscita BASSA può essere garantita fino a circa 0.4 o 0.5 V alla corrente prevista.
| Interfaccia TTL rappresentativa a 5 V | BASSO | ALTO | Conseguenza |
|---|---|---|---|
| Ingresso | VIL,max = 0.8 V | VIH,min = 2.0 V | un ALTO da 3.3 V viene di solito riconosciuto |
| Uscita 74LS, carico leggero | VOL,max ≈ 0.4 V | VOH,min ≈ 2.7 V | può non soddisfare un ingresso CMOS a 5 V con soglie 30/70% |
Molti dispositivi moderni «compatibili TTL» o LVTTL mantengono la soglia ALTA di 2.0 V pur funzionando a 3.3 V. Nelle tabelle I/O, TTL descrive allora le soglie, non necessariamente la tecnologia interna o la tolleranza a 5 V.
4. Compatibilità tra 1.8 V, 3.3 V e 5 V
La tabella presuppone un'uscita push-pull e un ingresso ordinario. È un punto di partenza; il progetto va deciso in base ai due datasheet effettivi.
| Driver → ricevitore | Verifica della soglia | Limite elettrico | Valutazione pratica |
|---|---|---|---|
| CMOS 1.8 V → CMOS 3.3 V | 1.8 V è sotto il tipico VIH a 3.3 V | nessuna sovratensione | No senza conversione di livello |
| CMOS 3.3 V → CMOS 1.8 V | ALTO forse sufficiente logicamente | 3.3 V spesso supera VIN,max a 1.8 V | Pericoloso senza ingresso tollerante o convertitore |
| CMOS 3.3 V → TTL 5 V | 3.3 V > 2.0 V | controllare il limite d'ingresso del ricevitore | spesso compatibile logicamente; verificare il dominio di alimentazione |
| TTL 5 V → CMOS 3.3 V | ALTO riconoscibile | 5 V può danneggiare l'ingresso a 3.3 V | No senza adattamento o tolleranza a 5 V |
| TTL 5 V → CMOS 5 V | stesso dominio di tensione | controllare corrente e velocità | uso normalmente previsto |
| CMOS 5 V → TTL 5 V | VOH supera ampiamente 2.0 V | controllare la corrente d'ingresso | normalmente compatibile |
Due verifiche indipendenti
- Compatibilità logica: confrontare VOH,min con VIH,min e VOL,max con VIL,max.
- Compatibilità elettrica: controllare VIN,max, valori massimi assoluti, correnti dei pin e comportamento quando il ricevitore non è alimentato.
La dicitura «tollerante a 5 V» su un ingresso risolve solo parte della questione elettrica. Da sola non garantisce compatibilità delle soglie, comportamento con alimentazione spenta né tolleranza in ogni modalità del pin.
5. Esempio svolto: GPIO da 3.3 V verso ingresso TTL da 5 V
Supponiamo che un GPIO garantisca VOH,min = 2.9 V al carico scelto e VOL,max = 0.4 V. L'ingresso TTL richiede VIH,min = 2.0 V e accetta VIL,max = 0.8 V.
NMH = 2.9 V − 2.0 V = 0.9 V
NML = 0.8 V − 0.4 V = 0.4 V
Entrambi i margini sono positivi, quindi i livelli logici sono compatibili. Occorre comunque verificare che il pin TTL non abbia un pull-up a 5 V né una condizione di corrente d'ingresso che alimenti indirettamente il GPIO quando è spento. Un GPIO da 3.3 V non è automaticamente sicuro con una resistenza di pull-up a 5 V.
6. Pull-up, drain aperto e resistenza di richiamo
Un'uscita a drain aperto pilota attivamente solo il livello BASSO. Una resistenza di pull-up crea il livello ALTO; la tensione a cui è collegata determina sia il livello ALTO sia il rischio di sovratensione.
Per una resistenza di pull-up RP verso VPU e una corrente di perdita totale Ileak, un primo limite per il livello ALTO è:
VHIGH ≈ VPU − Ileak × RP
RP(max) ≤ (VPU − VIH(min)) / Ileak
Il limite del livello BASSO deriva dalla corrente quando la linea è tirata a massa:
RP(min) ≥ (VPU − VOL(max)) / IOL(max)
Controllare poi il tempo di salita RC. Una resistenza troppo grande produce un fronte lento; una troppo piccola aumenta la corrente nello stato BASSO. Usare il calcolatore pull-up / pull-down per dimensionare l'intervallo in base a soglie, corrente GPIO, capacità e tempo di salita richiesto.
Casi in cui evitare soluzioni improvvisate
- Un pull-up a 5 V su un pin da 3.3 V è ammesso solo se quel pin e quella modalità sono esplicitamente tolleranti a 5 V, anche da spenti.
- Le uscite push-pull non devono essere collegate fra loro. La logica cablata richiede uscite aperte compatibili.
- Un ingresso a trigger di Schmitt aiuta con i fronti lenti, ma non rende sicura una sovratensione.
- I traslatori MOSFET bidirezionali sono adatti ad alcuni bus a drain aperto, non ai segnali push-pull ad alta velocità senza analisi temporale.
7. Verifica dello schema e del prototipo
- Individuare il tipo esatto di ogni pin: ingresso, push-pull, drain aperto, Schmitt, analogico, pin di configurazione o ingresso con tolleranza speciale.
- Estrarre VIL, VIH, VOL e VOH garantiti alle condizioni di alimentazione, temperatura e corrente del prodotto.
- Calcolare NMH e NML; un margine negativo richiede conversione di livello o una diversa architettura.
- Controllare VIN,max, valori massimi assoluti, diodi di protezione e comportamento con alimentazione parziale.
- Includere le resistenze di richiamo interne ed esterne nel percorso di corrente. Resistenze in parallelo e alimentazioni opposte possono creare un livello intermedio.
- Misurare sul ricevitore con una sonda adatta: forma dei fronti, sovraelongazione, rimbalzo della massa, VOH minimo e VOL massimo sotto carico reale.
Errori comuni
| Errore | Perché non funziona | Correzione |
|---|---|---|
| Confrontare solo 3.3 V e 5 V | Soglie e limiti elettrici sono distinti. | Eseguire verifiche logiche ed elettriche. |
| Usare VDD come VOH | Un'uscita caricata può non raggiungere la tensione di alimentazione. | Usare VOH,min alla corrente richiesta. |
| Considerare i valori tipici garantiti | Temperatura, processo e carico variano. | Usare i minimi e massimi del datasheet. |
| Ignorare il dominio non alimentato | Un diodo di protezione può alimentare parzialmente un dispositivo. | Verificare le regole su alimentazione parziale e corrente iniettata. |
| Aggiungere un pull-up intuitivamente | Può essere collegato alla tensione errata o essere troppo forte. | Calcolare limiti della resistenza e tempo di salita. |
Strumento associato
Apri il calcolatore pull-up / pull-down per trovare un intervallo di resistenza coerente con soglie logiche, corrente GPIO, capacità della linea e tempo di salita.
Fonti
- Texas Instruments — Logic Guide e datasheet delle famiglie 74xx/LVC/AHC.
- Nexperia — note applicative e datasheet delle famiglie logiche compatibili CMOS / TTL.
- I datasheet dei due componenti effettivi: tabelle delle caratteristiche elettriche CC, valori massimi assoluti e requisiti di sequenziamento dell'alimentazione.