Calcolatori elettronici/Intel 8255

Indice del libro

L'Intel 8255 è un dispositivo, messo in commercio alla fine degli anni '70, per gestire le interfacce parallele, che permettono il trasferimento di un byte alla volta. Oggi i segnali che erano diretti a tale modulo sono supportati da un modulo inserito nel processore.

Il segnale di enable si chiama Chip Select (CS).

L'interfaccia parallela contiene 4 porte (porta A, porta B, porta C, registro di controllo CW) di parallelismo 8 bit. I primi 18 bit alti degli indirizzi forniti dal processore vengono ignorati (l'8086 ha un ABus su 20 bit), mentre i due bit bassi A0 e A1 identificano il registro su cui operare.

ModalitàModifica

Le periferiche possono lavorare in diverse modalità, forzate da alcuni bit del registro di controllo.

Modo 0: Basic Input/OutputModifica

Il Basic Input/Output non supporta né gli interrupt né i segnali di controllo, e ciascuna porta può essere impostata in input o in output.

Vantaggio
le porte A, B e C possono così essere collegate a 3 periferiche diverse, se queste richiedono ciascuna solo una porta

Modo 1: Strobed Input/OutputModifica

Il Strobed Input/Output supporta l'interrupt tramite la porta C → solo le porte A e B possono venire usate per il trasferimento dati.

L'Intel 8255 può inviare la richiesta di interrupt al processore tramite il segnale INTR.

Segnali di controllo tra periferica e Intel 8255Modifica

Input
  • INTE: serve per ignorare temporaneamente le richieste di interrupt;
  • STB (strobe): la periferica chiede all'Intel 8255 di caricare internamente il dato fornito dalla periferica;
  • IBF: l'Intel 8255 comunica all'esterno che ha acquisito internamente il nuovo dato.
Output
  • OBF: l'Intel 8255 informa che il dato è pronto per la lettura;
  • ACK (acknowledge): la periferica informa che ha finito di acquisire il nuovo dato dall'Intel 8255.

Modo 2: Bidirectional Input/OutputModifica

Il Bidirectional Input/Output supporta segnali che sono un po' in input e un po' in output.

Può essere utilizzata solo la porta A: la porta C si occupa come nel modo 1 dei segnali di input/output (STB, IBF, OBP e ACK).