# Buffer triestado

En electrónica digital, la lógica triestado permite puertos de salida con valor 0, 1 o alta impedancia (Hi-Z del inglés High Impedance). Es este último estado el que proporciona los buffer triestado. El estado Hi-Z pone la salida en alta impedancia, haciendo que el pin ya no tenga relevancia en el circuito. Normalmente, la intención de este estado es permitir a varios circuitos compartir el mismo bus o línea de salida. O también, permitir a un dispositivo monitorizar señales sin afectar a la señal (en convertidores analógico/digital). Tri-state es una marca registrada de National Semiconductor pero normalmente se usa para describir dispositivos de este tipo hechos por cualquier fabricante.
| ENTRADA | ENTRADA | SALIDA |
| A | B | C |
| 0 | 0 | Z |
| 0 | 1 | 0 |
| 1 | 0 | Z |
| 1 | 1 | 1 |
Un buffer triestado se diseña normalmente de modo que el retardo de habilitación de salida (de Hi-Z a Alto o Bajo) sea un poco más largo que el retardo de deshabilitación de salida (de Alto o Bajo a Hi-Z). Así, si un circuito de control activa la entrada de habilitación de salida de un dispositivo al mismo tiempo que desactiva la entrada de habilitación de un segundo dispositivo, al tener un retardo de deshabilitación de salida más corto se puede asegurar que antes de que el primer dispositivo ponga un nivel Alto o Bajo en el bus, el segundo dispositivo se encontrará en estado de alta impedancia.

## Usos del buffer triestado

La utilidad del tercer estado (Hi-Z) es borrar la influencia de un dispositivo del resto del circuito. Si más de un dispositivo está conectado, poner una salida en Hi-Z se usa para que en un mismo bus no haya dos señales diferentes, es decir, una con valor 1 y otra con valor 0. Porque si ambas señales circularan por la misma línea, no podríamos determinar el valor que está circulando en la misma. Los buffer triestado también se usan para implementar multiplexores, especialmente aquellos con un gran número de entradas.

### Usos concretos del buffer triestado

Las funciones del buffer triestado suelen ser útiles, principalmente para el diseño de componentes electrónicos con una cierta funcionalidad controlada internamente, como puede ser la implementación de un multiplexor, el cual puede usar buffer triestado para dejar activa solo una de sus entradas y anular las otras de forma que no interfieran en la salida. También se pueden usar los buffer triestado para dotar a los dispositivos de funcionalidad controlada externamente, es decir el usuario puede controlar esos buffer triestado para controlar el dispositivo. Este tipo de dispositivos tienen posibilidad de habilitación o deshabilitación de lectura, escritura o incluso del propio dispositivo. Un ejemplo de este tipo de dispositivos son las memorias RAM.

## Pull-up y Pull-down

Cuando la salida del triestado están en estado de alta impedancia, su influencia en el resto del circuito es eliminada, y en el nodo de salida no podremos determinar si hay un 1 o un 0, si ningún otro elemento del circuito manda una señal hacia ese nodo. Para evitar esto, los diseñadores de circuitos usualmente utilizarán resistencias de pull-up o pull-down (normalmente en el rango de 1 a 100K Ohmios) para determinar el valor en la salida del triestado, cuando este está en Hi-Z, es decir, estas resistencias asignan el valor 1 o 0 a la salida del triestado cuando está en alta impedancia.
Por ejemplo, el protocolo de bus I2C (un protocolo de buses de comunicación bidireccional a menudo usado entre dispositivos) especifica el uso de resistencias pull-up en las dos líneas de comunicación. Cuando los dispositivos están inactivos dejan de mandar señales a las líneas de comunicación y ponen las salidas de sus triestados en Hi-Z, eliminando así su influencia en el circuito. Cuando todos los dispositivos del bus han hecho esto, lo único que influencia estas líneas del circuito son las resistencias de pull-up, las cuales elevan la tensión en ese punto para que aparezca un 1 como señal. Los dispositivos de comunicación que usan este protocolo, o dejan la línea a 1 o a 0, previniendo algún cortocircuito en el que algún dispositivo emita un 1 y otro emita un 0 al mismo tiempo por el mismo bus.

## Alternativas al buffer triestado

Un buffer triestado se usa para inteconectar chips en circuitos impresos (PCB), o algunas veces entre PCBs conectados en una misma placa. No es recomendable el uso del buffer triestado para conexiones de una sola línea, pero es bastante recomendado para conexiones entre chips. Los multiplexores básicos pueden ser usados en chips porque son implementados en silicio, a diferencia de las grandes equivalencias con los componentes off-chip.