Buffer tristate nei sistemi a bus: gestione delle linee dati condivise
Come la logica tristate gestisce la comunicazione multi-dispositivo su bus
Nelle architetture a bus (CPU, memoria, I/O che condividono linee indirizzo/dati/controllo), i buffer tristate sono il blocco fondamentale che previene contenzione e consente condivisione controllata.
Tre stati di un'uscita tristate
| Stato | Uscita | Funzione |
|---|---|---|
| Logica 0 (Basso) | 0 V (GND) | Guida attivamente BASSO |
| Logica 1 (Alto) | VCC | Guida attivamente ALTO |
| High-Z (Hi-Z, Z) | Disconnesso (∞ Ω) | Effettivamente rimosso dal bus |
Ruoli chiave sul bus
1. Arbitrato bus (Chi guida?)
- Ogni master ha uscite indirizzo/dati/controllo tristate.
- Arbitro concede bus → vincitore abilita uscite (guida 0/1); perdenti restano Hi-Z.
- Segnali: BUSRQ (richiesta), BUSAK (conferma), BUSY.
2. Tranceiver dati (Bidirezionali)
- Tranceiver ottale 74LS245 / 74ACT245: pin DIR seleziona A→B o B→A; OE (Output Enable) = Hi-Z quando inattivo.
- Lettura CPU: Memoria guida bus (OE attiva), CPU riceve.
- Scrittura CPU: CPU guida bus, memoria riceve (OE inattivo sul tranceiver).
3. Condivisione/Isolamento bus
- Molti slave: solo il dispositivo selezionato (tramite chip select) abilita l'uscita; gli altri Hi-Z.
- Previene "lotta sul bus" (due driver → alta corrente, logica indefinita, danni).
4. Trasferimento dati parallelo
- Bus 16/32 bit = 16/32 driver tristate in parallelo.
- Ogni bit controllato indipendentemente.
5. Buffer/ripetitori bus
- Buffer tristate rigenerano segnali su backplane lunghi.
- Isolano capacità: ogni segmento vede solo carico locale.
Esempio classico: sistema 8085/8086
- 8282/8283 (latch 8 bit) + 8286/8287 (tranceiver 8 bit) demultiplexano bus AD.
- 8288 Bus Controller genera DEN (Data Enable), DT/R (Direction) per tranceiver.
- Chip memorie/I/O: pin OE/CE → tristate quando non selezionati.
Evoluzione moderna
- PCI/PCIe: REQ/GNT attivo-basso → punto-punto (niente bus tristate).
- DDR SDRAM: ODT (On-Die Termination) sostituisce terminazione esterna.
- AXI/Avalon: handshake VALID/READY — niente high-Z necessario.
Principio fondamentale: Tristate = "Parla solo quando sei interpellato (abilitato)." Essenziale per qualsiasi mezzo conduttivo condiviso.