Come realizzare una soluzione basata su FPGA per reti industriali di sensori wireless

Dalla rivista:
Elettronica Oggi

 
Pubblicato il 21 febbraio 2011

Con l’introduzione di standard wireless per apparecchiature da campo – come wirelessHART e SP100.11a – coloro che devono implementare il gateway si trovano costretti a ricercare un difficile compromesso tra il costo di una soluzione e il soddisfacimento delle esigenze di comunicazione con l’impianto utilizzando diversi standard IE (Industrial Ethernet). Poiché buona parte dell’”intelligenza” si sta spostando verso le unità connesse in rete e i gateway, i progettisti devono poter disporre di soluzioni affidabili e collaudate da utilizzare come blocchi base per la realizzazione di soluzioni capaci di soddisfare i requisiti di standard in continua evoluzione. Soluzioni “robuste” in grado di supportare qualsiasi protocollo di rete presente in uno stabilimento possono essere realizzate sfruttando dispositivi FPGA, processori embedded, blocchi IP (Intellectual Property) e stack di protocolli software.

Nella figura 1 viene riportato lo schema di sistema che integra le funzionalità di gateway e di gestione della rete: esso contiene moduli radio per la comunicazione in modalità wireless, un processore di sistema centrale e un co-processore di comunicazione con un processore embedded (soft) interno implementato in un FPGA. Gli FPGA si propongono come una piattaforma flessibile in grado di prendersi carico del processo di comunicazione dell’intera rete di stabilimento, esonerando in tal modo il processore di sistema dallo svolgimento di tutte le attività legate alla gestione della rete e assicurando, tra l’altro, una maggior sicurezza nelle comunicazioni.

Fig. 1 – Schema a blocchi di un sistema gateway e per la gestione della rete wireless

Realizzazione di una soluzione IE universale
Per realizzare una soluzione in grado di supportare i molteplici protocolli IE presenti in uno stabilimento è possibile ricorrere a una serie di schede plug-in, una per ciascun protocollo. In considerazione del gran numero di standard che vengono utilizzati a livello mondiale e della loro continua evoluzione, una soluzione di questo tipo non può garantire tempi di risposta brevi o risultare competitiva in termini economici.

Le attuali CPU potrebbero non garantire – a causa dell’inadeguatezza dell’hardware o dell’insufficienza delle prestazioni – il supporto di nuove funzionalità e/o di nuovi protocolli, oppure potrebbe non essere disponibile uno stack di protocollo standard. L’operazione di re-codifica del software necessaria per garantire il supporto di un nuovo processore o di un nuovo stack, oltre a essere costosa, richiede tempi lunghi. Laddove sono previste nuove CPU o nuovi dispositivi ASIC/ASSP per applicazioni IE, è necessario procedere alla realizzazione di nuove schede. A causa della continua evoluzione degli standard IE, potrebbero essere richiesti nuovi componenti hardware: da qui la necessità di garantire il supporto a molteplici versioni della scheda e di effettuare opportune pianificazioni al fine di affrontare in modo efficace il problema della potenziale obsolescenza dei dispositivi ASIC/ASSP. Una soluzione di questo tipo è difficile da supportare, onerosa in termini di costi e richiede tempi lunghi per l’implementazione di nuove funzionalità.

Per contro la flessibilità intrinseca degli FPGA consente ai progettisti di realizzare una scheda in grado di gestire una molteplicità di standard IE. Gli FPGA possono essere riconfigurati in maniera estremamente semplice, in modo da dare la possibilità a una singola scheda di supportare qualsiasi protocollo IE in ogni momento, fino alla spedizione del prodotto. Nel caso sia richiesto un protocollo differente, è sufficiente riprogrammare l’FPGA. Questa operazione può essere effettuata nel volgere di pochi secondi sfruttando l’apposito file di configurazione dell’FPGA.
Nell’FPGA sono implementate tutte le funzioni Ethernet di livello superiore a quello fisico (livello 1): il MAC (Media Access Controller) è realizzato nella logica dell’FPGA programmabile mentre le funzioni di livello superiore (Livello 3 e successivi) sono implementate mediante software che gira sul core del processore realizzato sfruttando la logica dell’FPGA. L’implementazione di un canale di comunicazione tra il processore dell’applicazione esistente e l’FPGA è un’operazione che non comporta problemi grazie alla programmabilità della logica dell’FPGA, al supporto di molteplici standard da parte dei pin di I/O e alla disponibilità di un’ampia gamma di blocchi IP di interfaccia standard.

In generale, un progettista è in grado di utilizzare una funzione di comunicazione presente nel processore (ad esempio I2C, SPI o un altro bus parallelo locale) o nel sistema (PCI, PCI Express, CANopen e così via) per la comunicazione con l’FPGA. Un approccio di questo tipo richiede tempi brevi di elaborazione e minime modifiche del software applicativo che gira sul processore esistente.
All’interno di un FPGA, un progettista può creare con estrema semplicità un sistema contenente due o più core di microprocessori soft, in modo da portare l’elaborazione dell’applicazione all’interno dell’FPGA (Fig. 2). Un’integrazione di questo tipo permette di ridurre numero di componenti, costi e dissipazione di potenza. Poiché un progetto di questo tipo è completamente basato su IP viene assicurata la protezione contro l’obsolescenza, grazie alla lunga durata degli FPGA e alla possibilità di effettuare la migrazione del progetto sugli FPGA di nuova generazione.
La flessibilità che contraddistingue gli FPGA consente l’implementazione di nuove interfacce nel sistema, da quelle più semplici alle più complesse, capaci di supportare i più recenti standard di memorie (DDR2/DDR3) o le più attuali tecnologie di comunicazione (PCI express e via dicendo).

Fig. 2 – I progettisti possono integrare l’elaborazione dell’applicazione in un sistema IE a due canali basato su FPGA

Flusso di progettazione FPGA
I file di configurazione dell’FPGA sono generati da tool come ad esempio il software di sviluppo Quartus II di Altera. Questo software integra tutte le risorse necessarie per progettare, modificare e generare configurazione di FPGA (Fig. 3) utilizzando le più diverse metodologie di progetto (linguaggi VHDL e Verilog, schemi circuitali, metodi di tipo grafico o basati su blocchi). Questo ambiente di design consente di ottenere elevati livelli di produttività rispetto ai tradizionali flussi di progetto FPGA grazie a caratteristiche quali interfacce verso tool di simulazione hardware e ai tool per il debug dell’hardware in run time e alla possibilità di ottimizzare consumi e prestazioni del sistema.

Fig. 3 – Flusso di progetto del software Quartus II

Realizzazione di un progetto hardware basato su FPGA
Grazie alla possibilità di utilizzare processori già disponibili e componenti IP per il livello MAC di Ethernet, la generazione di un progetto di un processore custom e del controllore MAC mediante il tool SOPC (System On a programmable Chip) Builder (integrato nell’ambiente Quartus II) non presenta problemi. Questo tool basato su un’interfaccia utente grafica (GUI) permette di creare con facilità sistemi basati su IP oltre ad accelerare ed automatizzare le fasi di configurazione, integrazione e generazione di tali sistemi. Il tool genera il codice HDL necessario per la realizzazione di un sistema perfettamente funzionante e non richiede la scrittura manuale di codice, in quanto il blocco IP è già generato e collaudato: le interconnessioni del sistema sono g
enerate dalla macchina, per cui il progetto risulta corretto per costruzione. Una volta generato il sistema, esso viene compilato in modo da creare il file di configurazione che viene successivamente trasferito nell’FPGA.

Nel caso si desideri creare un nuovo progetto o modificarne uno esistente, è possibile effettuare le variazioni utilizzando la GUI: il sistema a questo punto può essere ricreato e ricompilato. Per realizzare un progetto hardware in grado di supportare un nuovo protocollo IE è sufficiente acquistare il relativo blocco IP, integrarlo nel progetto del sistema esistente e generarlo di nuovo. Dopo la ricompilazione, effettuata con un solo click, il progetto hardware è pronto.

Componenti hardware per IE e IP software
Al momento attuale sono disponibili package IP per una molteplicità di protocolli IE, tra cui Modbus IDA, EtherNet/IP, PROFINET, Ethernet Powerlink, SERCOS III, Varan ed EtherCAT. I blocchi IP hardware sono generalmente forniti sotto forma di componenti di SopC Builder che contiene il controllore MAC e la logica aggiuntiva richiesta. il blocco IP software è disponibile sotto forma di libreria o interfacce API scritte in C per il processore embedded Nios II.

Un kit per iniziare
Il modo più semplice per avviare un progetto è utilizzare un kit di sviluppo per IE: sono oramai parecchi i costruttori che propongono schede di sviluppo e progetti di riferimento per applicazioni IE. Le schede integrano un FPGA a basso costo e l’hardware di comunicazione per il livello 1 di Ethernet (IEEE802.3), garantendo in tal modo l’indipendenza dal protocollo IE. La scheda può anche prevedere transceiver per altri tipi di interfacce quali CAN, USB,UART e LVDS.
La disponibilità di FPGA flessibili e a basso costo, blocchi IP di microprocessori soft, hardware per IE già pronto all’uso e blocchi IP software ha permesso lo sviluppo di un’unica soluzione programmabile in grado di interfacciare sistemi wireless con qualsiasi rete IE presente nell’impianto.

Gli FPGA sono in grado di supportare qualsiasi protocollo di comunicazione industriale basato su Ethernet utilizzando il medesimo hardware e garantendo nel frattempo i vantaggi tipici dei dispositivi programmabili in termini di integrazione, flessibilità e protezione contro l’obsolescenza.
Ulteriori benefici legati a una realizzazione mediante FPGA derivano dalla possibilità di utilizzare tool di sviluppo integrati all’interno di un singolo ambiente che permettono di creare un progetto basato su IE con estrema semplicità.
 

Stefano J. Zammattio, senior product marketing engineer, Altera Europe



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