21
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

Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

  • Upload
    cynara

  • View
    40

  • Download
    2

Embed Size (px)

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 Presentation

Citation preview

Page 1: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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

Page 2: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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

Page 3: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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.

Page 4: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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

Page 5: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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

Page 6: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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

Page 7: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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

Page 8: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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”

Page 9: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

SCHEMA A BLOCCHI DELL’INTERFACCIA

Page 10: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

SCHEMA A BLOCCHI DELL’INTERFACCIA

Page 11: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

HARDWARE PER LA SCRITTURA DATI IN EPP

Page 12: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

SCHEMA ELETTRICO COMPLETO

Page 13: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

VISTA DEL CIRCUITO FINITO

Page 14: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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

Page 15: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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

Page 16: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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

Page 17: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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

Page 18: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

IL PROGETTO E’ A QUESTO PUNTO CONCLUSO

Il progetto vero e proprio si conclude con l’hardware e il software che ho appena descritto

Page 19: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

DEMO BOARD

Page 20: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

SCHEMA ELETTRICO DELLA DEMO BOARD

Page 21: Progetto, realizzazione e programmazione di un circuito di interfaccia PORTA PARALLELA/USB

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