...

comando flusso dati - Università degli Studi di Trieste

by user

on
Category: Documents
25

views

Report

Comments

Transcript

comando flusso dati - Università degli Studi di Trieste
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:
Relatore:
Igor Cerniava
Prof. Sergio Carrato
Correlatore:
Dott. Paolo Sigalotti
1
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
2
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
3
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.
4
ARCHITETTURA
Collegamento fisico dei dispositivi utilizzati:
5
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
6
IL DLP-FTDI245M
• Questo dispositivo si occupa interamente della
trasmissione dei dati tramite la porta USB del computer
ricezione
e
• Il suo utilizzo semplifica il lavoro di interfacciamento del dsPIC al PC
• Il DLP-FTDI245M è progettato per agevolare l’utilizzo delle porte USB
7
LA DEMOBOARD dsPICDEM
Caratteristiche:
• dsPIC 30F6012
• Led, pulsanti, convertitori ADC, SPI,
• sulla millefori è stato saldato il DLP-FTDI245M
8
IL PROTOCOLLO DI COMUNICAZIONE
Lato PC
Lato dsPIC
9
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
10
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.
11
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.
12
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.
13
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.
14
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
15
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
16
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
17
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.
18
IL FIRMWARE DEL dsPIC
19
IL SOFTWARE LATO PC
20
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)
21
OTTIMIZZAZIONE DEL PROTOCOLLO
Funzioni READ e WRITE :
22
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
23
Fly UP