università degli studi di trieste – tesi di laurea triennale in ingegneria elettronica

23
1 PROTOCOLLO DI COMUNICAZIONE PROTOCOLLO DI COMUNICAZIONE TRA PC E MICROCONTROLLORE PER TRA PC E MICROCONTROLLORE PER UN’INTERFACCIA DI CONTROLLO UN’INTERFACCIA DI CONTROLLO DI UN MICROSCOPIO A SCANSIONE DI UN MICROSCOPIO A SCANSIONE Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica Laureando: Igor Cerniava Relatore: Prof. Sergio Carrato Correlatore: Dott. Paolo Sigalotti

Upload: sandro

Post on 08-Feb-2016

60 views

Category:

Documents


0 download

DESCRIPTION

Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica. PROTOCOLLO DI COMUNICAZIONE TRA PC E MICROCONTROLLORE PER UN’INTERFACCIA DI CONTROLLO DI UN MICROSCOPIO A SCANSIONE. Laureando: Igor Cerniava. Relatore: Prof. Sergio Carrato Correlatore: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

11

PROTOCOLLO DI COMUNICAZIONE PROTOCOLLO DI COMUNICAZIONE TRA PC E MICROCONTROLLORE TRA PC E MICROCONTROLLORE

PER UN’INTERFACCIA DI PER UN’INTERFACCIA DI CONTROLLO DI UN MICROSCOPIO CONTROLLO DI UN MICROSCOPIO

A SCANSIONEA SCANSIONE

Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

Laureando:

Igor Cerniava

Relatore:

Prof. Sergio Carrato

Correlatore:

Dott. Paolo Sigalotti

Page 2: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

22

INTRODUZIONE [1]INTRODUZIONE [1]

• Scopo dell’elaborato: realizzare un protocollo di Scopo dell’elaborato: realizzare un protocollo di comunicazione tra computer e periferica esterna comunicazione tra computer e periferica esterna (microcontrollore dsPIC);(microcontrollore dsPIC);

• Il sistema di comunicazione utilizza la porta seriale USB;Il sistema di comunicazione utilizza la porta seriale USB;

• Il Il protocollo ha una struttura a livelli;

• Possibili utilizzi: • sistema di controllo di un microscopio a scansione (STM)• controllo elettronico di qualsiasi sistema di misura

Page 3: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

33

• Il progetto è diviso in Il progetto è diviso in due partidue parti::

• Lato computerLato computer• Lato microcontrollore dsPICLato microcontrollore dsPIC

• Il protocollo ha Il protocollo ha tre livelli logici di astrazionetre livelli logici di astrazione::

• Livello alto – mainLivello alto – main• Livello intermedio – parserLivello intermedio – parser• Livello basso – driverLivello basso – driver

• Ogni livello (layer) è un modulo di funzioni a sé stantiOgni livello (layer) è un modulo di funzioni a sé stanti

INTRODUZIONE [2]INTRODUZIONE [2]

Page 4: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

44

• Trasmettere un comando di lunghezza prefissata e ricevere una risposta di conferma dalla periferica;

Vediamo i 4 tipi di comunicazione progettati:

INTRODUZIONE [3]INTRODUZIONE [3]

• Trasmettere un comando di lunghezza prefissata e ricevere valore numerico dalla periferica;

• Trasmettere un pacchetto di dati e ricevere una risposta di conferma dalla periferica;

• Trasmettere un comando di lunghezza prefissata e ricevere un pacchetto di dati dalla periferica.

Page 5: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

55

ARCHITETTURAARCHITETTURACollegamento fisico dei dispositivi utilizzati:

Page 6: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

66

IL MICROCONTROLLORE dsPICIL MICROCONTROLLORE dsPIC

• Il micocontrollore incorpora al suo interno una parte di DSP

• Il progetto ha la funzione di fornire la connettività al processore DSP

• Capacità di elaborazione di 30 MIPS

Page 7: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

77

• Questo dispositivo si occupa interamente della ricezione e trasmissione dei dati tramite la porta USB del computer

• Il suo utilizzo semplifica il lavoro di interfacciamento del dsPIC al PC

• Il DLP-FTDI245M è progettato per agevolare l’utilizzo delle porte USB

IL DLP-FTDI245MIL DLP-FTDI245M

Page 8: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

88

Caratteristiche:• dsPIC 30F6012• Led, pulsanti, convertitori ADC, SPI, • sulla millefori è stato saldato il DLP-FTDI245M

LA DEMOBOARD dsPICDEMLA DEMOBOARD dsPICDEM

Page 9: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

99

IL PROTOCOLLO DI COMUNICAZIONEIL PROTOCOLLO DI COMUNICAZIONELato PC Lato dsPIC

Page 10: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

1010

IMPLEMENTAZIONE DEL PROTOCOLLOIMPLEMENTAZIONE DEL PROTOCOLLOLe operazioni implementate sono:

• La prima accende e spegne i quattro led presenti sulla demoboard

COMANDO RISPOSTA

• La seconda è un comando che legge un valore di tensione tramite il convertitore ADC del dsPIC

COMANDO RISPOSTA VALORE

• La terza operazione trasmette un pacchetto di dati dal PC al dsPIC

FLUSSO DATI RISPOSTA

• La quarta operazione è un comando che fa inviare al dsPIC un pacchetto di dati verso il PC

COMANDO FLUSSO DATI

Page 11: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

1111

COMANDO RISPOSTAComandi “Accendi LED” e “Chiudi LED”

• Il primo pacchetto dati è il comando che il dsPIC riceve dal PC;

• Il secondo è l’acknowledge che il dsPIC invia al PC.

Page 12: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

1212

COMANDO RISPOSTA VALOREComando “Leggi ADC”

• Il primo pacchetto è il comando che il dsPIC riceve dal PC;

• Il secondo pacchetto dati è la risposta che il dsPIC invia al PC. Nel pacchetto dati c’è il valore letto dall’ ADC.

Page 13: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

1313

FLUSSO DATI RISPOSTAComando “Flusso dati in uscita”

• Il primo comando è il pacchetto di dati che il dsPIC riceve dal PC;

• Il secondo è l’acknowledge che il dsPIC invia al PC.

Page 14: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

1414

COMANDO FLUSSO DATIComando “Flusso dati in entrata”

• Il primo è il comando inviato dal PC indica il numero di dati che il dsPIC dovrà inviare;

• Il secondo è il flusso di dati inviato dal dsPIC.

Page 15: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

1515

BYTE DI INTESTAZIONEBYTE DI INTESTAZIONEInizio MASTER – Carattere I

Inizio SLAVE – Carattere C

BYTE DI IDENTIFICAZIONEBYTE DI IDENTIFICAZIONE

Il byte di identificazione determina se l’operazione è un:

• Comando

• Flusso (pacchetto) dati

Page 16: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

1616

CODICE FORMATO COMANDI E CODICE FORMATO COMANDI E CODICE FORMATO FLUSSICODICE FORMATO FLUSSIA = TIPO DI TRASMISSIONE

Se 00 = comando (accendi led)

Se 11 = flusso dati (flusso dati in uscita)

B = FORMATO DELLA TRASMISSIONE

Se 00110000 -> comando accendi led

Se 11110010 -> flusso dati su porta in ingresso

Page 17: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

1717

CONROLLO ERRORECONROLLO ERRORE

I byte di controllo errore sfruttano una semplicissima operazione matematica:

1° byte Err = SOMMA(Nbyte) MOD 2562° byte Err = ( [SOMMA(Nbyte)] / 256 ) MOD 256

Page 18: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

1818

ALGORITMO DEL PARSER (dsPIC)ALGORITMO DEL PARSER (dsPIC)• Controllare l’intestazione del comando che deve essere sempre una ‘I’;

• Ogni byte ricevuto viene salvato;

• Somma il valore dei byte ricevuti, escludendo gli ultimi quattro byte;

• Test su byte di identificazione: se bID1 = bID2 allora test OK;

• Successivamente vanno fatti i moduli sulla somma di tutti i byte del pacchetto. Il risultato viene confrontato con i 4 byte di controllo errore del pacchetto ricevuto.

• Test errore incrociato: se il 1. ed il 3. byte nonché il 2. ed il 4. byte sono uguali, il primo test è positivo.

• Se test OK eseguo le operazioni da eseguire.

Page 19: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

1919

IL FIRMWARE DEL dsPICIL FIRMWARE DEL dsPIC

Page 20: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

2020

IL SOFTWARE LATO PCIL SOFTWARE LATO PC

Page 21: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

2121

IL TESTIL TEST• Si è constatato il corretto funzionamento del sistema di comunicazione

• Test sulla velocità di comunicazione:

• FLUSSO DATI RISPOSTA (Comunicazione 3)

A 4 MIPS -> scrittura e lettura in 0,02295

A 8 MIPS -> scrittura e lettura in 0,01403

• COMANDO FLUSSO DATI (Comunicazione 4)

A 4 MIPS -> scrittura e lettura in 0,06437

A 8 MIPS -> scrittura e lettura in 0,04857

A 4 MIPS -> scrittura e lettura in 0,02632 con while scritti in assemler

• Il sistema trasmette e riceve i dati ad una velocità di 111 KBps, 8 volte superiore ad una porte RS232 (14 KBps)

Page 22: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

2222

OTTIMIZZAZIONE DEL PROTOCOLLOOTTIMIZZAZIONE DEL PROTOCOLLOFunzioni READ e WRITE :

Page 23: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica

2323

CONCLUSIONICONCLUSIONI

• L’USB è un importante sistema di comunicazione per le periferiche esterne (a basso costo)

• Il protocollo di comunicazione offre buone prestazioni sia a livello grammaticale che a livello di prestazioni

• Il protocollo così costruito offre la possibilità di:

• sviluppi futuri

• una facile trasportabilità e flessibilità

• utilizzo in qualunque sistema di controllo elettronico