Para acabar con esta lección vamos a ver el buffer tri-state y el inversor tri-state. El buffer tri-state es un dispositivo que you vimos la semana pasada pero que para dar coherencia a este tercer tema de la segunda semana, vamos a volver a explicar aquí viéndolo desde un punto de vista lógico, y además viendo para qué se utiliza, viendo algunas de sus principales utilidades. Este es un buffer tri-state, como veis es un dispositivo que tiene dos entradas x, una entrada c, que es una entrada de control, y una salida z. Y el funcionamiento es muy simple, cuando la señal de control está a 1 simplemente la información que entra por x, sale por z, sin ningún problema, sin ninguna variación. Cuando el control está a 0, entre lo que entre por x, la salida queda eléctricamente desconectada, es decir, es como si en este punto se cortara el cable y z quedase desconectado totalmente del resto del circuito. Esto se suele representar como un "HI", diciendo que es un estado de "alta impedancia", <i>high impedance</i> en inglés, o simplemente "H". Y esto sería la definición del buffer tri-state. El inversor tri-state, pues exactamente lo mismo, salvo que cuando la señal de control es 1, la información que llega por x, sale por la salida z convenientemente invertida. Y otra vez si la señal de control es 0, entre lo que entre por x, la salida queda eléctricamente desconectada. ¿Recordáis lo que comentamos sobre los pequeños círculos estos que significan una negación? A veces veréis el buffer tri-state definido así. ¿Qué quiere decir? Quiere decir que es un buffer tri-state con sus entradas, exactamente igual, salvo que la señal de control hace su función (y su función es dejar pasar la información) cuando vale 0 y no cuando vale 1. Fijaros que aquí cuando vale 1 es cuando deja pasar la información de x a y. Aquí cuando vale 0 deja pasar la información de x a y, y cuando vale 1 es cuando la salida que eléctricamente desconectada. Y evidentemente podríamos hacer lo mismo para el inversor tri-state con la señal de control negada. El funcionamiento sería, pues: cuando la señal de control es 0 dejo pasar la información de entrada negándola, invirténdola, y cuando la señal de control es 1, se me queda en alta impedancia. Bueno, este es el funcionamiento del buffer tri-state y del inversor tri-state. Vamos a ver una de las aplicaciones más frecuentes de los buffer tri-state, que es en el control de buses. Un bus es simplemente un conjunto de líneas, aquí vamos a dibujar un bus de 4 bits capaz de mandar información de de un lado a otro, capaz de mandar información proveniente de un dispositivo A, o de un dispositivo B, o de un dispositivo Z, ¿vale? a otros dispositivos, Y1, Y2, etc. Estos serían dispositivos que pueden recibir información del bus. Cuatro entradas, algo como esto. Bien, supongamos que el dispositivo A tiene 4 salidas, que es capaz de enviar o sea, por estas salidas es capaz de enviar información a las 4 líneas del bus, y que este dispositivo Z también tiene 4 salidas capaz de enviar información a las 4 líneas del bus. Claro, el problema, y con el módulo B pasaría exactamente lo mismo, el problema es que si el dispositivo A y el dispositivo Z están enviando información al bus a la vez, pues se va a crear un conflicto. Imaginar que en un momento dado sobre la primera, sobre esta línea del bus, el dispositivo A está enviando un 1, un 1 quiere decir de hecho que esta línea la tenemos conectada a la tensión de alimentación. Recordar que un 1 lógico es una tensión cercana a la tensión de alimentación. Suponer que en el mismo instante de tiempo el dispositivo Z está enviando un 0 por esta línea, un 0 quiere decir que esta línea la tenemos conectada a tierra. Cuidado, que si pasa una cosa así aquí vamos a tener un cortocircuito desde alimentación a tierra que evidentemente puede incluso acabar quemando nuestro circuito, ¿no? Esto no es deseable. Entonces lo que necesitamos es poner aquí algunos dispositivos que me permitan controlar cuando pasa la información desde el dispositivo A hasta, el bus, o cuándo pasa la información de B o cuando pasa la información de Z. Y lo que vamos a poner aquí es precisamente buffers tri-state. Bien, vamos a borrar. Lo que necesitamos es poner aquí, vamos a poner 4 buffers tri-state controlados los 4 buffers por la misma señal de control c1, y aquí vamos a poner pues lo mismo, 4 buffers más tri-state controlados ahora por una señal que llamaremos c2. Cuando dibujo esta línea quiere decir que las entradas de control de los 4 buffers tri-state reciben la misma señal. Y aquí habría un dispositivo similar con una señal ci en general. ¿Y qué vamos a hacer? Si queremos mandar información del dispositivo A hacia el bus lo que vamos a hacer es poner c1 igual a 1 y todo el resto de las señales de control las pondremos a 0. Eléctricamente esta línea estará desconectada, esta, esta y esta también estarán desconectadas, lo mismo con las informaciones que viniesen de cualquier otro módulo. Y solo en el caso del dispositivo A, el c1=1 estará garantizando que la información pasa a través de los buffers tri-state. ¿Vale? Es decir, la principal aplicación de los buffer tri-state es como sistema de acceso o sistema de control del acceso de distintos dispositivos a un bus. Bien, pues con esto prácticamente hemos acabado. Aquí tenéis el mismo dibujo puesto un poco más en bonito, un poco más claro, esto son puntos conectados, como veis, pues c1, c2, en general ck serían las señales de control que garantizarían el paso de las salidas, de los dispositivos A, B, etc, Z hacia el bus. Os dejo un pequeño resumen una pequeña tabla resumen de todas las puertas que hemos visto hasta el momento. Y simplemente, pra finalizar el tema recordaros que hemos visto las puertas NAND y NOR, hemos dicho que son módulos universales. Hemos explicado lo que esto significa, perdonad, esto ha de poner módulo, el concepto de módulo universal, hemos visto las puertas XOR o no XOR, y finalmente hemos visto los buffers tri-state y su principal aplicación como sistemas de acceso a buses.