Personal computer/Mapping/Interfacce: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pizeta (discussione | contributi)
interfaccia generica
Pizeta (discussione | contributi)
Riga 26:
 
=== 8255 - Interfaccia Parallela ===
 
L'interfaccia parallela 8255 gestisce tre porte bidirezioanli (''input''/''output'') in 3 modalità di funzionamento, è quindi un'interfaccia programmabile. Dispone di 4 registri interni per lo scanbio di
* dati (un registro in ingresso ed uno in uscita)
* informazioni di controllo, programmazione
* informazioni di stato
 
Avendo soltanto quattro porte i bit di indirizzo sono due con le configurazioni
'''A0''' '''A1'''
0 0 Porta A
0 1 Porta B
1 0 Porta C
1 1 Registro di controllo
I pin di comunicazione del bus sono in 3-state sia quando il ''CS*'' è al valore logica alto (è un segnale attivo basso) sia quando entrambi i segnali ''RD*'' e ''WR*'' sono alti.
 
Le tre modalità di funzionamento sono
 
* Modo 0: '''Basic Input/Output''' La CPU legge/scrive sulle porte senza alcun meccanismo di sincronizzazione con l'unità periferica collegata all'interfaccia parallela.
* Modo 1: '''Strobed Input/Output''' La CPU si sincronizza al dispositivo periferico tramite un protocollo di ''handshake''. L'I/O può essere gestito sia a ''polling'' che ad ''interrupt''.
* Modo 2: '''Strobed Bi-directional I/O''' La comunicazione tra CPU e dispositivi è bidirezionale
 
In modalità 0 possono essere programmate tutte e tre le porte, mentre in modalità 1 soltanto A e B. La porta C avrà sui bit da 4 a 7 (''PC7-4'') i segnali per la gestione del protocollo di ''handshake'' se la porta A è in modalità 1, e sui bit da 0 a 3 (''PC3-0'') i segnali per la gestione del protocollo di ''handshake'' se la porta B è in modalità 1.
 
Il registro di controllo conterrà una ''control word'' i cui bit sono
D0 parte bassa della porta C
1 input
0 output
D1 porta B
1 input
0 output
D2 seleziona della modalità
0 mode 0
1 mode 1
D3 parte alta della porta C
1 input
0 output
D4 porta A
1 input
0 output
D5-D6 seleziona della modalità
00 mode 0
01 mode 1
1x mode 2
D7 mode set flag
1 active
Per cui se vogliamo programmare la porta B in modo 1-output, i pin “liberi” della porta C (lower) in input, la porta A in modo 0-input ed i pin “liberi” della porta C (upper) in output: 10010101
 
=== PIC 8259 ===