View
216
Download
1
Category
Preview:
Citation preview
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
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
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]
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.
55
ARCHITETTURAARCHITETTURACollegamento fisico dei dispositivi utilizzati:
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
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
88
Caratteristiche:• dsPIC 30F6012• Led, pulsanti, convertitori ADC, SPI, • sulla millefori è stato saldato il DLP-FTDI245M
LA DEMOBOARD dsPICDEMLA DEMOBOARD dsPICDEM
99
IL PROTOCOLLO DI COMUNICAZIONEIL PROTOCOLLO DI COMUNICAZIONELato PC Lato dsPIC
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
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.
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.
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.
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.
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
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
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
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.
1919
IL FIRMWARE DEL dsPICIL FIRMWARE DEL dsPIC
2020
IL SOFTWARE LATO PCIL SOFTWARE LATO PC
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)
2222
OTTIMIZZAZIONE DEL PROTOCOLLOOTTIMIZZAZIONE DEL PROTOCOLLOFunzioni READ e WRITE :
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
Recommended