Decoder (elettronica)

dispositivo che inverte l'operazione di un encoder

Il decoder o decodificatore è un tipo di componente usato nell'elettronica digitale. In termini generali, qualunque informazione che sia ricevuta in una forma digitale codificata necessita di un processo di decodifica, più o meno complesso; questo è il compito del decoder.

Il decoder nei circuiti digitali

Il componente logico elementare chiamato decoder, usato nei circuiti digitali, opera una decodifica semplice di una stringa di bit. La sua funzione è opposta a quella dell'encoder: in base alla combinazione dei bit presenti ai suoi ingressi, attiva una corrispondente combinazione di bit sulle linee di uscita.

Si consideri il caso più semplice possibile di un decodificatore con 2 ingressi e quindi 22=4 uscite, rappresentato dalla seguente tabella di verità:

Tabella di verità per il decodificatore a 2 ingressi e 4 uscite
Entradas Salidas
A1 A0 D3 D2 D1 D0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0
 
Decodificatore a 2 ingressi e 4 linee di uscita. Le uscite si attivano convenzionalmente col valore di ingresso pari a 1.

Un tipo di decodificatore molto utilizzato è il decodificatore a sette segmenti. Questo circuito decodifica le informazioni di ingresso BCD in un codice a sette segmenti adatto alla visualizzazione su un display a sette segmenti.

Esistono vari tipi di decodificatore: BCD-decimale (4 a 10), binario-ottale (2 a 8), binario-esadecimale (4 a 16), codice Gray-decimale, ecc.
Per esempio un decodificatore binario-decimale può essere rappresentato con la seguente tabella di verità:

D C B A | 0 1 2 3 4 5 6 7 8 9
--------+--------------------
0 0 0 0 | 1 0 0 0 0 0 0 0 0 0 
0 0 0 1 | 0 1 0 0 0 0 0 0 0 0
0 0 1 0 | 0 0 1 0 0 0 0 0 0 0
0 0 1 1 | 0 0 0 1 0 0 0 0 0 0
0 1 0 0 | 0 0 0 0 1 0 0 0 0 0
0 1 0 1 | 0 0 0 0 0 1 0 0 0 0 
0 1 1 0 | 0 0 0 0 0 0 1 0 0 0
0 1 1 1 | 0 0 0 0 0 0 0 1 0 0
1 0 0 0 | 0 0 0 0 0 0 0 0 1 0
1 0 0 1 | 0 0 0 0 0 0 0 0 0 1
1 0 1 0 | 0 0 0 0 0 0 0 0 0 0
1 0 1 1 | 0 0 0 0 0 0 0 0 0 0 
1 1 0 0 | 0 0 0 0 0 0 0 0 0 0
1 1 0 1 | 0 0 0 0 0 0 0 0 0 0
1 1 1 0 | 0 0 0 0 0 0 0 0 0 0
1 1 1 1 | 0 0 0 0 0 0 0 0 0 0

Questo decodificatore si trova nella condizione per cui  . In questo caso, solo le prime 10, delle 16 combinazioni possibili sui 4 fili di ingresso, danno luogo ad una corrispondente combinazione sui 10 fili di uscita, le 6 combinazioni successive non danno luogo ad un'uscita, sono ininfluenti.

Generalizzando, se si hanno n linee di ingresso, viene attivata esclusivamente una delle m linee di uscita con:  
In base a questo il decodificatore viene detto n a m.

Decodificatori integrati

Esistono vari tipi di circuiti integrati che svolgono la funzione di decodificatore. La maggior parte di essi, oltre alle linee di ingresso e di uscita dei segnali, dispongono di alcuni ingressi supplementari, come per esempio l'enable, che serve per l'abilitazione del componente, oppure ingressi e uscite per il collegamento in cascata di più integrati.

I decodificatori integrati più diffusi sono:

  • Per la famiglia TTL il 7442 e il 74F537: decodificatore BCD-decimale (4 a 10), il secondo fa parte della famiglia TTL veloce e dispone del comando per poterlo isolare dal Bus mettendolo in alta impedenza (Three state).
  • Per la famiglia CMOS il 4028: decodificatore BCD-decimale.
  • Per i pilotaggi display a 7 segmenti, il 7447: decodificatore-pilota BCD-7 segmenti.

Dispositivi autonomi che svolgono la funzione di decoder

  • Ricevitore satellitare: riceve in ingresso il segnale digitale che arriva dal satellite e in uscita il segnale analogico per il televisore.
  • Ricevitore del digitale terrestre (comunemente chiamato semplicemente "decoder"): analogo al ricevitore satellitare, opera sul segnale digitale ricevuto dall'antenna terrestre.
  • Lettore MP3 e lettore Divx: la grande maggioranza dei segnali audio e video, come per esempio musica, film e video online, sono memorizzati in formati codificati in modo efficiente, e pertanto per essere riprodotti hanno bisogno di un software che li decodifichi.

Applicazioni del decodificatore

La funzione principale del decodificatore è quella di indirizzare gli spazi di memoria. Un decodificatore con N ingressi è in grado di indirizzare 2N spazi di memoria.

Per indirizzare 1Kib di memoria, sarebbero necessari 10 bit, dato che il numero di uscite sarebbe  , pari a 1024.

Quindi:

  • con 20 bit si ha  , pari a 1 Mb;
  • con 30 bit si ha  , che equivale a 1 Gb.

Collegamenti esterni