Nella logica binaria i due livelli sono alto logico e basso logico, che generalmente corrispondono ai numeri binari 1 e 0 rispettivamente. I segnali con uno di questi due livelli possono essere usati nell’algebra booleana per la progettazione o l’analisi dei circuiti digitali.
Stato attivoModifica
L’uso del livello di tensione superiore o inferiore per rappresentare uno dei due stati logici è arbitrario. Le due opzioni sono attivo alto e attivo basso. Gli stati attivo-alto e attivo-basso possono essere mescolati a piacere: per esempio, un circuito integrato di sola lettura può avere un segnale di chip-select che è attivo-basso, ma i bit di dati e indirizzo sono convenzionalmente attivo-alto. Occasionalmente un progetto logico viene semplificato invertendo la scelta del livello attivo (vedi le leggi di De Morgan).
Livello logico | Segnale attivo-alto | Segnale attivo-basso |
---|---|---|
Logico alto | 1 | 0 |
Logico basso | 0 | 1 |
Il nome di un segnale attivobasso è storicamente scritto con una barra sopra di esso per distinguerlo da un segnale attivo-alto. Per esempio, il nome Q, letto “Q bar” o “Q not”, rappresenta un segnale attivo-basso. Le convenzioni comunemente usate sono:
- una barra sopra (Q)
- una barra iniziale (/Q)
- un prefisso o suffisso n minuscolo (nQ o Q_n)
- un # finale (Q#), o
- un suffisso “_B” o “_L” (Q_B o Q_L).
Molti segnali di controllo in elettronica sono segnali active-low (di solito linee di reset, linee di chip-select e così via). Le famiglie logiche come TTL possono affondare più corrente di quella che possono generare, quindi il fanout e l’immunità al rumore aumentano. Permette anche la logica wired-OR se le porte logiche sono open-collector/open-drain con una resistenza pull-up. Esempi di questo sono il bus I²C e il Controller Area Network (CAN), e il bus locale PCI.
Alcuni segnali hanno un significato in entrambi gli stati e la notazione può indicarlo. Per esempio, è comune avere una linea di lettura/scrittura designata R/W, indicando che il segnale è alto in caso di lettura e basso in caso di scrittura.
Livelli di tensione logicaModifica
I due stati logici sono solitamente rappresentati da due tensioni diverse, ma due correnti diverse sono usate in alcune segnalazioni logiche, come l’interfaccia digitale current loop e la logica current-mode. Le soglie alta e bassa sono specificate per ogni famiglia logica. Quando è sotto la soglia bassa, il segnale è “basso”. Quando è sopra la soglia alta, il segnale è “alto”. I livelli intermedi sono indefiniti, risultando in un comportamento del circuito altamente specifico per l’implementazione.
Si usa permettere una certa tolleranza nei livelli di tensione usati; per esempio, da 0 a 2 volt potrebbero rappresentare lo 0 logico, e da 3 a 5 volt l’1 logico. Una tensione da 2 a 3 volt non sarebbe valida e si verificherebbe solo in una condizione di errore o durante una transizione di livello logico. Tuttavia, pochi circuiti logici possono rilevare una tale condizione, e la maggior parte dei dispositivi interpreterà il segnale semplicemente come alto o basso in un modo non definito o specifico del dispositivo. Alcuni dispositivi logici incorporano ingressi di trigger Schmitt, il cui comportamento è molto meglio definito nella regione di soglia e hanno una maggiore resilienza alle piccole variazioni della tensione di ingresso. Il problema del progettista di circuiti è di evitare le circostanze che producono livelli intermedi, in modo che il circuito si comporti in modo prevedibile.
Tecnologia | L tensione | H tensione | Note |
---|---|---|---|
CMOS | 0 V a 1/3 VDD | 2/3 VDD a VDD | VDD = tensione di alimentazione |
TTL | 0 V a 0.8 V | 2 V a VCC | VCC = 5 V ±10% |
Quasi tutti i circuiti digitali utilizzano un livello logico coerente per tutti i segnali interni. Questo livello, tuttavia, varia da un sistema all’altro. L’interconnessione di due famiglie logiche richiedeva spesso tecniche speciali come resistenze pull-up aggiuntive o circuiti di interfaccia costruiti appositamente, noti come traslatori di livello. Un traslatore di livello collega un circuito digitale che usa un livello logico a un altro circuito digitale che usa un altro livello logico. Spesso si usano due traslatori di livello, uno per ogni sistema: Un line driver converte da livelli logici interni a livelli di linea di interfaccia standard; un line receiver converte da livelli di interfaccia a livelli di tensione interni.
Per esempio, i livelli TTL sono diversi da quelli CMOS. Generalmente, un’uscita TTL non sale abbastanza in alto da essere riconosciuta in modo affidabile come un 1 logico da un ingresso CMOS, specialmente se è collegata solo a un ingresso CMOS ad alta impedenza di ingresso che non genera una corrente significativa. Questo problema è stato risolto con l’invenzione della famiglia di dispositivi 74HCT che utilizza la tecnologia CMOS ma livelli logici di ingresso TTL. Questi dispositivi funzionano solo con un’alimentazione di 5 V.