ELEMANIA
Digitale - Bus e accesso al bus
Bus e dispositivi three-state

Abbiamo visto che solo un dispositivo alla volta può inviare dati sul bus: per ottenere ciò occorre che tutti gli altri dispositivi collegati in uscita sul bus si pongano in uno stato di alta impedenza. A tale scopo si possono utilizzare dei buffer three-state. Si consideri ad esempio lo schema seguente (il bus in questo caso ha un'ampiezza di 32 bit):

I dispositivi 1, 2 e 3 sono collegati in uscita su un bus a 32 bit per mezzo di buffer three-state multibit. I segnali c0, c1 e c2 sono segnali di controllo, che permettono di abilitare solo un buffer alla volta.

Nei circuiti più complessi si usano bus bidirezionali, sui quali i dispositivi collegati possono scrivere o leggere dati (non contemporaneamente). Si consideri lo schema seguente:

Il bus collega fra loro i vari dispositivi A, B e C. I segnali ZA, ZB e ZC comandano ciascuno un (gruppo di) buffer three-state: uno solo di questi segnali può essere attivo in un dato momento, poiché solo un dispositivo alla volta può inviare i dati sul bus.

I segnali RA, RB e RC comandano invece ciascuno un registro, il cui scopo è quello di memorizzare in un dato momento i dati presenti sul bus in modo che il corrispondente dispositivo possa leggerli. Per comprendere il problema si supponga che A, B e C siano dispositivi non dotati di memoria interna (come per esempio dei display). In assenza di un registro in ingresso, non appena il dato scompare dal bus (perché ad esempio viene sostituito con un altro valore), esso sarebbe perso. Il registro serve appunto per mantenere il valore anche dopo che esso è stato sostituito nel bus.

Si noti che i segnali RA, RB e RC possono anche essere attivi contemporaneamente, dal momento che più dispositivi possono leggere dal bus allo stesso tempo (mentre solo un dispositivo alla volta può scrivere sul bus).

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it