progetto, realizzazione e programmazione di un circuito di interfaccia porta parallela/usb
DESCRIPTION
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?. - PowerPoint PPT PresentationTRANSCRIPT
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 SOFTWARE:
1. Funzioni di OUTPUT e di INPUT
2. Programma funzionante da console
3. Programma con interfaccia grafica
• UNA PARTE HARDWARE:
1. Hardware dell’interfaccia
2. Hardware della demo board
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 stampanti
Vi sono:
1. 5 bit di input
2. 12 bit per l’output
Pin DB25(lato PC)1 Strobe Out * Control2 Data 0 Out Data3 Data 1 Out Data4 Data 2 Out Data5 Data 3 Out Data6 Data 4 Out Data7 Data 5 Out Data8 Data 6 Out Data9 Data 7 Out Data10 Ack In Status11 Busy In Status
12Paper Out In Status
13 Select In Status
14Linefee
d Out * Control15 Error In Status
16Inizializ
e Out * Control
17Select-
in Out * Control18-25 Massa - -
-+ 5V (Rpu) - -
-Non
usato - -
NomeDirezio
ne Registro
EPP (Enhanced Parallel Port)
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
Pin Nome SPP Nome EPP Direzione Funzione EPP
1 Strobe nWRITE Out
Questo segnale basso indica una scrittura
2 Data 0 PD 0 BidirezionaleTrasporta dati e indirizzi
3 Data 1 PD 1 BidirezionaleTrasporta dati e indirizzi
4 Data 2 PD 2 BidirezionaleTrasporta dati e indirizzi
5 Data 3 PD 3 BidirezionaleTrasporta dati e indirizzi
6 Data 4 PD 4 BidirezionaleTrasporta dati e indirizzi
7 Data 5 PD 5 BidirezionaleTrasporta dati e indirizzi
8 Data 6 PD 6 BidirezionaleTrasporta dati e indirizzi
9 Data 7 PD 7 BidirezionaleTrasporta dati e indirizziSe abilitato, genera un interrupt
sul fronte di salita
11 Busy nWAIT InUsato per la sincronizzazione.
12 Paper Out - In Non usato
13 Select - In Non usato
Quando basso indica un
trasferimento di dati
15 Error . In Non usato
Attivo basso, resetta
le periferiche
10 Ack Interrupt In
14 Linefeed nDSTRB Out
16 Inizialize Reset Out
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
Diagramma di flusso della funzione main
output =1 =2 input
?1,2
Inizio
Attiva la libreria (DLL)
Vuoi fare un'operazione di input o di output?
Leggi valore immesso
Il valore immesso è 1 oppure 2
Carattere non valido
Richiama ed esegui la
funzione output
Richiama ed esegui la
funzione input
Fine
EPP o SPP?
1 leggi status SPP
3 leggi indirizzi in EPP 4 leggi dati in EPP
EPP o SPP?
0 scrivi dati in SPP 2 scrivi controlli in SPP
3 scrivi indirizzi in EPP 4 scrivi dati in EPP
SOFTWARE DA CONSOLE
SOFTWARE DA CONSOLE
Diagramma di flusso della funzione main
output =1 =2 input
?1,2
Inizio
Attiva la libreria (DLL)
Vuoi fare un'operazione di input o di output?
Leggi valore immesso
Il valore immesso è 1 oppure 2
Carattere non valido
Richiama ed esegui la
funzione output
Richiama ed esegui la
funzione input
Fine
EPP o SPP?
1 leggi status SPP
3 leggi indirizzi in EPP 4 leggi dati in EPP
EPP o SPP?
0 scrivi dati in SPP 2 scrivi controlli in SPP
3 scrivi indirizzi in EPP 4 scrivi dati in EPP
SOFTWARE DA CONSOLE
Inizio
Dichiarazione variabili
Attiva libreria (DLL)
Inizializzazione variabili
Controlla se è connesso un
dispositivo USB Dispositivo connesso
non trovato Trovato dispositivo
connesso
Imposta come uscita la porta A e la porta B della scheda
U401.
Controlla variabile set
Scrittura dati SPP: instrada blocco dovuto
e scrivi dati
Scrittura controlli SPP:
instrada blocco dovuto e scrivi
Scrittura indirizzi EPP: instrada blocco Out
CNTRL EPP, scrivi controlli
Instrada blocco scrittura indirizzi. Scrivi indirizzi
Instrada blocco Out Cntrl EPP, scrivi controlli
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
Diagramma di flusso della funzione output
Inizio
Dichiarazione variabili
Attiva libreria (DLL)
Inizializzazione variabili
Controlla se è connesso un
dispositivo USB Dispositivo connesso
non trovato Trovato dispositivo
connesso
Imposta come uscita la porta A e la porta B della scheda
U401.
Controlla variabile set
Scrittura dati SPP: instrada blocco dovuto
e scrivi dati
Scrittura controlli SPP:
instrada blocco dovuto e scrivi
Scrittura indirizzi EPP: instrada blocco Out
CNTRL EPP, scrivi controlli
Instrada blocco scrittura indirizzi. Scrivi indirizzi
Instrada blocco Out Cntrl EPP, scrivi controlli
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
Diagramma di flusso della funzione output
SOFTWARE DA CONSOLE
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