università degli studi di trieste – tesi di laurea triennale in ingegneria elettronica
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 PresentationTRANSCRIPT
![Page 1: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/5.jpg)
55
ARCHITETTURAARCHITETTURACollegamento fisico dei dispositivi utilizzati:
![Page 6: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/19.jpg)
1919
IL FIRMWARE DEL dsPICIL FIRMWARE DEL dsPIC
![Page 20: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/20.jpg)
2020
IL SOFTWARE LATO PCIL SOFTWARE LATO PC
![Page 21: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/22.jpg)
2222
OTTIMIZZAZIONE DEL PROTOCOLLOOTTIMIZZAZIONE DEL PROTOCOLLOFunzioni READ e WRITE :
![Page 23: Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica](https://reader035.vdocuments.site/reader035/viewer/2022062218/56815b69550346895dc96050/html5/thumbnails/23.jpg)
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