Progetto, realizzazione e
programmazione di un
circuito di interfaccia
PORTA PARALLELA/USB
Relatore: Prof. Carla VACCHI
Correlatore: Ing. Daniele SCARPA
ELABORATO DI LAUREA DI: Stefano CUMIA
PERCHE’ QUESTO PROGETTO?
1. Nel laboratorio di Microelettronica vi
sono degli strumenti, realizzati dal
personale del dipartimento,
controllati da Personal Computer
tramite la porta parallela.
2. La porta USB sta sostituendo la porta
parallela
VANTAGGI DELLO STANDARD USB
1. possibilità di connessione e sconnessione dinamica dei
dispositivi;
2. soluzione a basso costo che permette una velocità di
trasferimento dati fino a 480 Mb/s;
3. pieno supporto per dati in tempo reale: voce, audio e
video;
4. dimensioni del connettore contenute, che implicano una
migliore tecnologia d’integrazione;
5. possibilità di avere lunghezze del cavo relativamente
alte.
IL PROGETTO SVOLTO CONSISTE DI:
•
UNA PARTE HARDWARE:
1. Hardware dell’interfaccia
2. Hardware della demo board
•
UNA PARTE SOFTWARE:
1. Funzioni di OUTPUT e di INPUT
2. Programma funzionante da console
3. Programma con interfaccia grafica
LA PORTA PARALLELA
Questo dispositivo presenta diverse modalità di funzionamento.
Quelle implementate nel mio progetto sono:
1. SPP, che serve per controllare un flusso dati per un
convertitore appartenente ad un progetto FIRB
2. EPP, che serve in un sistema a microscopio ottico
SPP (Standard Parallel Port)
E’ il modello originario pensato per la connessione di
Pin
stampanti
DB25
Vi sono:
1. 5 bit di input
2. 12 bit per l’output
(lato
PC)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18-25
-
Nome
St robe
Dat a 0
Dat a 1
Dat a 2
Dat a 3
Dat a 4
Dat a 5
Dat a 6
Dat a 7
Ack
Busy
Paper
Out
Select
Linefee
d
Error
I nizializ
e
Select in
Massa
+ 5V
(Rpu)
Non
usat o
Direzio
ne
Registro
Out * Cont rol
Out
Dat a
Out
Dat a
Out
Dat a
Out
Dat a
Out
Dat a
Out
Dat a
Out
Dat a
Out
Dat a
In
St at us
In
St at us
In
In
St at us
St at us
Out *
In
Cont rol
St at us
Out *
Cont rol
Out *
-
Cont rol
-
-
-
-
-
EPP (Enhanced Parallel Port)
Pin
1. Tipicamente la velocità
di trasferimentoè tra i
500 KB/s e i 2 MB/s
2. Permette lo scambio
bidirezionale di dati
senza i problemi di
compatibilità con la
SPP
Nome SPP Nome EPP
Direzione
Out
Funzione
EPP
Questo
segnale
basso indica
una scrittura
1
Strobe
nWRITE
2
Data 0
PD 0
Trasporta dati e
Bidirezionale indirizzi
3
Data 1
PD 1
Trasporta dati e
Bidirezionale indirizzi
4
Data 2
PD 2
Trasporta dati e
Bidirezionale indirizzi
5
Data 3
PD 3
Trasporta dati e
Bidirezionale indirizzi
6
Data 4
PD 4
Trasporta dati e
Bidirezionale indirizzi
7
Data 5
PD 5
Trasporta dati e
Bidirezionale indirizzi
8
Data 6
PD 6
Trasporta dati e
Bidirezionale indirizzi
9
Data 7
PD 7
10
Ack
Interrupt
In
sul fronte di
salita
11
Busy
nWAIT
In
Usato per la
sincronizzazione.
12
Paper Out
-
In
Non usato
13
Select
-
In
Non usato
Trasporta dati e
Bidirezionale indirizzi
Se abilitato,
genera un
interrupt
Quando basso
indica un
14
Linefeed
nDSTRB
Out
15
Error
.
In
trasferimento di
dati
Non usato
Attivo basso,
resetta
16
Inizialize
Reset
Out
le periferiche
ESEMPIO DI SCRITTURA DATO EPP
1.
nWait viene forzato a “0”
2.
nWrite viene forzato a “0” per
indicare che inizia un’operazione
di scrittura
3.
Sono posti sui pin della parallela
i dati scritti nel registro
4.
nDstrb viene forzato a “0” per
indicare che la scrittura riguarda
i dati
5.
Avviene la transizione dati
6.
Il PC attende che nWait torni a
“1”
7.
nDstrb viene riportato a “1”
8.
nWrite viene posto a “1”
SCHEMA A BLOCCHI DELL’INTERFACCIA
SCHEMA A BLOCCHI DELL’INTERFACCIA
HARDWARE PER LA SCRITTURA DATI IN EPP
SCHEMA ELETTRICO COMPLETO
VISTA DEL CIRCUITO FINITO
Inizio
SOFTWARE DA CONSOLE
Attiva la libreria
(DLL)
Vuoi fare un'operazione di
input o di output?
Diagramma di
flusso della
funzione main
Leggi valore
immesso
output
=1
Il valore immesso
è 1 oppure 2
=2
input
? 1,2
Carattere non valido
EPP o
SPP?
3 scrivi indirizzi in
EPP
4 scrivi dati in
EPP
EPP o
SPP?
0 scrivi dati in
SPP
2
scrivi
controlli in SPP
1 leggi status
SPP
Richiama ed
esegui la
funzione output
3 leggi indirizzi in
EPP
4 leggi dati in EPP
Richiama ed
esegui la
funzione input
Fine
Inizio
SOFTWARE DA CONSOLE
Attiva la libreria
(DLL)
Vuoi fare un'operazione di
input o di output?
Diagramma di
flusso della
funzione main
Leggi valore
immesso
output
=1
Il valore immesso
è 1 oppure 2
=2
input
? 1,2
Carattere non valido
EPP o
SPP?
3 scrivi indirizzi in
EPP
4 scrivi dati in
EPP
EPP o
SPP?
0 scrivi dati in
SPP
2
scrivi
controlli in SPP
1 leggi status
SPP
Richiama ed
esegui la
funzione output
3 leggi indirizzi in
EPP
4 leggi dati in EPP
Richiama ed
esegui la
funzione input
Fine
Inizio
SOFTWARE DA CONSOLE
Dichiarazione variabili
Attiva libreria (DLL)
Inizializzazione variabili
Diagramma di
flusso della
funzione output
Controlla se è
connesso un
dispositivo USB
Trovato dispositivo
connesso
Dispositivo connesso
non trovato
Imposta come uscita la porta
A e la porta B della scheda
U401.
Scrittura
controlli SPP:
instrada blocco
dovuto e scrivi
Controlla
variabile set
Scrittura indirizzi
EPP: instrada
blocco Out
CNTRL EPP,
scrivi controlli
Instrada blocco scrittura
indirizzi. Scrivi indirizzi
Instrada blocco
Out Cntrl EPP,
scrivi controlli
Scrittura dati SPP:
instrada blocco dovuto
e scrivi dati
Fine
Scrittura dati EPP:
instrada blocco
Out CNTRL EPP,
scrivi controlli
Instrada blocco
scrittura dati.
Scrivi su B
Instrada blocco
Out Cntrl EPP,
scrivi controlli
Inizio
SOFTWARE DA CONSOLE
Dichiarazione variabili
Attiva libreria (DLL)
Inizializzazione variabili
Diagramma di
flusso della
funzione output
Controlla se è
connesso un
dispositivo USB
Trovato dispositivo
connesso
Dispositivo connesso
non trovato
Imposta come uscita la porta
A e la porta B della scheda
U401.
Scrittura
controlli SPP:
instrada blocco
dovuto e scrivi
Controlla
variabile set
Scrittura indirizzi
EPP: instrada
blocco Out
CNTRL EPP,
scrivi controlli
Instrada blocco scrittura
indirizzi. Scrivi indirizzi
Instrada blocco
Out Cntrl EPP,
scrivi controlli
Scrittura dati SPP:
instrada blocco dovuto
e scrivi dati
Fine
Scrittura dati EPP:
instrada blocco
Out CNTRL EPP,
scrivi controlli
Instrada blocco
scrittura dati.
Scrivi su B
Instrada blocco
Out Cntrl EPP,
scrivi controlli
IL PROGETTO E’ A QUESTO PUNTO CONCLUSO
Il progetto vero e proprio si conclude con
l’hardware e il software che ho appena descritto
DEMO BOARD
SCHEMA ELETTRICO DELLA DEMO BOARD
CONCLUSIONI
1. Questo progetto mi ha permesso di studiare ed apprendere
nozioni concrete
2. È stato necessario uno studio dettagliato del protocollo
della porta parallela ed uno studio qualitativo del
protocollo USB
3. L’uso della bread board è stato utile per collaudare il
circuito prima di realizzare il circuito stampato
4. Le librerie scritte saranno inserite nei programmi degli
strumenti da controllare
Scarica

Presentazione di PowerPoint - Università degli Studi di Pavia