In elettronica digitale, un circuito logico si dice three state (o anche tri-state o 3-state) quando la sua uscita può trovarsi in un terzo stato detto di alta impedenza (spesso indicato con il simbolo Z), oltre ai due normali livelli logici L e H.
Quando si trova in uno stato di alta impedenza, l'uscita si comporta come se fosse elettricamente disconessa dal resto del circuito. In altre parole sull'uscita non è presente un valore di tensione preciso, ma la tensione dipende dal circuito al quale l'uscita stessa è collegata.
Integrati con uscita 3-state sono disponibili per tutte le principali famiglie logiche.
Buffer three-state
Il componente più semplice con uscita 3-state è il buffer three-state. Il simbolo elettrico e la tabella di verità sono i seguenti:
|
Si noti la presenza di un ingresso aggiuntivo di controllo C. Quando C=H (componente abilitato), l'uscita U è semplicemente uguale all'ingresso A. Quando invece C=L (componente disabilitato), l'uscita si porta in uno stato ad alta impedenza (indicato con la lettera Z).
Lo stato Z non corrisponde a un livello logico, ma significa che l'uscita si comporta come se fosse scollegata elettricamente dal componente. La seguente figura mostra quello che succede quando il componente viene disabilitato e l'uscita si porta in uno stato di alta impedenza:
Usando buffer 3-state si può costruire un semplice mux a due vie nel seguente modo:
Si noti che le uscite di 1 e di 2 sono collegate insieme. Normalmente questo collegamento non sarebbe possibile poiché creerebbe un potenziale conflitto fra i livelli logici presenti in uscita dalle due porte.
In questo caso tuttavia tutto funziona correttamente. Infatti S agisce come un ingresso di selezione. Se S = H viene abilitato 1 e U = A. Se invece S = L viene abilitato 2 e U = B. Quando uno dei due buffer 3-state è disabilitato, esso si comporta come se fosse scollegato dall'uscita e dunque cede il controllo dell'uscita all'altro buffer. Il lettore può confrontare questa architettura circuitale con quella a porte logiche dello stesso mux e constatarne la maggiore semplicità realizzativa.
I buffer three-state esistono anche a più bit (es. 8, 16, 32 bit): in pratica si tratta di gruppi di buffer con un ingresso di abilitazione comune. La figura seguente mostra un buffer a 4 bit col relativo simbolo:
NOT three-state
Molto simile al buffer 3-state è il NOT 3-state:
La tabella di verità del componente è questa:
C | A | U |
---|---|---|
L | X | Z |
H | L | H |
H | H | L |
Quando C=H, il componente si comporta come una normale porta NOT, invertendo il valore logico in ingresso. Quando C=L invece il componente viene disabilitato e l'uscita si porta nello stato di alta impedenza (indicato dal simbolo Z in tabella).
Altri integrati three-state
Molti sono gli integrati three-state sia nella famiglia TTL che in quella CMOS. A titolo di esempio la tabella seguente riporta alcuni dei molti integrati 3-state disponibili nella famiglia TTL:
Sigla | Descrizione |
74125 | quad bus buffer with three-state outputs, negative enable |
74126 | quad bus buffer with three-state outputs, positive enable |
74134 | 12-input NAND gate with three-state output |
74173 | quad d flip-flop with three-state outputs |
74189 | 64-bit (16x4) ram with inverting three-state outputs |
74200 | 256-bit ram with three-state outputs |
74230 | octal buffer/driver with three-state outputs |
74244 | octal buffer with noninverted three-state outputs |
74257 | quad 2-line to 1-line data selector/multiplexer with noninverted three-state outputs |
74285 | 1024-bit (256x4) programmable read-only memory with three-state outputs |
74295 | 4-bit bidirectional register with three-state outputs |
74323 | 8-bit bidirectional universal shift/storage register with three-state outputs |
74353 | dual 4-line to 1-line data selectors/multiplexers with inverting three-state outputs |
74363 | octal 3-state D-latches |
74365 | hex buffer with noninverted three-state outputs |
74366 | hex buffer with Inverted three-state outputs |
74395 | 4-bit universal shift register with three-state outputs |
74461 | 8-bit presettable binary counter with three-state outputs |
74465 | octal buffer with three-state outputs |
74498 | 8-bit bidirectional shift register with parallel inputs and three-state outputs |
74537 | BCD to decimal decoder with three-state outputs |
74561 | 4-bit binary counter with three-state outputs |
74848 | 8 to 3-line priority encoder with three-state outputs |
Sito realizzato in base al template offerto da
http://www.graphixmania.it