Personal computer/Mapping/Interfacce: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Pizeta (discussione | contributi)
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 stanrd, l'altra specifica per il dispositivo periferico e quindi dipendente dal tio di unità.
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* | ; interfaccia verso la periferica
--> | 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, è quindi un'interfaccia programmabile. Dispone di 4 registri interni per lo scanbio di
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 logica alto (è un segnale attivo basso) sia quando entrambi i segnali ''RD*'' e ''WR*'' sono alti.
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.


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.
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 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
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

Indice del libro

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.

PIC 8259