130 likes | 338 Views
UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA. Corso di Laurea di 1° livello in Ingegneria dell’Automazione. Tesi di Laurea. PROGETTAZIONE DI UNA STAZIONE ANEMOMETRICA: ASPETTI SOFTWARE. Relatore Prof. Ing. Massimo Alioto. Candidato Duccio Picinotti. A.A. 2005/2006. Introduzione.
E N D
UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA Corso di Laurea di 1° livello in Ingegneria dell’Automazione Tesi di Laurea PROGETTAZIONE DI UNA STAZIONE ANEMOMETRICA: ASPETTI SOFTWARE Relatore Prof. Ing. Massimo Alioto Candidato Duccio Picinotti A.A. 2005/2006
Introduzione • Aspetti software • Scrittura codice VHDL per descrizione hardware logica digitale: • acquisizione segnali dai sensori • elaborazione statistica dati • generazione codici controllo correttezza • generazione toni trasmissione • Scrittura codice Visual Basic per ricezione: • decodifica toni audio in ricezione • controllo, memorizzazione e visualizzazione dati • Scrittura codice ASP per pubblicazione dati su Internet
FPGA numero macrocelle alto veloci consumi elevati memoria volatile CPLD numero macrocelle basso meno veloci bassi consumi memoria non-volatile CPLD Logiche digitali programmabili
Alimentazione 5V clock 16 MHz Scheda CPLD: GFEC Max II Starter Kit Altera Max II EPM1270T144C5 display JTAG 8 led RS 232 8 switch 4 pulsanti pins
Linguaggio VHDL • Linguaggio di descrizione HW per logiche digitali • Vantaggi programmazione VHDL • indipendenza dalla tecnologia • caratteristiche di alto livello • progettazione gerarchica • modularità • Approccio sincrono: segnali I/O sincronizzati con il clock di riferimento • Programma usato: Quartus II 6.0 SP1
FREQ TEMP temp DEBOUNCE WIND BIT_P dir portante WIND CALC WIND DIR WIND CHOOSE WIND TX vel radio_tx FREQ VEL WIND CONST WIND ENABLE portante_V WIND CLOCK CLOCK DIV 1 CLOCK DIV 16 Programma VHDL in trasmissione
Programma “Anemometro 1.0” in ricezione • Uso di Visual Basic 6.0 SP6 • File di inizializzazione • sensibilità decodifica • protocollo di trasmissione • Analisi codice Visual Basic: • acquisizione e campionatura segnale audio • processamento real-time con 2 buffer acquisizione • decodifica con FFT a spettro mobile • controllo correttezza messaggio con bit di parità di riga e colonna, “Codici di ridondanza di blocco” • immissione dati in un database • visualizzazione storico nei grafici • Applicativo in funzione nella dimostrazione pratica
Pubblicazione opzionale dati su Internet • Scopo: aumentare bacino d’utenza del servizio • Uso del linguaggio di programmazione ASP • Webserver IIS • ADSL flat • servizio di redirect (indirizzo web fisso con IP dinamico) • Analisi codice ASP: • ricerca dati mediante query SQL nel database condiviso col programma Visual Basic • visualizzazione dati giornalieri, ultimi 2 giorni, mensile, annuo • query SQL per test diagnostici • visualizzazione velocità giornaliera max • visualizzazione tabella con i dati • visualizzazione grafici con gli storici
2,5 Km Decollo Monte Lignano Lat: N 43°24’17.6” Long: E 11°52’58.2” Alt: 838 m s. l. m. Atterraggio Gorello Lat: N 43°23’55.5” Long: E 11°51’17.8” Alt: 297 m s. l. m. Test e risultati ottenuti sul campo • Test in laboratorio con scheda FLEX10K • prove blocco per blocco • prove con generatori da banco • prove con simulatore simwind su porta parallela • Test sul campo in loc. Gorello: errore di TX 0,1%
Conclusioni • Progetto hobbistico open-source non commerciale • Fasi del lavoro: • scrittura codice VHDL per la trasmissione • scrittura codice VB per la ricezione • scrittura codice ASP per la pubblicazione su Internet • Risultati sul campo soddisfano e superano le specifiche iniziali • Ringraziamenti: Franco Languasco per programma open-source Decotoni in Visual Basic