Personal computer/Mapping/Interfacce: differenze tra le versioni
Nessun oggetto della modifica |
mNessun oggetto della modifica |
||
Riga 77: | Riga 77: | ||
=== PIC 8259 === |
=== PIC 8259 === |
||
⚫ | |||
⚫ |
Versione delle 12:32, 3 set 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.