Vai al contenuto
Elettronica dei Sistemi Digitali

Livelli logici, margini di rumore, ritardi e tipi di uscita

Tensioni VOH, VOL, VIH, VIL, margini di rumore con esempio, traslatori di livello, ritardo di propagazione e fan-out, consumo, uscite push-pull, open drain e tre stati, ingressi flottanti.

Per l’algebra di Boole un segnale vale 0 o 1; per l’elettronica è una tensione, che non è mai esattamente 0 o V_{DD} ed è disturbata dal rumore, dalle cadute sulle piste e dagli accoppiamenti con le linee vicine. Perché un circuito digitale funzioni bisogna sapere quali tensioni vengono riconosciute come 0 e come 1, quanto disturbo si può tollerare e quanto tempo impiega una porta a rispondere. In questa lezione vediamo i livelli logici, i margini di rumore, i ritardi, il consumo e i diversi tipi di uscita.

I livelli logici

Ogni famiglia logica specifica quattro tensioni:

  • V_{OH}: la tensione minima che un’uscita garantisce quando è alta;
  • V_{OL}: la tensione massima che un’uscita garantisce quando è bassa;
  • V_{IH}: la tensione minima che un ingresso riconosce sicuramente come 1;
  • V_{IL}: la tensione massima che un ingresso riconosce sicuramente come 0.

Tra V_{IL} e V_{IH} c’è una zona proibita: lì l’ingresso può leggere qualsiasi cosa, e un segnale che ci resta a lungo fa anche condurre insieme i due transistor dell’ingresso CMOS, con un consumo anomalo.

Livelli logici di un'uscita e di un ingresso con i margini di rumore
A sinistra l’uscita di una porta: garantisce almeno V_OH quando è alta e al massimo V_OL quando è bassa. A destra l’ingresso della porta successiva: riconosce come 1 tutto ciò che supera V_IH e come 0 tutto ciò che sta sotto V_IL, con una zona incerta in mezzo. Le differenze tra i livelli garantiti e quelli riconosciuti sono i margini di rumore.

I margini di rumore

    \[ NM_H = V_{OH} - V_{IH},\qquad NM_L = V_{IL} - V_{OL} \]

Sono i disturbi massimi che si possono sommare al segnale senza che la porta successiva lo fraintenda.

Esempio. Per la logica LVCMOS a 3,3 V tipica, con V_{OH} = 2{,}4 V, V_{OL} = 0{,}4 V, V_{IH} = 2{,}0 V e V_{IL} = 0{,}8 V: NM_H = NM_L = 0{,}4 V. Una pista lunga che raccoglie 0,5 V di disturbo da una linea vicina è già fuori specifica.

Collegare famiglie diverse. Un’uscita a 3,3 V che pilota un ingresso a 5 V con V_{IH} = 3{,}5 V non è sicura: 3,3 V è sotto la soglia. Al contrario un’uscita a 5 V può danneggiare un ingresso a 3,3 V non tollerante. Servono traslatori di livello: integrati dedicati, o un MOSFET con resistori di pull-up per i bus lenti come I²C.

I ritardi

Una porta non commuta istantaneamente. Il ritardo di propagazione t_p è il tempo tra il passaggio dell’ingresso al 50% dell’escursione e quello dell’uscita; si distinguono t_{pLH} e t_{pHL} per le due transizioni. Il tempo di salita e di discesa (tra il 10% e il 90%) dice quanto sono ripidi i fronti. Come visto nella lezione sulla CMOS, il ritardo è circa CV_{DD}/I: cresce con la capacità da pilotare, cioè con il numero di ingressi collegati all’uscita (fan-out) e con la lunghezza delle piste.

Nei circuiti integrati moderni i ritardi delle porte sono di decine di picosecondi, e spesso a dominare sono le interconnessioni: un filo lungo sul chip è una linea RC distribuita, il cui ritardo cresce con il quadrato della lunghezza. Per questo si inseriscono buffer lungo i collegamenti lunghi.

Il consumo

Il consumo di una porta CMOS è quasi tutto dinamico, P = \alpha CV_{DD}^2 f (dimostrazione nella lezione sulla logica CMOS), più una piccola parte statica dovuta alle correnti di perdita. Ridurre la tensione è il modo più efficace di ridurre il consumo, ed è il motivo per cui le logiche sono passate da 5 V a 3,3, 1,8 V e meno. Altre tecniche: spegnere il clock dei blocchi inattivi (clock gating), togliere l’alimentazione ai blocchi spenti (power gating), abbassare tensione e frequenza quando serve meno potenza di calcolo.

I tipi di uscita

  • Totem pole (push-pull): l’uscita CMOS normale, che porta attivamente la linea sia a 0 sia a 1. Due uscite push-pull collegate insieme che cercano di imporre valori diversi creano un cortocircuito.
  • Open drain (o open collector): l’uscita può solo portare la linea a 0; a 1 la porta un resistore di pull-up esterno. Più uscite si possono collegare sulla stessa linea: basta che una vada a 0 perché la linea sia 0 (un AND “cablato”). È il principio del bus I²C e delle linee di interruzione condivise. Il prezzo è un fronte di salita lento, fissato da pull-up e capacità della linea.
  • Tre stati (tri-state): oltre a 0 e 1, l’uscita può essere scollegata (alta impedenza). Molte uscite condividono un bus, e un segnale di abilitazione decide chi parla; gli altri devono essere in alta impedenza.

Gli ingressi da non dimenticare

Un ingresso CMOS lasciato scollegato non vale né 0 né 1: si carica casualmente e può oscillare, consumare e far commutare la logica. Ogni ingresso inutilizzato va collegato a massa o all’alimentazione, direttamente o con un resistore. I pulsanti hanno bisogno di un pull-up o pull-down, e producono rimbalzi (decine di commutazioni nei primi millisecondi), che si eliminano con un trigger di Schmitt e un filtro RC o via software.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x