1 / 23

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

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:

sandro
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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: Dott. Paolo Sigalotti

  2. INTRODUZIONE [1] • Scopo dell’elaborato: realizzare un protocollo di comunicazione tra computer e periferica esterna (microcontrollore dsPIC); • Il sistema di comunicazione utilizza la porta seriale USB; • 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

  3. INTRODUZIONE [2] • Il progetto è diviso in due parti: • Lato computer • Lato microcontrollore dsPIC • Il protocollo ha tre livelli logici di astrazione: • Livello alto – main • Livello intermedio – parser • Livello basso – driver • Ogni livello (layer) è un modulo di funzioni a sé stanti

  4. INTRODUZIONE [3] Vediamo i 4 tipi di comunicazione progettati: • Trasmettere un comando di lunghezza prefissata e ricevere una risposta di conferma dalla periferica; • 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.

  5. ARCHITETTURA Collegamento fisico dei dispositivi utilizzati:

  6. IL 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

  7. IL DLP-FTDI245M • 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

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

  9. Lato PC Lato dsPIC IL PROTOCOLLO DI COMUNICAZIONE

  10. IMPLEMENTAZIONE DEL PROTOCOLLO Le 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

  11. COMANDO  RISPOSTA • Comandi “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.

  12. COMANDO  RISPOSTA VALORE • Comando “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.

  13. FLUSSO DATI  RISPOSTA • Comando “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.

  14. COMANDO  FLUSSO DATI • Comando “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.

  15. BYTE DI INTESTAZIONE Inizio MASTER – Carattere I Inizio SLAVE – Carattere C BYTE DI IDENTIFICAZIONE • Il byte di identificazione determina se l’operazione è un: • Comando • Flusso (pacchetto) dati

  16. CODICE FORMATO COMANDI E CODICE FORMATO FLUSSI A = 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

  17. CONROLLO ERRORE I byte di controllo errore sfruttano una semplicissima operazione matematica: 1° byte Err = SOMMA(Nbyte) MOD 256 2° byte Err = ( [SOMMA(Nbyte)] / 256 ) MOD 256

  18. 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; • Test errore incrociato: se il 1. ed il 3. byte nonché il 2. ed il 4. byte sono uguali, il primo test è positivo. • 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. • Se test OK eseguo le operazioni da eseguire.

  19. IL FIRMWARE DEL dsPIC

  20. IL SOFTWARE LATO PC

  21. IL 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)

  22. Funzioni READ e WRITE : OTTIMIZZAZIONE DEL PROTOCOLLO

  23. CONCLUSIONI • 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

More Related