DAQ (parte 8) – Design con FPGA

Pubblicato il 15 settembre 2014

In un sistema di acquisizione il flusso di dati può essere gestito da un FPGA che garantisce una notevole trasmissione e una facile riprogrammazione. Analizziamo la FPGA con un esempio di progetto in ambito di un sistema DAQ generale.

figura1

Fig. 1 – Struttura di una FPGA

Field Programmable Gate Array (Fig. 1) o FPGA sono matrici tridimensionali di blocchi logici con interconnessioni programmabili. Le interconnessioni sono costituite da interruttori, che è la ragione del fatto che questi FPGA differiscono dai circuiti integrati (IC) personalizzati.

In un FPGA, blocchi di codice vengono implementati utilizzando più livelli in porte, che gli conferisce un design più compatto rispetto a un’implementazione con due livelli di logica AND-OR. FPGA fornisce ai suoi utenti di configurare: l’intersezione tra i blocchi logici e la funzione di ciascun blocco logico.

figura2

Fig. 2 – SRAM-controlled programmable switcheig. 3 – Schema a blocchi del XEM3010

Il blocco logico di un FPGA può essere configurato in modo tale da fornire una funzionalità semplice come quella del transistor o complesso come quello di un microprocessore; può essere utilizzato per implementare diverse combinazioni e funzioni logiche sequenziali. Inoltre, blocchi logici di una FPGA possono essere implementati da uno dei seguenti modi:

• Coppie di transistor;
• Configurazioni combinatorie come porte NAND di base o porte XOR;
• Multiplexer.

Le FPGA sono state introdotte come soluzioni alternative ai circuiti integrati personalizzati, per l’attuazione dell’intero sistema e fornire flessibilità e riprogrammabilità del dispositivo (Fig. 2).

DAQ high speed con FPGA

Con il rapido sviluppo delle tecnologie dell’informazione, l’acquisizione dati in tempo reale è diventata una parte indispensabile nelle applicazioni quali misura del segnale, elaborazione di immagini, l’elaborazione del segnale audio high speed, misure di alta precisione e la necessità di una raccolta dati ad alte prestazioni.

figura3

Fig. 3 – Schema a blocchi del XEM3010

Sistemi di raccolta dati tradizionali, sono spesso computer single-chip o processore di segnali digitali (DSP). Tuttavia, a causa del ciclo di istruzioni single-chip e la sua frequenza di clock relativamente bassa, è difficile soddisfare sistemi di acquisizione dati e requisiti di sincronizzazione in tempo reale.

figura4

Fig. 4 – Visione 3D della scheda XEM3010

Il sistema di acquisizione dati basato su DSP, anche se con sufficiente velocità di elaborazione, ha un costo elevato, con troppi frequenti interruzioni della CPU che riduce l’efficienza e la velocità di risposta.
L’utilizzo di sistemi logici programmabili garantisce vantaggi di flessibilità nella gestione di un sistema di acquisizione dati. I chip FPGA possono essere utilizzati in elaborazione e controllo dati, e sistemi di controllo.

Supponendo che il blocco relativo al front-end A/D è stato correttamente realizzato, la fase della progettazione del sistema digitale che deve essere realizzata al fine di dialogare con la sezione analogica, comandare correttamente i vari convertitori attraverso un protocollo di comunicazione e, quindi, acquisire in maniera corretta i campioni convertiti in formato digitale.

figura5

Fig. 5 – Schema a blocchi del sistema DAQ con FPGA

L’implementazione dell’architettura digitale, prevede una pre-elaborazione dei campioni che evita un “sovraccarico” di lavoro per il computer associato al processamento dei dati. La scelta del FPGA permetterà l’ottimizzazione di parametri per migliorare il time-to-market e la personalizzazione del prodotto: la possibilità di far comunicare i blocchi logici con il mondo esterno, integrare il sistema con sistemi digitali specifici quali DCM (Digital Clock Master) e moltiplicatori, sono un insieme di fattori che hanno reso indispensabile l’uso del FPGA nei sistemi attuali.

La progettazione del sistema digitale viene realizzata attraverso uno specifico linguaggio, il VHDL: ossia un “linguaggio di descrizione”, attraverso il quale è possibile descrivere il comportamento del sistema digitale non in termini circuitali, ma in termini di funzionalità di alto livello.

La realizzazione del codice VHDL segue la mappatura, nonché il routing, attraverso un pacchetto software (ISE) in grado di tradurre il codice ad alto livello in un insieme di blocchi digitali opportunamente configurati, realizzando la specifica applicazione del FPGA.

Per far fronte a diverse esigenze relative alla riduzione del tempo di progettazione, la necessità di memoria RAM e la possibilità di comunicare attraverso semplici host (vedi USB), un possibile modello commerciale che può essere utilizzato per lo sviluppo di un progetto è XEM3010 (Figg. 3 e 4), prodotta dalla Opal Kelly: una scheda di sviluppo che integra una FPGA Xilinx Spartan-3 con diverse periferiche.

Esempio di progetto

L’acquisizione dei dati è il processo di raccolta e misura dei segnali in tempo reale. I dati acquisiti vengono utilizzati dal computer per un’ulteriore elaborazione. L’idea di progetto è quella di implementare un sistema utilizzando porte seriali RS-232 e il protocollo SPI in un FPGA. Questa implementazione potrebbe costituire una base per ulteriori progetti scientifici.

Lo schema a blocchi del sistema di acquisizione dati è costituito da un generatore di funzioni, ADC e un amplificatore programmabile come mostrato in figura 5.

L’ADC seriale utilizzato è LTC1407A-1 14 bit e l’amplificatore è LTC6912-1. In applicazioni reali, un circuito di condizionamento dovrà essere utilizzato per convertire i segnali analogici in segnali elettrici che possono essere applicati all’ADC.

LTC1407A-1 è un ADC 14-bit 3Msps, con due ingressi differenziali a campionamento simultaneo. LTC6912, invece, è un amplificatore a doppio canale, basso rumore, a guadagno programmabile digitalmente, facili da usare e dimensioni ridotte. I guadagni per entrambi i canali sono indipendenti, programmabili tramite un’interfaccia SPI a 3 fili per selezionare il relativo guadagno di tensione.

figura6

Fig. 6 – Spartan 3A/3AN

Il sistema è costituito da due parti principali. Modulo di acquisizione dati e il modulo RS-232 di serie, entrambi questi moduli vengono implementati in un FPGA quale, per esempio, Spartan 3A/3AN (Fig. 6), utilizzando lo strumento Xilinx ISE 12.3i. Il sistema utilizza due protocolli di comunicazione: il protocollo di comunicazione seriale viene utilizzato per comunicare in modo asincrono tra FPGA e PC, il protocollo di comunicazione SPI, invece, è usato come master e slave che comunica in modo sincrono tra ADC e FPGA.

La funzione principale del sistema è quello di acquisire segnali analogici e convertirli in forma digitale equivalente, per poi inviare i dati al PC per un ulteriore utilizzo. Xilinx ha molti prodotti commerciali dove le FPGA trovano applicazione, per esempio nel settore automotive e industriale. Altre applicazioni di FPGA includono elaborazione del segnale digitale, software-defined radio, sistemi di difesa aerospaziale e, prototipazione ASIC, imaging medicale, visione artificiale, riconoscimento vocale, la crittografia, la bioinformatica, l’emulazione hardware, radioastronomia e una gamma crescente di altre aree.

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

  • Altera
    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
    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
    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  

  • gowin
    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...

  • microchip
    Microchip: architettura RISC-V per applicazioni spaziali

    Microchip Technology ha introdotto un SoC FPGA RT (radiation-tolerant) PolarFire. Sviluppato su FPGA RT PolarFire, sempre di Microchip, si tratta del primo sottosistema di microprocessore realtime basato su RISC-V compatibile con Linux su una struttura FPGA RT...

  • Arrow Electronics
    Una scheda FPGA per semplificare lo sviluppo IA da Arrow Electronics

    Arrow Electronics ha presentato CYC5000, una scheda FPGA in grado di semplificare lo sviluppo di applicazioni IA. La scheda plug-and-play ha un fattore di forma compatto (misura 25,0 x 70,7 mm), un radiatore compatibile con Arduino, un...

  • AMD
    AMD annuncia la famiglia di FPGA Spartan UltraScale+

    AMD ha presentato i nuovi FPGA della famiglia Spartan UltraScale+, destinata alle applicazioni edge a budget contenuto. Questi FPGA sono caratterizzati da un elevato numero di I/O, alta efficienza energetica e funzionalità di sicurezza per applicazioni embedded...

  • Intel
    Intel ha presentato la sua nuova società indipendente per gli FPGA: Altera

    Come preannunciato alcuni mesi fa, Intel ha reso autonoma la sua divisione PSG (Programmable Solutions Group) trasformandola in una società indipendente, focalizzata sugli FPGA, e dandole un nome molto noto: Altera. Il nome è quello dell’azienda acquisita...

  • Automotive: il ruolo degli FPGA nell’evoluzione della “In-cabin experience”

    Per poter supportare in maniera adeguata l’evoluzione sia della tecnologia sia delle richieste dei consumatori, i produttori stanno sempre più focalizzando la loro attenzione sui dispositivi FPGA, che rappresentano la soluzione ideale per effettuare la regolazione della...

Scopri le novità scelte per te x