Logica negativa

Il termine logica negativa viene utilizzato in elettronica digitale per indicare una codifica dell'informazione binaria nel quale la rappresentazione dei significati vero e falso è invertita rispetto a quella usuale. Nel caso di un segnale elettrico digitale, viene usata anche la denominazione di (segnale) active low (attivo-basso).

Principio generale

[modifica | modifica wikitesto]

Le informazioni binarie o bit sono quelle che possono assumere due soli valori, denominate di volta in volta vero/falso, attivo/inattivo, zero/uno e simili. In particolare utilizzando una opportuna rappresentazione qualsiasi numero può essere codificato usando solo informazioni binarie.

Per consentire operazioni di ordinamento fra le rappresentazioni binarie è stata adottato il criterio convenzionale che lo zero sia minore dell'uno; questa convenzione consente di affermare ad esempio che

Per estensione di questa convenzione, anche il falso è minore del vero, lo spento dell'acceso e via via per tutte le altre denominazioni che i bit possono assumere.

In elettronica digitale, che manipola informazioni binarie codificate come grandezze elettriche, i due valori logici vero/falso possono essere rappresentati dalla presenza o assenza di corrente elettrica, dalla direzione assunta dalla corrente lungo un conduttore, da due diversi livelli di tensione elettrica, dall'apertura o chiusura di un circuito e molte altre.

Anche in questo caso i due valori assunti dalla grandezza elettrica osservata sono o possono essere ordinati; ad esempio una tensione elettrica di 2 volt è minore di una di 6 volt. Se ora convenzionalmente decidiamo che il valore logico zero (minore) sia rappresentato dalla tensione più bassa, siamo in logica positiva; se al contrario assegniamo lo zero alla tensione maggiore, ci troviamo in logica negativa.

Rappresentazione

[modifica | modifica wikitesto]

La maggior parte dei dati numerici binari (valori, indirizzi di memoria) utilizzati in un bus interno di una scheda elettronica è in logica positiva, o equivalentemente si dice essere attiva-alta. Tuttavia alcune linee di controllo possono essere in logica negativa, ovvero attive-basse. È convenzione in questo caso rappresentare i nomi delle linee con un trattino sopra il nome: la linea IRQ è una richiesta di interruzione a logica negativa, talvolta indicata anche come /IRQ.

Se una linea ha due distinti significati corrispondenti ai due valori logici è consuetudine indicarla con i due nomi separati dalla barra trasversa; ad esempio un segnale che indica la modalità di lettura ("Read") con un uno e di scrittura ("Write") con uno zero è solitamente indicata con R/W.

Talvolta in modo improprio si denomina a logica negativa il funzionamento del contatto normalmente chiuso di un relè, ossia di quel contatto che interrompe un circuito quando il relè viene attivato.

Tecnologia elettronica

[modifica | modifica wikitesto]

Su brevi distanze, ad esempio all'interno della stessa scheda, le rappresentazioni più usate per le informazioni digitali sono basate su due livelli di tensione: ogni segnale inferiore alla tensione più bassa è equivalente ad uno zero, mentre se è superiore alla tensione più elevata è considerato un uno. I valori che cadono all'interno dell'intervallo sono indeterminati e solitamente si realizzano solo durante le transizioni 0 1 e viceversa.

L'effettivo valore delle due soglie di tensione dipende dalla tecnologia utilizzata; ad esempio nella logica TTL la soglia inferiore è fissata a 0,8 volt e quella superiore a 2,2 volt; nella CMOS le soglie sono a circa un terzo e due terzi della tensione di alimentazione: se questa è a 5 volt, le soglie diventano 1,3 e e 3,7 volt[1].

Su maggiori distanze è necessario avere segnali più immuni ai disturbi ed in questi casi non è infrequente una rappresentazione a logica negativa; ad esempio nello standard seriale EIA RS-232, un uno logico viene codificato con una tensione di -12 volt ed uno zero con una tensione di +12 volt rispetto al riferimento di massa. Distanze ancora maggiori richiedono codifiche differenziali come la EIA RS-485 (correnti elettriche in una direzione per lo zero ed in direzione opposta per l'uno), oppure utilizzano transizioni di stato per rappresentare i valori logici, come nella codifica Manchester. In tutti questi casi la definizione di logica positiva o negativa sarebbe impropria.