Multiplexer (selettore)
Il multiplexer è un circuito capace di selezionare uno tra i vari ingressi possibili e di trasferire il dato in esso presente in uscita. E' sempre dotato di uno o più ingressi di selezione: m ingressi di selezione servono per pilotare n=2m ingressi dati.
Nel disegno precedente è rappresentato un multiplexer nella sua
forma più semplice, con 2 ingressi dati ed 1 ingresso di selezione.
E' l'ingresso di selezione P a decidere quale delle due variabili di ingresso
viene trasferita in uscita. Se P=1 si ha Y=A; se invece P=0 si ha Y=B.
Qui di seguito è disegnato un multiplexer con 4 ingressi dati e 2
ingressi di selezione.
La funzione logica che viene realizzata è
Dunque tra gli n ingressi dati e gli m ingressi di selezione esiste la relazione
ad esempio, se un multiplexer ha 8 ingressi dati saranno necessarie 3 linee di selezione dal momento che 23=8 sono le possibili configurazioni binarie.
Multiplexer e funzioni logiche
Uno degli impieghi principali del mux è la realizzazione di funzioni logiche; ad esempio si debba realizzare la funzione:
che ha la seguente tabella della verità:
useremo il mux interpretando gli ingressi come indicato nel disegno qui sotto.
La funzione logica associata a questo dispositivo è:
Se pensiamo a sostituire X1=X2=C e X3=C il circuito che realizza la funzione è:
In realtà il multiplexer come generatore di funzioni, deve essere trattato attraverso una tecnica più sistematica; supponiamo di avere la seguente tabella della verità :
associata alla funzione logica per comprendere il modo di impiego del mux si realizza la seguente tabella:
normalmente si usa un mux con tanti selettori quante sono le variabili
cioè, in questo caso, a 8 ingressi dati e 3 ingressi di selezione, con funzione
avendo posto X0=X3=X5=X6=0 e X1=X2=X4=X7=1 si riduce
che è la funzione che volevamo.
La soluzione precedente ha come inconveniente quello di richiedere un discreto numero
di selettori e quindi un elevato numero di ingressi.
Esiste una tecnica che consente di implementare funzioni a più variabili
ricorrendo ad un numero di selettori pari al numero delle variabili meno
uno e di inserire la variabile restante negli ingressi del mux.
Si esprimono i mintermini in forma decimale, cioè, rifacendoci al caso
precedente con Y=∑(1, 2, 4, 7); useremo un mux a due selettori e quattro
ingressi binari.
Teniamo conto che nella tabella della verità le variabili sono disposte
in ordine del peso binario crescente (da sinistra verso destra), si assegnano
ai selettori le variabili di peso più basso e si riservano gli ingressi
alla variabile di peso più alto.Qundi nel nostro caso:
la variabile C al selettore P0
la variabile B al selettore P1
la variabile C agli ingressi con
gli stati 0÷3 caratterizzati da C=0
gli stati 4÷7 caratterizzati da C=1
si segnano (cerchiandoli) i termini che compongono la funzione logica
e si sommano lungo le colonne. Attenzione, se su una colonna non sono presenti indici di mintermini si riporta 0, se tutte e due gli indici della colonna sono contrassegnati si riporta 1 (perchè ad es A+A=1). Si ottengono in tal modo i valori da assegnare agli ingressi del mux.
Qui, rifacendoci alla funzione di commutazione del mux a 4 ingressi dati con 2 selettori, abbiamo:
Demultiplexer
E' un dispositivo che esegue la funzione inversa del multiplexer: il demultiplexer (dmux) è in grado di trasferire su n linee di uscita, opportunamente selezionate, l'informazione presente su un'unica linea di ingresso. Un possibile schema per la costruzione di un demultiplexer è il seguente
notiamo che questo dmux trasferisce soltanto il dato alto, portando l'uscita selezionata bassa; non è possibile trasferire il dato basso. Il demultiplexer viene impiegato come distributore di dati e come sequenziatore.