APLICACIONES MULTIPLEXORES En este tema se tratarn los multiplexores y demultiplexores tanto a nivel SSI como MSI y como se pueden aprovechar sus funciones en el desarrollo de circuitos combinacionales. As mismo, se tratarn los circuitos contadores y decodificadores. Un Multiplexor o Selector de datos es un circuito l!"ico #ue acepta varias entradas de datos y permite #ue s!lo 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 selecci!n $a las #ue se hace referencia a veces como las entradas de direcci!n% de salida. Equivalente mecnico de un multiplexor Diagrama general de un multiplexor digital El multiplexor, tambi&n conocido como MUX, act'a como un conmutador multiposicional controlado di"italmente, donde el c!di"o di"ital aplicado a las entradas de selecci!n controla cules entradas de datos sern conmutadas hacia la salida. (or e)emplo, la salida ser i"ual a la entrada de datos, llmese * 0, para el c!di"o de entrada de selecci!n #ue sea cero $A+,-... en el dia"rama de aba)o%/ la salida ser i"ual * 1 para cuando el c!di"o de selecci!n sea uno y as sucesivamente. *icho 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 multiplexi!n o multiplexa)e. 0os multiplexores son representados en dia"ramas de blo#ues como trape1oides is!sceles. A continuaci!n se muestra el dia"rama es#uemtico de un multiplexor de dos entradas y una salida con su respectivo bit de selecci!n2 Un e)emplo de multiplexores $no di"itales% se ve en las lneas telef!nicas. 3stas usan exactamente este principio. 4ransmiten varias llamadas telef!nicas $se5ales de audio% a trav&s de un 'nico par cableado usando la t&cnica de multiplexado6 y cada se5al de audio va 'nicamente al receptor al #ue est destinado. Una aplicaci!n com'n para los MU7 es encontrado en las computadoras, en las cuales la memoria dinmica usa las mismas lneas de direcci!n para el direccionamiento tanto de las filas como de las columnas. Un "rupo de multiplexores es usado para seleccionar las direcciones de la columna y lue"o cambiar para seleccionar la de la fila. Este es#uema permite #ue "randes cantidades de memoria sean incorporadas dentro de una computadora mientras se limita a la ve1 la cantidad de conexiones de cobre re#ueridas para conectar la memoria al resto del circuito. (or eso es #ue tambi&n se les conoce a veces como selectores de datos6. 8a se vio el smbolo es#uemtico del multiplexor de 9 entradas y una salida pero los multiplexores no estn limitados a 9 entradas. Si las lneas de selecci!n son dos se puede alternar entre : datos de entrada, si son ; entre < y as sucesivamente. A continuaci!n se muestran los smbolos es#uemticos de los multiplexores de : a =6 $cuatro entradas y una salida%, < a =6 $ocho entradas y una salida% y => a =6 $diecis&is entradas y una salida% con sus respectivas lneas de selecci!n, respectivamente. En todos los casos la salida es ?, las entradas de selecci!n S y el resto es la entrada #ue ser multiplexada. A veces pueden verse en forma rectan"ular aseme)ando el circuito inte"rado #ue representan pero en este caso siempre deben ir bien identificados para poder saber #ue es. (or e)emplo representa un multiplexor a nivel MSI de < entradas $#ue implica las ; lneas de selecci!n% y una salida $@%. 0as entradas de selecci!n, o sea, #uienes indicarn cual de las entradas ser refle)ada en la salida, vienen dadas por el c!di"o binario representado por A+,. A+, son las entradas de direccionamiento6 o de direcci!n o de selecci!n, ya #ue estas sern #uienes indican el dato a acceder. Este mismo concepto es el usado en las memorias. IM(0EMEA4A,IBA *E MU04I(0E7CDES A AIEE0 SS (ara el caso de un multiplexor de 9 entradas y una salida $#uien por supuesto re#uiere s!lo una lnea de selecci!n% el circuito sera2 El uso del inversor dos veces AC es absolutamente necesario. Se observa #ue cuando la entrada de selecci!n A6 tiene un valor cual#uiera, una de las compuertas AA* tendr un UAC en una de sus entradas y la otra un ,EDC. 0a #ue tiene el ,EDC de)ar pasar s!lo el ,EDC pero el #ue ten"a el valor de UAC de)ar pasar la otra entrada de la AA* intacta y ser este valor #uien se refle)e a la salida. Se puede verificar este circuito a trav&s de su tabla de la verdad. Eemosla a continuaci!n2 A X 0 X 1 X . = = = = . = . = . . . . = = = = = . . . = = . . . Se ve a#u #ue cuando A-., 7-7 . y cuando A-=, 7-7 = . Esto representa la funci!n booleana2 X AX 1 !A"X 0 #ue es exactamente la implementaci!n mostrada. Eeamos como se ven las implementaciones de : a = y de => a =2 Se ve #ue en el dise5o de multiplexores de n entradas se re#uerir siempre lneas de selecci!n $#ue dara un n'mero entero si n es potencia de 9%. ,laro #ue, aun#ue es lo normal, el multiplexor no necesariamente debe tener 9 m lneas de entrada con m entero pero en todo caso se re#uerirn tantas lneas de selecci!n #ue ha"an suficientes combinaciones para direccionar todas las entradas. (or e)emplo, para multiplexar ; ! : entradas se re#uieren 9 lneas de selecci!n. Si se re#uiere multiplexar F, >, G ' <, entonces se necesitan ; lneas de selecci!n y as sucesivamente. El Multiplexor es tpicamente usado para combinar dos o ms se5ales di"itales en una sola lnea pero no es la 'nica forma. 4ambi&n puede conse"uirse de otras caractersticas pero a#u mencionar& s!lo un par de e)emplos de multiplexores2 *e dos entradas de : bits y una salida de : bits. 3ste selecciona uno de los nibbles de entrada $internamente son : multiplexores de 9 a = en un solo encapsulado% y lo refle)a en la salida. *e dos entradas de : bits a una salida de dos bits #ue representan un bit direccionado en cada nibble refle)ado a la salida $internamente son 9 multiplexores de : a =%. Al"unas desi"naciones para multiplexores de la familia 440 son2 G:=F; #ue son dos multiplexores : a 9, G:=FG #ue son cuatro MU7 9 a = y el G:=F= #ue es un MU7 < a =. 0os circuitos multiplexores pueden incluir tambi&n una lnea de habilitaci!n indicado con una E por Enable, pero de eso hablaremos en el pr!ximo tema. ,omo 'ltimo comentario de lo multiplexores #uiero a"re"ar #ue estos pueden ser or"ani1ados en cascada para implementar multiplexores ms "randes. (or e)emplo se pueden usar multiplexores de 9 a = para implementar un multiplexor de : a = $o de : a 9 #ue si lo piensan se darn cuenta de #ue es elemental% o incluso para implementar multiplexores de ms entradas. Eeamos especficamente el e)emplo de implementaci!n de un multiplexor de => a = usando s!lo multiplexores de : a =. El dato de entrada es 7 formado por los => bits x . , x = ,...,x =: y x =F . 0as lneas de selecci!n vienen dadas por S. O#O con este e)emplo. En los multiplexores vemos tambi&n la entrada de enable E $#ue adems son de l!"ica ne"ativa #ue #uiere decir #ue los I,Hs se activaran con un cero%. DEMULTIPLEXORES Es lo inverso a un multiplexor. 0os demultiplexores o *EMU7 tienen una entrada #ue es transferida a una de las m posibles lneas de salida. 0a lnea m vendr direccionada por los n bits de selecci!n donde lo normal es #ue 9 n -m. Se podra decir #ue, cada sal$da del de%<$'le(or corres'o)de co) el t*r%$)o %+)$%o del ),%ero -$)ar$o .&e se e)c&e)tra e) las l+)eas de selecc$/). Un uso popular del *EMU7 es como decodificador y por eso suele usarse el t&rmino *emultiplexorI*ecodificador indistintamente. 8a hablaremos de &l en pr!ximo tema, pero el prop!sito 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 selecci!n% a una representaci!n de una 'nica lnea a la salida. Esta funci!n es de "ran utilidad en la decodificaci!n de la direcci!n en los microporcesadores por e)emplo cuando involucra la selecci!n de uno de multiples dispositivos $como por e)emplo la memoria%. *e hecho, la mayora de los decodificadores son de l!"ica invertida $o ne"ativa% debido a #ue la mayora de los dispositivos perif&ricos de los microprocesadores son activados por una se5al ba)a $como el pin EH #ue vimos en los multiplexores en cascada hace un par de prrafos%. 0os *EMU7 tambi&n suelen incluir un bit de entrada de habilitaci!n. Al"unos *EMU7 de la familia 440 son2 el G:=;J #ue son dos *EMU7 de = a : con salidas invertidas $l!"ica ne"ada%, el G:=F> #ue son dos *EMU7 de = a : con salida de colector abierto $Cpen ,ollector%, el G:=;< #ue es un *EMU7 de = a < con salida invertida, el G:=F> #ue es un *EMU7 de = a => y el G:=FJ #ue es de = a => con salida a colector abierto. Eeamos a continuaci!n la implementaci!n de demultiplexores a nivel SSI. (ara el caso de un demultiplexor de = a 9 sera2 Se observa #ue el circuito tiene s!lo una entrada $representada por IA%, dos salidas $CU4 = y CU4 . % y el bit de direcci!n $A%. El proceso es )usto el contrario del multiplexor. (ara los casos de *EMU7 de = a : y de = a < tenemos las si"uientes implementaciones. Si lo desean ha"an sus tablas de la verdad para #ue les facilite entender el comportamiento de estos circuitos. APLICACIONES Desulta #ue al"unas veces un circuito dise5ado para cierto fin suele ser de "ran utilidad en la resoluci!n de problemas #ue no fueron exactamente para el #ue fueron dise5ados. El multiplexor es una de esos e)emplos. Una poderossima utilidad de los multiplexores est en la implementaci!n de funciones l!"icas. Eamos a estudiar al"unas posibilidades de implementaci!n de funciones l!"icas mediante multiplexores. Eeamos el si"uiente e)emplo2 01x2, x1, x0 3 412,5,63 Sabemos #ue esta funci!n es uno para los t&rminos mnimos 9, F y >. Esta funci!n tiene ; variables #ue pueden formar < combinaciones. 0a forma ms sencilla de implementaci!n, #ue es la #ue veremos a continuaci!n, es a trav&s de un multiplexor de < a =. Eeamos la tabla de la verdad de la funci!n y la implementaci!n con el multiplexor2 *ado #ue se trata de una funci!n de tres variables, el m&todo acabado de su"erir implica en principio utili1ar un multiplexor de < canales $es decir,con ; entradas de control%. Kay #ue conectar las variables x9, x= y x. a las entradas de selecci!n e introducir en cada uno de los canales el valor $L.L o L=L% #ue toma la funci!n para cada combinaci!n de dichas variables. Cbserve la fi"ura y note #ue el paso de una a otra es inmediato ya #ue el multiplexor tiene cableada las entradas 9, F y > a uno y el resto a cero. *e esta forma se "aranti1a #ue para las combinaciones de las variables 7 $#uien se coloc! en las lneas de selecci!n% para los #ue se re#uiere #ue la funci!n sea uno harn f-=. Eeamos otro e)emplo. @$A,+,,%-M$;,F,>,G%. ,on un multiplexor de < entradas se vera2 Es fcil de observar el por#ue de esto, as #ue no lo anali1aremos ms. 0le"ados a este punto, una pre"unta #ue podemos hacernos es si es posible implementar funciones de n variables mediante multiplexores con menos de n entradas de control. 0a respuesta es afirmativa, aun#ue para ello ser necesario en "eneral a5adir al"'n m!dulo o con)unto de puertas. Siempre podremos implementar funciones lgicas de 2 n combinaciones con multiplexores de 2 n-1 entradas. C lo #ue es lo mismo, siempre podremos implementar funciones l!"icas de n variables con un multiplexor de nN= lneas de selecci!n. Eeamos el si"uiente e)emplo2 01A,7,C3 411,8,5,63 Esta funci!n tiene < $9 ; % posibles combinaciones de variables $; variables% pero debemos implementarlo con un multiplexor de s!lo dos $;N=% entradas de selecci!n, o sea, un multiplexor de : $9 9 % a =. 0lamemos a la entrada del multiplexor I $I ; I 9 I = I . %. 0a tabla de la verdad de la funci!n @ es2 A 7 C 0 . . . . . . = = . = . . . = = = = . . . = . = = = = . = = = = . 0o primero #ue debemos hacer es decidir como vamos a traba)ar con las variables. En estos casos s!lo nN= de las variables de la funci!n se usarn en las lneas de selecci!n y la otra restante se usar a la entrada del multiplexor. Es este caso particular s!lo dos de las variables pueden ser usadas en las lneas de selecci!n. Ke decidido #ue &stas sern + y ,. (or lo tanto A ser usada a la entrada del multiplexor. CO, lo primero #ue haremos ser formar una tabla. 3sta deber tener todas las posibles entradas del multiplexor como ttulos de las columnas y las dos posibles combinaciones de la variable #ue decidimos usar en la entrada $en nuestro caso A en sus formas AH P.Q y A P=Q% como ttulos de las filas. I . I = I 9 I ; AH A A cada celda de la tabla le corresponder un t&rmino mnimo. Eemos #ue cuando A-. $AH%, los t&rminos de la funci!n van del . al ; y cuando A-= $A% van de : a G. C sea #ue la tabla deber ser llenada con2 I . I = I 9 I ; AH m . m = m 9 m ; A m : m F m > m G A#u usted podra s!lo encerrar en crculos los t&rminos mnimos #ue sean uno en la funci!n $en nuestro caso m = , m ; , m F y m G % para procesar la tabla. 8o sencillamente voy a encerrarla con par&ntesis $'nicamente por comodidad y no tener #ue estar haciendo ms "rficos%. 4ambi&n suele colocarse s!lo el n'mero del t&rmino en ve1 del m n . Entonces, colocando los crculos6 donde corresponde tenemos2 A#u empe1amos el anlisis. ,uando en una columna de la tabla no hay nin"'n t&rmino en crculo como es el caso de la primera columna, concluimos #ue en esa entrada del multiplexor debe ir . $cero%. ,uando en una columna AM+CS t&rminos aparecen en crculo decimos #ue en esa entrada del multiplexor debemos colocar un uno. ,uando en una columna s!lo UAC de los t&rminos aparece en crculo, decimos #ue en la entrada correspondiente del multiplexor se colocar la variable esco"ida $en nuestro caso la A% en la forma #ue apare1ca con crculo #ue a#u sera A para la tercera columna y AH para la cuarta columna. De"ularmente nuestra tabla, lue"o del anlisis, #uedara2 I . I = I 9 I ; AH . $=% 9 $;% A : $F% $>% G I . I = I 9 I ; AH . $=% 9 $;% A . $F% $>% G 0 1 A A" (or lo tanto, nuestra implementaci!n de la funci!n @ de tres variables con un multiplexor de : a = $con s!lo dos lneas de selecci!n% nos #uedara2 0a entrada I = puede ir directamente conectada a UAC $= ! Ecc% y ahorrarnos ese inversor. 8o decid poner + y , en las entradas de selecci!n pero podra ir cual#uier combinaci!n de dos variables. 0o 'nico #ue hay #ue tener en cuenta es #ue la ta-la )o lle9a los t*r%$)os %+)$%os or:a)$;ados de la %$s%a <or%a= Supon"amos #ue #ueremos poner A y + en las lneas de direccionamiento, entonces nuestra tabla sera2 I . I = I 9 I ; ,H . 9 : $>% , $=% $;% $F% G C C C C" 8a #ue , es el bit menos si"nificativo y para las casos donde A y + son cero con ,H tenemos el cero y con , el uno, Si A-. y +-= entonces en ,H tenemos 9 y en , tres, y as sucesivamente. A#u ya s!lo nos #uedara implementar el circuito #ue sera colocando A en S = , + en S . , , en I . e I = e I 9 y por 'ltimo ,H en I ; . Ka"a el es#uemtico. (or 'ltimo con respecto a este mismo e)emplo, demuestre #ue si #uisi&ramos colocar + en la entrada, la tabla #uedara2 I . I = I 9 I ; +H . $=% : $F% + 9 $;% $>% G 0 1 7 7" y dibu)e el es#uemtico. Eeamos como 'ltimo e)emplo de &sto la funci!n @$A,+,,,*%-M$.,=,;,:,<,J,=F%. Suponiendo #ue #ueremos cablear A en la entrada, nuestra tabla a#u sera2 8 el circuito sera2 I . I = I 9 I ; I : I F I > I G AH $.% $=% 9 $;% $:% F > G A $<% $J% =. == =9 =; =: $=F% 1 1 0 A" A" 0 0 A A#u tambi&n podemos eliminar el uso de uno de los inversores y cablear directo a . ! = dependiendo del caso. Ka"a este e)ercicio para los casos con +, , ! * a la entrada del multiplexor. D$se>o co%-$)ac$o)al co) de%<$'le(ores= Este tema ser visto me)or ms adelante con el uso de decodificadores pero i"ual ser comentado brevemente a#u. Al presentar los demultiplexores se comentaba el hecho de #ue cada una de las salidas coincide al"ebraicamente con un t&rmino mnimo diferente de las variables de entrada. (or tanto es inmediato sinteti1ar directamente cual#uier funci!n de n variables mediante un de%<$'le(or co) ) l+)eas de selecc$/) ? &)a '&erta OR #ue a"rupe las salidas correspondientes a los t*r%$)os %+)$%os #ue aparecen en la expresi!n can!nica como suma de productos de la funci!n. Eeamos por e)emplo la implementaci!n de un "enerador de un bit de paridad impar para un c!di"o de ; bits. Su tabla de verdad sera2 A 7 C < . . . . . . = = . = . = . = = . = . . = = . = . = = . . = = = = Ao hacemos mapa de Rarnau"h ya #ue simplificar la funci!n no es re#uerido en este tipo de e)ercicios debido a #ue la implementaci!n ser hecha a nivel MSI y lo 'nico #ue nos interesa realmente es #ue t&rminos mnimos conforman la funci!n. *e la tabla de la verdad anterior podemos concluir #ue la implementaci!n de esa funci!n l!"ica a trav&s de un demultiplexor sera2 0a entrada EH es el bit de habilitaci!n del I,. E#ERCICIOS =. Implemente un multiplexor de < bits de entrada $dos nibbles indicando dos datos diferentes% y dos de salida $uno de cada nibble% mediante multiplexores de 9 a =. 2. Implemente un multiplexor con dos n'meros binarios de ; bits $X 2 , X 1 , X 0 y Y 2 , Y 1 , Y 0 % como entrada #ue transmita una u otra a la salida ? $@ 2 , @ 1 y @ 0 % con la ayuda de una 'nica lnea de selecci!n usando multiplexores de 9 a =. ;. Implemente la si"uiente funci!n con multiplexores < a = y : a =2 @$A,+,,%-M$.,=,:,G%. En el caso de : a =, h"alo de las tres formas posibles $,on A, + ! , a la entrada del multiplexor%. 4. Implemente las si"uientes funciones con multiplexores de forma !ptima $para funciones A variables use multiplexores de AN= lneas de selecci!n%2 @$A, +, ,, *% - M$.,:,>,=.,==,=;% @$S, x, y, 1% - M$;,:,F,G,==,=9,=:,=F% @$a, b, c, d% - M$;,F,G,==,=F% @$A, +, ,, *, E% - M$.,=,9,<,J,==,=FN=J,9:,9F,9JN;=% @$A, +, ,, *, E, @% - M$.,9,:,F,G,<,=>,=<,9:,;9,;>,:.,:<,F>% F. Un n'mero primo es a#uel #ue s!lo es divisible entre si mismo y la unidad. *ise5e un circuito l!"ico #ue detecte todos los n'meros primos entre . y ;=. 0a salida 01A, 7, C, D, E3, donde A es la variable de mayor peso binario, ser i"ual a 1, si y s!lo si, los cinco bits de la entrada representan un n'mero primo. Dealice el circuito !ptimo utili1ando un multiplexor. >. *ise5e un circuito #ue convierta de +,* a exceso a ; con multiplexores. G. *ise5e un circuito #ue convierta de +,* a <:N9N= con multiplexores. <. El cerebro humano est hecho de c&lulas especiali1adas llamadas )e&ro)as. ,ada neurona tiene s$)a's$s $#ue son los puntos de conexi!n entre ellas) y &stas pueden ser de excitaci!n y de inhibici!n $EED AC4A AAE7A T%. Una neurona produce una salida <1 si el n'mero de sinapsis de excitaci!n con pulsos 1 excede el n'mero de sinapsis de inhibici!n con pulsos 1 por al menos, llam&mosle, el valor de umbral $o sea, al menos =% de la neurona. *icho lo anterior, determine la funci!n booleana f$a, b, c, d, e% de emisi!n de pulsos a trav&s del canal de salida f $axn% en el modelo de la fi"ura de aba)o y realice el circuito !ptimo con un multiplexor. NOTA 1A3B 0a actividad de nuestro cerebro resulta de un balance entre la excitaci!n y la inhibici!n. 0a excitaci!n involucra principalmente al Ulutamato, #ue es el neurotransmisor excitatorio por excelencia mientras la inhibici!n es causada en su mayora por el neurotransmisor UA+A. En la Sinapsis las mol&culas transmisoras act'an sobre receptores situados en la membrana postsinptica, con lo cual se altera la permeabilidad para los iones de dicha membrana. En el caso del "lutamato despolari1a $excitaci!n% la membrana postsinptica por un incremento en la permeabilidad a cationes como el AaV y ,a9V. (or el contrario, UA+A hiperpolari1a la membrana postsinptica $inhibici!n% producto del incremento en la permeabilidad al ,lN. Al nivel neuronal, la excitaci!n permite la propa"aci!n de la se5al bioel&ctrica mientras #ue la inhibici!n evita dicha propa"aci!n.