Sie sind auf Seite 1von 23

TEMA 9: MULTIPLEXORES Y

DEMULTIPLEXORES A NIVEL SSI Y


MSI. APLICACIONES
MULTIPLEXORES
En las comunicaciones, y sistemas de computadora se ejecutan muchas
operaciones mediante circuitos lgicos combinatorios. Cuando un
circuito se ha diseado para efectuar alguna tarea en una aplicacin, a
menudo tambin encuentra empleo en otras diferentes aplicaciones. En
este tema se tratarn los multiplexores y demultiplexores tanto a nivel
SSI como MSI y como podemos aprovechar sus funciones en el desarrollo
de circuitos combinacionales.

Un Multiplexor o Selector de datos es un circuito lgico que acepta


varias entradas de datos y permite que slo una de ellas pase a un
tiempo a la salida. El enrutamiento de la entrada de datos hacia la salida
est controlado por las entradas de seleccin (a las que se hace
referencia a veces como las entradas de direccin).
El multiplexor, tambin conocido como MUX, acta como un
conmutador multiposicional controlado digitalmente, donde el cdigo
digital aplicado a las entradas de seleccin controla cules entradas de
datos sern conmutadas hacia la salida. Por ejemplo, la salida ser igual
a la entrada de datos, llammosle D0, para el cdigo de entrada de
seleccin que sea cero (ABC=000 en el diagrama de abajo); la salida
ser igual D1 para cuando el cdigo de seleccin sea uno y as
sucesivamente. Establecido de otra manera, un multiplexor selecciona 1

de N fuentes de datos y transmite los datos seleccionados a un solo


canal de salida. Esto se llama multiplexin o multiplexaje.
Los multiplexores son representados en diagramas de bloques como
trapezoides issceles. A continuacin muestro el esquemtico de un
multiplexor de dos entradas y una salida con su respectivo bit de
seleccin:

Un ejemplo de multiplexores
(aunque no digitales como los que
vemos aqu) se ve en las lneas telefnicas. stas usan exactamente
este principio. Transmiten varias llamadas telefnicas (seales de audio)
a travs de un nico par cableado usando la tcnica de multiplexado y
cada seal de audio va nicamente

al receptor

al que est destinado.


Una aplicacin comn para los MUX

es

encontrado en las computadoras, en

las cuales la

memoria dinmica usa las mismas

lneas de

direccin para el direccionamiento tanto de las filas como de las


columnas. Un grupo de multiplexores es usado para primero seleccionar
las direcciones de la columna y luego cambiar para seleccionar la de la
fila. Este esquema permite que grandes cantidades de memoria sean
incorporadas dentro de una computadora mientras se limita a la vez la
cantidad de conexiones de cobre requeridas para conectar la memoria al
resto del circuito. Por eso es que tambin se les conoce a veces como
selectores de datos.

Ya se vio el smbolo esquemtico del multiplexor de 2 entradas y una


salida pero los multiplexores no estn limitados a 2 entradas. Si las
lneas de seleccin son dos podemos alternar entre 4 datos de entrada,
si son 3 entre 8 y as sucesivamente. A continuacin se muestran los
smbolos esquemticos de los multiplexores de 4 a 1 (cuatro entradas
y una salida), 8 a 1 (ocho entradas y una salida) y 16 a 1 (diecisis
entradas y una salida) con sus respectivas lneas de seleccin,
respectivamente.

En todos los casos la


salida es Z, las entradas
de seleccin S y el resto es la entrada que ser multiplexada.
A veces pueden verse en forma rectangular asemejando el circuito
integrado que representan pero en este caso siempre deben ir bien
identificados para poder saber que es. Por ejemplo:

representa (como se ve indicado) un multiplexor a nivel MSI de 8


entradas (que implica las 3 lneas de seleccin) y una salida (F). Las
entradas de seleccin, o sea, quienes indicarn cual de las entradas ser
reflejada en la salida, vienen dadas por el cdigo binario representado
por ABC. ABC son las entradas de direccionamiento o de direccin o de
seleccin, como usted lo quiera llamar, ya que estas sern quienes

indican el dato a acceder. Este mismo concepto es el usado en las


memorias.
Veamos ahora la implementacin de
multiplexores a nivel SSI. Para el caso de un
multiplexor de 2 entradas y una salida (quien
por supuesto requiere slo una lnea de
seleccin) el circuito sera:

El uso del inversor dos veces NO es absolutamente necesario. Se


observa que cuando la entrada de seleccin A tiene un valor
cualquiera, una de las compuertas AND tendr un UNO en una de sus
entradas y la otra un CERO. La que tiene el CERO dejar pasar slo el
CERO pero el que tenga el valor de UNO dejar pasar la otra entrada de
la AND intacta y ser este valor quien se refleje a la salida. Pueden
verificar este circuito a travs de su tabla de la verdad. Vemosla a
continuacin:

A X0 X1 X

1 1

Se ve aqu que cuando que cuando A=0, X=X0 y cuando A=1, X=X1. Esto
representa la funcin booleana: X = AX1+A'X0 que es exactamente la
implementacin mostrada.

Veamos como se ven las implementaciones de 4 a 1 y de 16 a 1:

Analcenlos y si lo desean hagan sus tablas de la verdad.


Se ve que en el diseo de multiplexores de n entradas se requerir
siempre

lneas de seleccin (que dara un nmero entero si n es

potencia de 2). Claro que, aunque es lo normal, el multiplexor no


necesariamente debe tener 2m lneas de entrada con m entero pero en
todo caso se requerirn tantas lneas de seleccin que hagan suficientes
combinaciones para direccionar todas las entradas. Por ejemplo, para
multiplexar 3 4 entradas se requieren 2 lneas de seleccin. Si se
requiere multiplexar 5, 6, 7 8, entonces se necesitan 3 lneas de
seleccin y as sucesivamente.

El Multiplexor es tpicamente usado para combinar dos o ms seales


digitales en una sola lnea pero no es la nica forma. Tambin puede
conseguirse de otras caractersticas pero aqu mencionar slo un par
de ejemplos de multiplexores:

De dos entradas de 4 bits y una salida de 4 bits. ste selecciona


uno de los nibbles de entrada (internamente son 4 multiplexores
de 2 a 1 en un solo encapsulado) y lo refleja en la salida.

De dos entradas de 4 bits a una salida de dos bits que representan


un bit direccionado en cada nibble reflejado a la salida
(internamente son 2 multiplexores de 4 a 1).

Algunas designaciones para multiplexores de la familia TTL son: 74153


que son dos multiplexores 4 a 2, 74157 que son cuatro MUX 2 a 1 y el
74151 que es un MUX 8 a 1.
Los circuitos multiplexores pueden incluir tambin una lnea de
habilitacin indicado con una E por Enable, pero de eso hablaremos en el
prximo tema.
Como ltimo comentario de lo multiplexores quiero agregar que estos
pueden ser organizados en cascada (tal como los sumadores que vimos
en el tema anterior) para implementar multiplexores ms grandes. Por
ejemplo podemos usar multiplexores de 2 a 1 para implementar un
multiplexor de 4 a 1 (o de 4 a 2 que si lo piensan se darn cuenta de que
es elemental) o incluso para implementar multiplexores de ms
entradas. Veamos especficamente el ejemplo de implementacin de un
multiplexor de 16 a 1 usando slo multiplexores de 4 a 1. El dato de
entrada es X formado por los 16 bits x0, x1,...,x14 y x15. Las lneas de
seleccin vienen dadas por S. OJO con este ejemplo. Analcelo y
entindalo.

En los multiplexores vemos tambin la entrada de enable E (que adems


son de lgica negativa que quiere decir que los IC's se activaran con un
cero). Ese es el bit de habilitacin que les dije veremos en el prximo
tema.

DEMULTIPLEXORES
Es lo inverso a un multiplexor. Los demultiplexores o DEMUX tienen una
entrada que es transferida a una de las m posibles lneas de salida. La
lnea m vendr direccionada por los n bits de seleccin donde lo normal
es que 2n=m. Se podra decir que, como profundizaremos en el prximo
tema, cada salida del demultiplexor corresponde con el trmino
mnimo del nmero binario que se encuentra en las lneas de
seleccin.
Un uso popular del DEMUX es como decodificador y por eso suele usarse
el trmino Demultiplexor/Decodificador indistintamente. Ya hablaremos
de l en prximo tema, pero el propsito principal de un decodificador
no es tanto transferir una entrada a una de las salidas sino llevar un
valor binario (el de la entrada de seleccin) a una representacin de una
nica lnea a la salida. Esta funcin es de gran utilidad en la
decodificacin de la direccin en los microporcesadores por ejemplo
cuando involucra la seleccin de uno de multiples dispositivos (como por

ejemplo la memoria). De hecho, la mayora de los decodificadores son


de lgica invertida (o negativa) debido a que la mayora de los
dispositivos perifricos de los microprocesadores son activados por una
seal baja (como el pin E' que vimos en los multiplexores en cascada
hace un par de prrafos).
Los DEMUX tambin suelen incluir un bit de entrada de habilitacin.
Algunos DEMUX de la familia TTL son: el 74139 que son dos DEMUX de 1
a 4 con salidas invertidas (lgica negada), el 74156 que son dos DEMUX
de 1 a 4 con salida de colector abierto (Open Collector), el 74138 que es
un DEMUX de 1 a 8 con salida invertida, el 74156 que es un DEMUX de 1
a 16 y el 74159 que es de 1 a 16 con salida a colector abierto.
Veamos a continuacin la implementacin de demultiplexores a nivel
SSI. Para el caso de un demultiplexor de 1 a 2 sera:

Se observa que el circuito tiene slo


una entrada (representada por IN),
dos salidas (OUT1 y OUT0) y el bit de
direccin (A). El proceso es justo el
contrario del multiplexor. Para los
casos de DEMUX de 1 a 4 y de 1 a 8 tenemos las siguientes
implementaciones.

Si lo desean hagan sus tablas


de la verdad para que les
facilite entender el
comportamiento de estos

circuitos .

APLICACIONES
Resulta que algunas veces un circuito diseado para cierto fin suele ser
de gran utilidad en la resolucin de problemas que no fueron
exactamente para el que fueron diseados. El multiplexor es una de
esos ejemplos. Una poderossima utilidad de los multiplexores est en la
implementacin de funciones lgicas.
Vamos a estudiar algunas posibilidades de implementacin de funciones
lgicas mediante multiplexores. Veamos el siguiente ejemplo:

F(x2, x1, x0 ) = (2,5,6)


Sabemos que esta funcin es uno para los trminos mnimos 2, 5 y 6.
Esta funcin tiene 3 variables que pueden formar 8 combinaciones. La
forma ms sencilla de implementacin, que es la que veremos a
continuacin, es a travs de un multiplexor de 8 a 1. Veamos la tabla de
la verdad de la funcin y la implementacin con el multiplexor:

Dado que se trata de una funcin de tres variables, el mtodo acabado


de sugerir implica en principio utilizar un multiplexor de 8 canales (es
decir,con 3 entradas de control). Hay que conectar las variables x2, x1 y
x0 a las entradas de seleccin e introducir en cada uno de los canales el
valor ("0" o "1") que toma la funcin para cada combinacin de dichas
variables. Observe la figura y note que el paso de una a otra es
inmediato ya que el multiplexor tiene cableada las entradas 2, 5 y 6 a
uno y el resto a cero. De esta forma se garantiza que para las
combinaciones de las variables X (quien se coloc en las lneas de
seleccin) para los que se requiere que la
funcin sea uno harn f=1.

Veamos otro ejemplo.


F(A,B,C)=(3,5,6,7). Con un multiplexor
de 8 entradas se vera:

Es fcil de observar el porque de sto, as que no lo analizaremos ms.

Llegados a este punto, una pregunta que


podemos hacernos es si es posible implementar
funciones de n variables mediante
multiplexores con menos de n entradas de
control. La respuesta es afirmativa, aunque
para ello ser necesario en general aadir algn
mdulo o conjunto de puertas. Siempre
podremos implementar funciones lgicas
de 2n combinaciones con multiplexores de
2n-1 entradas. O lo que es lo mismo, siempre podremos implementar
funciones lgicas de n variables con un multiplexor de n-1 lneas de
seleccin. Veamos el siguiente ejemplo:
F(A,B,C) = (1,3,5,6)
Esta funcin tiene 8 (23) posibles combinaciones de variables (3
variables) pero debemos implementarlo con un multiplexor de slo dos
(3-1) entradas de seleccin, o sea, un multiplexor de 4 (22) a 1.
Llamemos a la entrada del multiplexor I (I3 I2 I1 I0). La tabla de la verdad
de la funcin F es:

Lo primero que debemos hacer es decidir como vamos a trabajar con las
variables. En estos casos slo n-1 de las variables de la funcin se
usarn en las lneas de seleccin y la otra restante se usar a la entrada
del multiplexor. Es este caso particular slo dos de las variables pueden
ser usadas en las lneas de seleccin. He decidido que stas sern B y C.
Por lo tanto A ser usada a la entrada del multiplexor. Ok, lo primero que
haremos ser formar una tabla. sta deber tener todas las posibles
entradas del multiplexor como ttulos de las columnas y las dos posibles
combinaciones de la variable que decidimos usar en la entrada (en
nuestro caso A en sus formas A' [0] y A [1]) como ttulos de las filas.

I0

A'

I1

I2

I3

A cada celda de la tabla le corresponder un trmino mnimo. Vemos


que cuando A=0 (A'), los trminos de la funcin van del 0 al 3 y cuando
A=1 (A) van de 4 a 7. O sea que la tabla deber ser llenada con:

I0

I1

I2

I3

A'

m0

m1

m2

m3

m4

m5

m6

m7

Aqu usted podra slo encerrar en crculos los trminos mnimos que
sean uno en la funcin (en nuestro caso m1, m3, m5 y m7 ) para procesar
la tabla. Yo sencillamente voy a encerrarla con parntesis (nicamente
por comodidad y no tener que estar haciendo ms grficos). Tambin
suele colocarse slo el nmero del trmino en vez del mn. Entonces,
colocando los crculos donde corresponde tenemos:

I0

I1

I2

I3

A'

(1)

(3)

(5)

(6)

Aqu empezamos el anlisis. Cuando en una columna de la tabla no hay


ningn termino en crculo como es el caso de la primera columna,
concluimos que en esa entrada del multiplexor debe ir 0 (cero). Cuando
en una columna AMBOS trminos aparecen en crculo decimos que en
esa entrada del multiplexor debemos colocar un uno. Cuando en una
columna slo UNO de los trminos aparece en crculo, decimos que en la
entrada correspondiente del multiplexor se colocar la variable escogida
(en nuestro caso la A) en la forma que aparezca con crculo que aqu
sera A para la tercera columna y A' para la cuarta columna.
Regularmente nuestra tabla, luego del anlisis, quedara:

I0

I1

I2

I3

A'

(1)

(3)

(5)

(6)

A'

Por lo tanto, nuestra implementacin de la funcin F de tres variables


con un multiplexor de 4 a 1 (con slo dos lneas de seleccin) nos
quedara:

La entrada I1 puede ir directamente conectada a UNO (1 Vcc) y


ahorrarnos ese inversor.

Yo
decid
poner B
y C en
las

entradas de seleccin pero podra ir cualquier combinacin de dos


variables. Lo nico que hay que tener en cuenta es que la tabla no
lleva los trminos mnimos organizados de la misma forma.
Supongamos que queremos poner A y B en las lneas de
direccionamiento, entonces nuestra tabla sera:

I0

I1

I2

I3

C'

(6)

(1)

(3)

(5)

C'

Ya que C es el bit menos significativo y para las casos donde A y B son


cero con C' tenemos el cero y con C el uno, Si A=0 y B=1 entonces en C'
tenemos 2 y en C tres, y as sucesivamente. Aqu ya slo nos quedara
implementar el circuito que sera colocando A en S1, B en S0, C en I0 e I1
e I2 y por ltimo C' en I3. Haga el esquemtico.
Por ltimo con respecto a este mismo ejemplo, demuestre que si
quisiramos colocar B en la entrada, la tabla quedara:

I0

I1

I2

I3

B'

(1)

(5)

(3)

(6)

B'

y dibuje el esquemtico.

Veamos como ltimo ejemplo de sto la funcin


F(A,B,C,D)=(0,1,3,4,8,9,15). Suponiendo que queremos cablear A en la
entrada, nuestra tabla aqu sera:

I0

I1

I2

I3

I4

I5

I6

I7

A'

(0)

(1)

(3)

(4)

(8)

(9)

10

11

12

13

14

(15)

A'

A'

Y el circuito sera:

Aqu
tambin
podemos
eliminar el
uso de uno
de los
inversores
y cablear
directo a 0
1

dependiendo del caso. Haga este ejercicio para los casos con B, C D a
la entrada del multiplexor.

Diseo combinacional con demultiplexores.

Este tema ser visto mejor ms adelante con el uso de decodificadores


pero igual ser comentado brevemente aqu. Al presentar los
demultiplexores se comentaba el hecho de que cada una de las salidas
coincide algebraicamente con un trmino mnimo diferente de las
variables de entrada. Por tanto es inmediato sintetizar directamente
cualquier funcin de n variables mediante un demultiplexor con n
lneas de seleccin y una puerta OR que agrupe las salidas
correspondientes a los trminos mnimos que aparecen en la
expresin cannica como suma de productos de la funcin. Veamos por
ejemplo la implementacin de un generador de un bit de paridad impar
para un cdigo de 3 bits. Su tabla de verdad sera:
A

No hacemos mapa de Karnaugh ya que simplificar la funcin no es


requerido en este tipo de ejercicios debido a que la implementacin ser
hecha a nivel MSI y lo nico que nos interesa realmente es que trminos
mnimos conforman la funcin.
De la tabla de la verdad anterior podemos concluir que la
implementacin de esa funcin lgica a travs de un demultiplexor
sera:

La entrada E' es el bit de habilitacin del IC.

EJERCICIOS
1. Implemente un multiplexor de 8 bits de entrada (dos nibbles
indicando dos datos diferentes) y dos de salida (uno de cada
nibble) mediante multiplexores de 2 a 1.
2. Implemente un multiplexor con dos nmeros binarios de 3 bits (X2,
X1, X0 y Y2, Y1, Y0) como entrada que transmita una u otra a la
salida Z (Z2, Z1 y Z0) con la ayuda de una nica lnea de seleccin
usando multiplexores de 2 a 1.
3. Implemente la siguiente funcin con multiplexores 8 a 1 y 4 a 1:
F(A,B,C)=(0,1,4,7). En el caso de 4 a 1, hgalo de las tres formas
posibles (Con A, B C a la entrada del multiplexor).

4. Implemente las siguientes funciones con multiplexores de forma


ptima (para funciones N variables use multiplexores de N-1 lneas
de seleccin):
F(A, B, C, D) = (0,4,6,10,11,13)
F(w, x, y, z) = (3,4,5,7,11,12,14,15)
F(a, b, c, d) = (3,5,7,11,15)
F(A, B, C, D, E) = (0,1,2,8,9,11,15-19,24,25,29-31)
F(A, B, C, D, E, F) = (0,2,4,5,7,8,16,18,24,32,36,40,48,56)
5. Un nmero primo es aquel que slo es divisible entre si mismo y la
unidad. Disee un circuito lgico que detecte todos los nmeros
primos entre 0 y 31. La salida F(A, B, C, D, E), donde A es la
variable de mayor peso binario, ser igual a 1, si y slo si, los
cinco bits de la entrada representan un nmero primo. Realice el
circuito ptimo utilizando un multiplexor.
6. Disee un circuito que convierta de BCD a exceso a 3 con
multiplexores.
7. Disee un circuito que convierta de BCD a 84-2-1 con
multiplexores.
8. El cerebro humano est hecho de clulas especializadas llamadas
neuronas. Cada neurona tiene sinapsis (que son los puntos de
conexin entre ellas) y stas pueden ser de excitacin y de
inhibicin (VER NOTA ANEXA *). Una neurona produce una salida
f=1 si el nmero de sinapsis de excitacin con pulsos 1 excede el
nmero de sinapsis de inhibicin con pulsos 1 por al menos,
llammosle, el valor de umbral (o sea, al menos 1) de la neurona.
Dicho lo anterior, determine la funcin booleana f(a, b, c, d, e) de
emisin de pulsos a travs del canal de salida f (axn) en el

modelo de la figura de abajo y realice el circuito ptimo con un


multiplexor.

NOTA (*):

La actividad de nuestro cerebro resulta de un balance entre la


excitacin y la inhibicin. La excitacin involucra principalmente al
Glutamato, que es el neurotransmisor excitatorio por excelencia
mientras la inhibicin es causada en su mayora por el
neurotransmisor GABA. En la Sinapsis las molculas transmisoras
actan sobre receptores situados en la membrana postsinptica,
con lo cual se altera la permeabilidad para los iones de dicha
membrana. En el caso del glutamato despolariza (excitacin) la
membrana postsinptica por un incremento en la permeabilidad a
cationes como el Na+ y Ca2+. Por el contrario, GABA hiperpolariza

la membrana postsinptica (inhibicin) producto del incremento en


la permeabilidad al Cl-. Al nivel neuronal, la excitacin permite la
propagacin de la seal bioelctrica mientras que la inhibicin
evita dicha propagacin.

En la prxima clase se ver el TEMA 10: Decodificadores y codificadores


nivel SSI y MSI. Aplicaciones.