DAQ (parte 9) – Design con FPGA (seconda parte)
Un sistema DAQ-FPGA utilizza un chip FPGA per gestire i dati digitali di un ADC. La FPGA può incorporare il proprio microcontrollore e gestire le funzionalità logiche definite opportunamente dall’utente utilizzando un linguaggio di programmazione speciale chiamato HDL come Verilog o VHDL.
FPGA
L’obiettivo di un sistema DAQ è generalmente quello di prendere un segnale elettrico di qualche tipo e convertirlo in dati digitali. I sistemi DAQ semplici sono costituiti da un microcontrollore con un ADC integrato (convertitore analogico-digitale) e una sorta di interfaccia digitale o dispositivo di memorizzazione. Un esempio potrebbe essere un semplice logger di temperatura con una porta USB o porta di uscita seriale. Quali sono i vantaggi della tecnologia FPGA su un sistema DAQ?
- La possibilità di creare interfacce non standard. Può essere difficile o impossibile da interfacciare alcuni di questi direttamente con un microcontrollore.
- La possibilità di creare molte interfacce standard come I2S, I2C, SPI, I / O seriale. La maggior parte dei microcontrollori hanno un numero limitato di interfacce hardware. Molte applicazioni DAQ richiedono più interfacce.
- La possibilità di creare interfacce ad altissima velocità. Molte sono le interfacce LVDS che consentono velocità di trasmissione dati superiori a 100 di megabit / s .
- La capacità di elaborare molti flussi di dati in parallelo. Un FPGA può avere un canale di elaborazione separato per ciascun flusso di convertitore di dati in cui vengono elaborati simultaneamente e indipendentemente dagli altri flussi. Oltre a miglioramenti di velocità, questo può consentire l’attivazione e la trasformazione di diversi canali a frequenze di campionamento differenti.
- Gestione di eventi: ogni sezione di un FPGA può funzionare indipendentemente dal sistema di distribuzione e può cronometrare un evento appena accade. Un microcontrollore spesso deve attendere un interrupt per cronometrare un evento.
- La possibilità di creare molti contatori di qualsiasi dimensione. La maggior parte dei microcontrollori sono limitati a 3-6 contatori a 16 bit.
- La possibilità di implementare più microcontrollori all’interno del chip stesso, invece di utilizzare un grande e veloce microcontrollore per fare tutto il lavoro di elaborazione.
- Dispositivi I / O in grado di soddisfare molti standard. La maggior parte dei chip FPGA può supportare più di 25 tipi di standard I / O, dove i microcontrollori tendono ad essere limitati a uno o due.
- Tempi di risposta deterministici: Il codice VHDL è implementato come un disegno hardware creando una risposta deterministica. In alcuni casi, una risposta di segnali di uscita per un segnale di ingresso può essere inferiore al nanosecondo.
In sintesi, un FPGA garantisce la capacità di costruire sottosistemi logici personalizzati che possono operare in parallelo. Ovvero, un sistema basato su FPGA di grande flessibilità e capacità per un sistema di acquisizione dati.
Il linguaggio della FPGA: VHDL
VHDL è un acronimo che sta per VHSIC Hardware Description Language. VHSIC è ancora un altro acronimo che sta per Very High Speed Integrated Circuits.
Viene utilizzato per la documentazione, verifica e sintesi di grandi progetti digitali. Questo è in realtà una delle caratteristiche chiavi di VHDL, poiché lo stesso codice può teoricamente raggiungere tutti e tre questi obiettivi. Oltre ad essere utilizzato per ciascuno di questi scopi, VHDL può essere usato in tre diversi approcci per la descrizione hardware: strutturali, flusso di dati e metodi comportamentali di descrizione hardware. Il più delle volte sono impiegati una miscela dei tre metodi appena elencati.
VHDL è uno standard (VHDL-1076) sviluppato da IEEE (Institute of Electrical and Electronics Engineers). Attualmente, la versione più utilizzata è la versione 1987 (std 1076-1987), talvolta indicato come VHDL’87, ma anche solo VHDL. Tuttavia, vi è una revisione più recente del linguaggio denominato VHDL’93. VHDL’93 (adottato nel 1994 ovviamente) è abbastanza nuovo ed è ancora in fase di sostituzione VHDL’87.
Il VHDL consente, infatti, di descrivere efficacemente sistemi complessi cui corrispondono netlist di centinaia di migliaia o milioni di porte logiche elementari, così come in un programma software ad alto livello è possibile ottenere facilmente programmi in linguaggio macchina costituiti da milioni di istruzioni elementari a partire da un listato di poche centinaia di righe.
High speed DAQ con FPGA
Un possibile progetto di un sistema di acquisizione dati ad alta velocità con FPGA può essere visualizzato in figura 1.
Il design è composto da una scheda ADC (ADS5474EVM) e una scheda FPGA (ML555). La scheda FPGA memorizza i dati grezzi acquisiti dalla scheda ADC nella sua memoria interna. Questi dati vengono successivamente trasmessi e analizzati dal PC host (Fig. 1).
ADS5474EVM è una scheda di valutazione dotata di un ADC ADS5474 prodotto da Texas Instruments. Le sue caratteristiche sono le seguenti:
• Risoluzione: 14 bit
• Maximum sampling rate: 400MSPS
• Banda: 1.4GHz
• Uscita dati: LVDS compatibile
ML555, invece, è una scheda FPGA commerciale prodotta da Xilinx ed è dotato di un Virtex-5 (XC5VLX50T). Le sue caratteristiche sono le seguenti:
• PCI-Express/PCI/PCI-X
• SDRAM DDR2
• Interfaccia LVDS con SAMTEC e porta USB
Xilinx ISE9.2, uno strumento di sviluppo integrato, è stato utilizzato per la progettazione della logica FPGA visualizzata in figura 2.
Un blocco di memoria Virtex-5 può essere usato per accumulare i dati acquisiti. Ad una frequenza di campionamento di 400 MHz, il blocco di memoria può accumulare dati di circa 327 ms. Il tempo di accumulo dati è controllato dal segnale di trigger esterno.
ML555 è dotato di un USB-UART (Universal Asynchronous Receiver-trasmettitore) per essere collegato alla porta seriale del computer host al momento dell’installazione del software. Un circuito di comunicazione seriale asincrona è utilizzato per ridurre il tempo di sviluppo. Un programma di comunicazione sul PC host può essere progettato utilizzando LabVIEW.
Il sistema di acquisizione dati ad alta velocità è applicato, per esempio, per la misura del campo elettrico del cavo superconduttore STF o altre applicazioni sensoristiche.
Quando si utilizza LabVIEW per programmare un chip FPGA, il codice viene trasformato in firmware per l’hardware, e ciò significa che la velocità di esecuzione è limitata soltanto dai clock e dai ritardi logici dell’elettronica. Utilizzando FPGA, non solo è possibile creare applicazioni che rispondono ad eventi estremamente veloci, ma anche sviluppare loop di controllo a tempi di risposta dell’ordine dei microsecondi (a seconda del codice scritto internamente al loop). Questi possono includere semplici algoritmi PID (Proportional Integral Derivative), algoritmi di trasferimento funzioni e modelli state-space.
Per task di elaborazione critici che non possono provocare rallentamenti di sistema e richiedono determinismo e temporizzazione. La natura parallela dell’hardware FPGA e la mancanza di un driver software per la comunicazione con il dispositivo, permettono alle applicazioni FPGA di risultare più affidabili rispetto al codice CPU corrispondente.
Leggi gli articoli precedenti
DAQ (parte 1) – Sistemi di acquisizione dati: generalità di progettazione
DAQ (parte 2) – Il condizionamento dei segnali e digitalizzazione
DAQ (parte 3) – Timing system e filtering
DAQ (parte 4) – Power management e bus interface
DAQ (parte 5) – Design hardware (parte prima)
DAQ (parte 6) – Design hardware (parte seconda)
Maurizio Di Paolo Emilio
Contenuti correlati
-
Emerson presenta una nuova architettura di test
Emerson ha sviluppato una nuova architettura di test modulare utilizzabile per i veicoli software-defined. L’architettura è basata sulla tecnologia NI e combina un core Fpga ad alte prestazioni con dispositivi di interfaccia serializer/deserializer (SerDes) intercambiabili. Questa combinazione...
-
Microchip rilascia VectorBlox 3.0
Microchip Technology ha annunciato il rilascio di VectorBlox 3.0, un Accelerator Software Development Kit (SDK) che permette di semplificare l’implementazione dell’AI basata su Fpga, rendendo più rapido il time-to-market. Il nuovo SDK, offerto gratuitamente agli sviluppatori, e...
-
Una nuova generazione di FPGA da AMD
AMD ha presentato la famiglia Kintex UltraScale+ Gen 2. Si tratta di una nuova generazione di FPGA di fascia media che sfruttano l’esperienza del portfolio FPGA Kintex, aggiornando elementi come memoria, I/O e sicurezza per soddisfare le crescenti...
-
Nuovi core IP da Microchip
Microchip Technology ha annunciato l’ampliamento del suo ecosistema di smart embedded video FPGA PolarFire. Si tratta di stack di soluzioni di visione integrati che combinano kit di valutazione hardware, strumenti di sviluppo, core IP e progetti di...
-
SGET rilascia la specifica oHFM per gli FPGA
Lo Standardization Group for Embedded Technologies e.V. (SGET) ha annunciato il rilascio ufficiale della specifica Open Harmonized FPGA Module (oHFM). Si tratta di uno standard per moduli FPGA aperto e indipendente dal fornitore. SGET sottolinea che oHFM...
-
Le innovazioni di Altera basate su FPGA
Altera ha recentemente fornito nuovi dettagli sui suoi FPGA Agilex 3 di nuova generazione e ha annunciato nuovi kit di sviluppo e supporto software per gli FPGA Agilex 5. Gli FPGA Agilex 3 sono progettati per soddisfare...
-
Lattice amplia la sua gamma di FPGA
Lattice Semiconductor ha aggiunto alla sua offerta di dispositivi small FPGA i nuovi componenti logic-optimized Certus-NX-28 e Certus-NX-09. Questi dispositivi general-purpose sono basati sulla piattaforma FPGA Nexus e sono caratterizzati da consumi ridotti e ingombri limitati. I...
-
GOWIN amplia la famiglia di FPGA Arora-V
GOWIN Semiconductor ha presentato GW5AT-15, il più recente componente della famiglia FPGA Arora-V. Si tratta di una soluzione di bridging programmabile ad alta velocità per applicazioni nei settori dell’elettronica di consumo e automobilistico come per esempio il...
-
Progettare veicoli spaziali con FPGA “radiation-tolerant” riconfigurabili ad alta affidabilità
Un esame delle diverse tecnologie FPGA disponibili per applicazioni spaziali e del processo di sviluppo dei componenti Leggi l’articolo completo su EO518
-
Certificazione ISO 26262 per l’ambiente di progettazione FPGA di GOWIN
GOWIN Semiconductor ha annunciato che il suo ambiente di progettazione FPGA GOWIN EDA è stato certificato conforme agli standard di sicurezza funzionale ISO 26262 e IEC 61508 dal laboratorio di test TUV. La certificazione del design tool...













