Pia (Periferal Interface Adapter)
La PIA (derivato MC6821) è un dispositivo parallelo con parallelismo a 8 bit. Esso è composto da 2 sezioni quasi uguali e configurabili separatamente ed è visto dal processore come un insieme di soli 4 registri su 6 effettivi.
Collegamento col processore
- Bus dati: bus dati di ingresso/uscita.
- !CS: chip select.
- A0, A1: (AD0, AD1 nelle tabelle) bit per la selezione dei registri interni.
- R, !W: segnali di lettura/scrittura.
- Reset: reset del dispositivo.
- IRQA, IRQB: linee di interruzione verso il processore.
Collegamento esterno
- 8 Data lines A, 8 Data Lines B: linee dati verso un terminale parallelo.
- CA1, CB1: linee di ingresso alla PIA per il controllo delle linee di interruzione verso il processore (IRQA e IRQB).
CA1 controlla il flag di interruzione IRQA1 (b7 o anche chiamato CRA7 del registro di STATO/CONTROLLO), infatti b7 passa a 1 sul fronte di CA1 (sul fronte di salita se b1 = 1 altrimenti sul fronte di discesa se b1 = 0). Il bit b7 viene resettato automaticamente all'atto della lettura del registro DATI da parte del processore. Il bit b0 del registro di STATO/CONTROLLO permette il mascheramento delle interruzioni. Le stesse cose valgono per CB1.
Illustrazione 2: controllo delle interruzioni per la linea CA1/CB1 (i bit del registro di STATO/CONTROLLO sono identificati dal suffisso CRA/CRB)
CA2, CB2
Linee programmabili come ingresso (per avere le stesse funzioni di CA1 e CB1) o come uscita per sviluppare handshaking.
Se il bit b5 = 0 (reg. di STATO/CONTROLLO) allora CA2 e CB2 si comportano come CA1 e CB1 interessando però il flag di interruzione IRQA2 (b6 del registro di STATO/CONTROLLO). Per il mascheramento delle interruzioni in questo caso viene usato il bit b3 del registro STATO/CONTROLLO e per la gestione dei fronti il bit b4 del medesimo registro.
Se il bit b5 = 1 (reg. di STATO/CONTROLLO) allora CA2 e CB2 sono utili a controllare i modi di handshaking verso la periferica controllati dai bit b3 e b4 (reg. di STATO/CONTROLLO): (100) modo handshake, (101) modo impulsivo, (11-) modo dipendente da CRA3, cioè CA2 assume il valore di b3 del registro STATO/CONTROLLO.
Illustrazione 3: registro di STATO/CONTROLLO (CRA/CRB)
Illustrazione 4: controllo delle interruzioni per la linea CA2/CB2 settata come ingresso (i bit del registro di STATO/CONTROLLO sono identificati dal suffisso CRA/CRB)
Illustrazione 5: controllo della linea CA2 settata per handshaking (i bit del registro di STATO/CONTROLLO sono identificati dal suffisso CRA/CRB)
Illustrazione 6: controllo della linea CB2 settata per handshaking (i bit del registro di STATO/CONTROLLO sono identificati dal suffisso CRA/CRB)
-
Appunti riassuntivi Programmazione (parte 6, adapter e observer)
-
Riassunto esame Interface design, Prof. Caruso Giovanni, libro consigliato La caffettiera del masochista, Donald A.…
-
Appunti di User interface design
-
User Interface - Personal Report