La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

PPI 8255 PROGRAMMABLEPERIPHERALINTERFACE Prof. Marco Solarino.

Presentazioni simili


Presentazione sul tema: "PPI 8255 PROGRAMMABLEPERIPHERALINTERFACE Prof. Marco Solarino."— Transcript della presentazione:

1 PPI 8255 PROGRAMMABLEPERIPHERALINTERFACE Prof. Marco Solarino

2 2 CHE COSA E' Il PPI 8255 è un'interfaccia programmabile per comunicazioni parallele. In passato era utilizzato anche per gestire le stampanti (quelle parallele, appunto), ma ora è presente solo all'interno del Personal Computer per supportare altri dispositivi come la tastiera e l'altoparlante interno.

3 3 COSA CONTIENE PORTA A PORTA B PORTA C H PORTA C L CONTR 4 PC4 - PC7 8 PA0 - PA7 4 PC0 - PC3 8 PB0 - PB7 REGISTRI A 8 BIT BUSDATIINTERNOBUSDATIINTERNO D0 - D7 CPU GRUPPO A GRUPPO B

4 4 COME SI PROGRAMMA Bisogna inviare una parola di 8 bit al registro di controllo, che stabilisce come funzioneranno le tre porte presenti nel PPI. Ciascuna porta può funzionare in input o in output, e sono previsti tre diversi modi di funzionamento che vanno specificati nella parola di controllo.

5 5 MODI DI FUNZIONAMENTO (MODO 0) Modalità base di funzionamento unidirezionale. Prevede la possibilità di effettuare operazioni di input o di output senza controlli su ciascuna delle tre porte. Per queste ultime bisogna specificare quindi il verso di funzionamento.

6 6 MODI DI FUNZIONAMENTO (MODO 1) Modalità unidirezionale con controlli. Prevede la possibilità di effettuare operazioni di input o di output con controlli di tipo handshake sulle porte A e B. La porta C non è disponibile per operazioni di input/output perché le sue linee vengono usate da A e B per l'handshake. Per queste ultime bisogna comunque specificare il verso di funzionamento.

7 7 MODI DI FUNZIONAMENTO (MODO 2) Modalità bidirezionale con controlli. Prevede la possibilità di effettuare operazioni di input e di output con controlli di tipo handshake sulla porta A. La porta C non è disponibile per operazioni di input/output perché le sue linee vengono usate da A per l'handshake. Non serve più specificare il verso di funzionamento (sono disponibili entrambi).

8 8 RIASSUMENDO BIDIREZIONALE UNIDIREZIONALI SENZA CONTROLLI CON CONTROLLI (HANDSHAKE) PORTE DISPONIBILI MODO FUNZIONAMENTO A - B - C A - B A

9 9 LA PAROLA DI CONTROLLO D7D6D5D4D3D2D1D0 MODO GRUPPO A 00 = 0 01 = 1 1X = 2 VERSO PORTA A 0 = OUT 1 = IN VERSO PORTA C H 0 = OUT 1 = IN PER STABILIRE IL MODO DI FUNZIONAMENTO DEVE ESSERE SEMPRE 1 MODO GRUPPO B 0 = 0 1 = 1 VERSO PORTA B 0 = OUT 1 = IN VERSO PORTA C L 0 = OUT 1 = IN

10 10 GLI INDIRIZZI In ogni PPI i registri interni sono individuati da 4 indirizzi di Input/Output. Nel caso del dispositivo contenuto nel PC tali indirizzi sono i seguenti: Porta A=>60H Porta B=>61H Porta C=>62H Controllo=>63H

11 11 PROGRAMMAZIONE La programmazione del PPI viene effettuata dal BIOS del sistema all'avvio, configurando il Modo 0 di funzionamento per tutte le porte e impostando A e C in input e B in output. Se noi avessimo bisogno di modificare la programmazione standard dovremmo inviare al PPI la nuova parola di controllo.

12 12 COME SI FA? In Assembly: OUT 63h,ParolaDiControllo In C++: outportb(0x63,ParolaDiControllo);

13 13 COSA FA IL BIOS? Ricordando che le porte devono essere programmate in Modo 0, con A e C in input e B in output, la parola di controllo è: che poi viene inviata al registro di controllo: outportb(0x63,0x99); FISSO MODO 0 GRUPPO A A IN INPUT C H IN INPUT MODO 0 GRUPPO B B IN OUTPUT C L IN INPUT

14 14 COME SI USA? Dopo che il BIOS ha programmato il PPI è possibile operare in input sulle porte A e C e in output sulla porta B. In C++, per esempio, si avrà: buffer=inportb(0x60); Porta A outportb(0x61,valore); Porta B buffer=inportb(0x62); Porta C


Scaricare ppt "PPI 8255 PROGRAMMABLEPERIPHERALINTERFACE Prof. Marco Solarino."

Presentazioni simili


Annunci Google