UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA Corso di Laurea di 1° livello in Ingegneria dell’Automazione Tesi di Laurea Relatore Prof. Ing. Massimo Alioto Candidato Duccio Picinotti A.A. 2005/2006 Introduzione Aspetti software Scrittura codice VHDL per descrizione hardware logica digitale: 1. 2. 3. 4. acquisizione segnali dai sensori elaborazione statistica dati generazione codici controllo correttezza generazione toni trasmissione Scrittura codice Visual Basic per ricezione: 1. decodifica toni audio in ricezione 2. controllo, memorizzazione e visualizzazione dati Scrittura codice ASP per pubblicazione dati su Internet Logiche digitali programmabili FPGA CPLD 1. 2. 3. 4. 1. 2. 3. 4. numero macrocelle alto veloci consumi elevati memoria volatile CPLD numero macrocelle basso meno veloci bassi consumi memoria non-volatile Scheda CPLD: GFEC Max II Starter Kit Altera Max II EPM1270T144C5 display Alimentazione 5V clock 16 MHz JTAG 8 led RS 232 8 switch 4 pulsanti pins Linguaggio VHDL Linguaggio di descrizione HW per logiche digitali Vantaggi programmazione VHDL 1. 2. 3. 4. 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 temp dir vel DEBOUNCE Programma VHDL in trasmissione FREQ TEMP WIND CALC WIND DIR WIND CHOOSE FREQ VEL WIND CONST radio_tx WIND TX WIND ENABLE portante_V WIND CLOCK portante WIND BIT_P CLOCK DIV 1 CLOCK DIV 16 Esempio di codice VHDL: wind_enable Statistiche utilizzo CPLD Risorsa Total logic elements Combinational with no register Register only Combinational with a register Logic elements by mode normal mode synchronous clear/load mode asynchronous clear/load mode Total LABs (Logic Array Blocks) I/O pins Clock pins Maximum fan-out Average fan-out Utilizzo 1.122 / 1.270 (88%) 592 32 498 547 157 245 118 / 127 (93%) 18 / 116 (16%) 1 384 3,88 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: 1. 2. 3. 4. 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” 5. immissione dati in un database 6. 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: 1. ricerca dati mediante query SQL nel database condiviso col programma Visual Basic 2. visualizzazione dati giornalieri, ultimi 2 giorni, mensile, annuo 3. query SQL per test diagnostici 4. visualizzazione velocità giornaliera max 5. visualizzazione tabella con i dati 6. visualizzazione grafici con gli storici Test e risultati ottenuti sul campo Test in laboratorio con scheda FLEX10K 1. prove blocco per blocco 2. prove con generatori da banco 3. prove con simulatore simwind su porta parallela Test sul campo in loc. Gorello: errore di TX 0,1% Atterraggio Gorello Lat: N 43°23’55.5” Long: E 11°51’17.8” Alt: 297 m s. l. m. Decollo Monte Lignano Lat: N 43°24’17.6” Long: E 11°52’58.2” Alt: 838 m s. l. m. Caratteristiche e requisiti tecnici Tempo fase acquisiz. dati 60 s Tempo fase trasmissione 3s Numero max di invii per ora Velocità max del vento Risoluzione velocità vento Risoluzione direzione 57 invii / ora 63,5 Km/h 0,5 Km/h ±45 ° Temperatura max 55,5 °C Temperatura min - 8 °C Requisiti PC Requisiti opzionali Pentium III o superiore Scheda audio (line-in o mic) O.S. Windows 98 o superiore ADSL flat Servizio di redirect (no-ip) Conclusioni Progetto hobbistico open-source non commerciale Fasi del lavoro: 1. scrittura codice VHDL per la trasmissione 2. scrittura codice VB per la ricezione 3. 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