La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

PPI 8255 PROGRAMMABLE PERIPHERAL INTERFACE

Presentazioni simili


Presentazione sul tema: "PPI 8255 PROGRAMMABLE PERIPHERAL INTERFACE"— Transcript della presentazione:

1 PPI 8255 PROGRAMMABLE PERIPHERAL INTERFACE
Prof. Marco Solarino

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 COSA CONTIENE REGISTRI A 8 BIT GRUPPO A CPU GRUPPO B B PORTA U A S
D A T I N E R O PORTA A REGISTRI A 8 BIT 8 8 PA0 - PA7 GRUPPO A PORTA CH 8 D0 - D7 CPU 4 PC4 - PC7 8 PORTA CL 4 PC0 - PC3 GRUPPO B CONTR PORTA B 8 8 8 PB0 - PB7

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 Modalità base di funzionamento unidirezionale.
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 Modalità unidirezionale con controlli.
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 Modalità bidirezionale con controlli.
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 RIASSUMENDO MODO FUNZIONAMENTO PORTE DISPONIBILI A - B - C 1 A - B 2 A
UNIDIREZIONALI SENZA CONTROLLI A - B - C 1 CON CONTROLLI (HANDSHAKE) A - B 2 A BIDIREZIONALE

9 LA PAROLA DI CONTROLLO D7 D6 D5 D4 D3 D2 D1 D0 PER STABILIRE
IL MODO DI FUNZIONAMENTO DEVE ESSERE SEMPRE 1 VERSO PORTA A 0 = OUT 1 = IN VERSO PORTA CH 0 = OUT 1 = IN MODO GRUPPO B 0 = 0 1 = 1 VERSO PORTA B 0 = OUT 1 = IN VERSO PORTA CL 0 = OUT 1 = IN MODO GRUPPO A 00 = 0 01 = 1 1X = 2

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 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 COME SI FA? In Assembly: OUT 63h,ParolaDiControllo In C++:
outportb(0x63,ParolaDiControllo);

13 che poi viene inviata al registro di controllo:
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 è: MODO 0 GRUPPO A MODO 0 GRUPPO B 1 FISSO A IN INPUT CH IN INPUT B IN OUTPUT CL IN INPUT che poi viene inviata al registro di controllo: outportb(0x63,0x99);

14 In C++, per esempio, si avrà:
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 PROGRAMMABLE PERIPHERAL INTERFACE"

Presentazioni simili


Annunci Google