Personal computer/Mapping/Interfacce: differenze tra le versioni
Nessun oggetto della modifica |
|||
Riga 2: | Riga 2: | ||
Le interfacce di I/O permettono la comunicazione tra CPU e dispositivi periferici. |
Le interfacce di I/O permettono la comunicazione tra CPU e dispositivi periferici. |
||
Qualsiasi dispositivo di interfacciamento ha quindi due interfacce, una rivolta verso il bus di sitema e quindi |
Qualsiasi dispositivo di interfacciamento ha quindi due interfacce, una rivolta verso il bus di sitema e quindi standard, l'altra specifica per il dispositivo periferico e quindi dipendente dal tipo di unità. |
||
Per quanto riguarda un'interfaccia ad 8 bit, considerando soltanto la parte rivolta verso il bus dati saranno sicuramente presenti i pin |
Per quanto riguarda un'interfaccia ad 8 bit, considerando soltanto la parte rivolta verso il bus dati, saranno sicuramente presenti i pin: |
||
+----------------+ |
+----------------+ |
||
<-> | D[0..7] | |
<-> | D[0..7] | |
||
--> | CS* | |
--> | CS* | |
||
--> | RD* | |
--> | RD* | --> interfaccia verso la periferica |
||
--> | WR* | |
--> | WR* | |
||
--> | A[0..n-1] | |
--> | A[0..n-1] | |
||
Riga 27: | Riga 27: | ||
=== 8255 - Interfaccia Parallela === |
=== 8255 - Interfaccia Parallela === |
||
L'interfaccia parallela 8255 gestisce tre porte bidirezioanli (''input''/''output'') in 3 modalità di funzionamento |
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) |
* dati (un registro in ingresso ed uno in uscita) |
||
* informazioni di controllo, programmazione |
* informazioni di controllo, programmazione (un registro) |
||
* informazioni di stato |
* informazioni di stato (un registro) |
||
Avendo soltanto quattro porte i bit di indirizzo sono due con le configurazioni |
Avendo soltanto quattro porte, i bit di indirizzo sono due, con le configurazioni: |
||
'''A0''' '''A1''' |
'''A0''' '''A1''' |
||
0 0 Porta A |
0 0 Porta A |
||
Riga 38: | Riga 38: | ||
1 0 Porta C |
1 0 Porta C |
||
1 1 Registro di controllo |
1 1 Registro di controllo |
||
I pin di comunicazione del bus sono in 3-state sia quando il ''CS*'' è al valore |
I pin di comunicazione del bus sono in ''3-state'', sia quando il ''CS*'' è al valore logico alto (è un segnale attivo basso), sia quando entrambi i segnali ''RD*'' e ''WR*'' sono alti. |
||
Le tre modalità di funzionamento sono |
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 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 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 |
* Modo 2: '''Strobed Bi-directional I/O''' La comunicazione tra CPU e dispositivi è bidirezionale. |
||
Tutte le tre porte possono essere programmate in modalità 0, mentre solo A e B possono esserlo in modalità 1. 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 |
Il registro di controllo conterrà una ''control word'' i cui bit sono: |
||
D0 parte bassa della porta C |
D0 parte bassa della porta C |
||
1 input |
1 input |
||
Riga 70: | Riga 70: | ||
D7 mode set flag |
D7 mode set flag |
||
1 active |
1 active |
||
Per cui se |
Per cui, se volessimo programmare i pin “liberi” della porta C (lower) in input, la porta B in modo 1-output, i pin “liberi” della porta C (upper) in output, e la porta A in modo 0-input, avremo: |
||
'''10010101'''. |
|||
=== PIC 8259 === |
=== PIC 8259 === |
Versione delle 23:54, 19 mar 2006
Le interfacce di I/O permettono la comunicazione tra CPU e dispositivi periferici. Qualsiasi dispositivo di interfacciamento ha quindi due interfacce, una rivolta verso il bus di sitema e quindi standard, l'altra specifica per il dispositivo periferico e quindi dipendente dal tipo di unità.
Per quanto riguarda un'interfaccia ad 8 bit, considerando soltanto la parte rivolta verso il bus dati, saranno sicuramente presenti i pin:
+----------------+ <-> | D[0..7] | --> | CS* | --> | RD* | --> interfaccia verso la periferica --> | WR* | --> | A[0..n-1] | +----------------+ D[0..7] 8 bit dati CS* Chip Select Se basso l'interfaccia è stata indirizzata RD* Read Utilizza l'interfaccia in lettura WR* Write Utilizza l'interfaccia in scrittura A[0..n-1] n bit di indirizzo
RS 232
8250 - Interfaccia Seriale
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 (un registro)
- informazioni di stato (un registro)
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 logico 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.
Tutte le tre porte possono essere programmate in modalità 0, mentre solo A e B possono esserlo in modalità 1. 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 volessimo programmare i pin “liberi” della porta C (lower) in input, la porta B in modo 1-output, i pin “liberi” della porta C (upper) in output, e la porta A in modo 0-input, avremo:
10010101.