0X_0X_A_NI
15-04-2009
17:25
Pagina 45
APPROFONDIMENTI
National Instruments
e l’embedded
Con il moduloLabVIEW
FPGA e i suoi dispositivi
hardware RIO,
l’azienda specializzata
in strumenti di testing
e misura ha iniziato a creare
una piattaforma di sviluppo
adatta anche all’embedded
e alla programmazione FPGA
di
Gianluca Pizzocolo,
IPSES S.r.l.
a anni National Instruments
Ad esempio, la possibilità di
limite e di rendere LabVIEW adat-
è uno dei leader mondiali
visualizzare graficamente un DAC
to anche per sistemi embedded
D
Figura 1
Compact RIO
nella fornitura di piattafor-
come un quadratino su uno
con FPGA: con il modulo LabVIEW
me software e moduli hardware
schermo in cui poter scrivere dei
FPGA e i suoi dispositivi hardware
basso livello di tutti i singoli
per il testing e la misurazione
numeri e un ADC come un altro
RIO (Reconfigurable I/O) (Figura 1)
moduli, in modo da avere deter-
industriale. Le ragioni di questo
quadratino da cui leggere dei
ha, infatti, iniziato a creare una
ministicamente sotto controllo
successo sono sicuramente la
numeri, rende sicuramente più
piattaforma di sviluppo adatta
ogni componente e algoritmo del
semplicità di programmazione e
immediata e semplice la pro-
anche all’embedded e alla pro-
sistema.
di utilizzo e la forte integrazione
grammazione.
grammazione FPGA.
tra il loro software e il loro hard-
Tale livello di astrazione è sempre
ware. Ciò consente lo sviluppo di
stato ragionevole se utilizzato
Grazie all’integrazione della tec-
applicazioni anche complesse in
per sviluppare programmi per PC
nologia Xilinx, LabVIEW facilita e
raggiunto dai sistemi embedded,
tempi brevi, certo non possibili se
interfacciati a hardware National:
riduce il tempo di sviluppo per
permette senza dubbio di ottimiz-
Questo approccio, nonostante l’elevato grado di complessità ormai
si ricorresse a uno sviluppo
infatti il loro hardware è già otti-
numerose applicazioni stand-
zare le prestazioni e di assicurare
embedded puro.
mizzato e sviluppato per essere
alone, aprendo così le porte a una
l’assoluto controllo dell’intero
Tra le piattaforme sviluppate,
gestito nel migliore modo possi-
tecnologia che per molti risultava
sistema, ma, al contempo, fa sì
LabVIEW ha sempre avuto un
bile con semplici VI preconfezio-
essere ancora inaccessibile per
che lo sviluppo richieda tempi
livello di astrazione elevato e
nati, ma sino a pochi anni fa era
gli elevati costi di apprendimento
lunghi e notevole esperienza spe-
certamente anche per questo
ovviamente impensabile applica-
e di sviluppo.
cifica.
motivo è sempre stato apprezza-
re tale logica a un sistema
to dagli integratori e dagli svi-
embedded che non fosse basato
Se si considera infatti l’utilizzo
Mentre è ormai assodato che il
luppatori che avevano più dime-
su un PC.
classico di FPGA, quasi sempre i
linguaggio più adatto per la pro-
stichezza con il software che con
Da ormai un paio d’anni National
progettisti embedded si occupa-
grammazione dei microcontrollo-
l’hardware.
ha pensato di superare questo
no direttamente della gestione a
ri è il C, efficacemente e facilmen-
DESIGN-IN • 3/2009
45
0X_0X_A_NI
15-04-2009
17:25
Pagina 46
APPROFONDIMENTI
VHDL e LabVIEW FPGA: caratteristiche generali a confronto
Astrazione
Ottimizzazione
Prestazioni ottenibili
Tempo di sviluppo e debug
avuto modo di realizzare diverse
bili le specifiche di interfaccia dei
applicazioni con questa piattafor-
moduli con l’FPGA, permettendo
VHDL
LABVIEW FPGA
ma e le sue prestazioni si sono
quindi anche a terzi parti di svi-
Bassa
Media/Alta
Elevate
Elevato
Elevata
Media/Bassa
Medie
Medio
dimostrate efficaci e, soprattutto,
luppare moduli propri, aumentan-
ha permesso una notevole ridu-
do così i moduli a catalogo, e che,
zione dei tempi di sviluppo.
molto spesso, non è necessario
ottimizzare nel migliore modo
Tabella 1
Caratteristiche Hardware con FPGA di National Instruments
COMPACRIO
Famiglia FPGA
Prezzo
Accesso
diretto ai pin
dell’FPGA
Real Time OS
Spartan-3 o Virtex-5
$900÷2.900
No
Sì
FLEXRIO
DAQ SERIE R
Virtex-5
Virtex-II o Virtex-5
$3.000÷7.000 $1.400÷3.800
Sì
No
No
No
Tabella 2
Ovviamente, non è detto che
possibile l’FPGA, dato che comun-
LabVIEW FPGA sia sempre la solu-
que da un’FPGA con prestazioni
zione migliore per qualsiasi pro-
molto elevate si riescono a otte-
getto con FPGA: vi sono, infatti,
nere facilmente delle funzionalità
alcune forti limitazioni tra cui, la
soddisfacenti con uno sforzo
più importante, è l’essere applica-
minimo, la soluzione offerta da
bile solamente ai moduli hardwa-
National può risultare molto inte-
re forniti da National, quindi
ressante e pratica sia in termini di
LabVIEW non è certamente la
costi, sia di semplicità di sviluppo.
soluzione nel caso in cui si pro-
Per chi volesse provare le poten-
getti da zero una scheda con
zialità di questo nuovo ambiente
un’FPGA e si voglia programmare
di sviluppo, è disponibile il pac-
solo quella.
chetto
“Embedded Software
te utilizzato anche nei microcon-
oltre a dover considerare i pro-
trollori di fascia più alta mante-
blemi di skew e corse critiche che
nendo sempre un ottimo compro-
sono praticamente inesistenti nei
Inoltre, si deve tenere sempre in
messo tra astrazione e “fisicità”
microcontrollori.
considerazione che questo lin-
I/O e dal software di valutazione
guaggio non consente di sfrutta-
(LabVIEW, LabVIEW FPGA e
del dispositivo che si sta pro-
Evaluation Kit”, costituito da una
Single-Board RIO con un modulo
grammando, non si può trovare
Oggi, soprattutto grazie al note-
re al massimo le prestazioni e le
LabVIEW real-time) della durata di
un dualismo simile tra un linguag-
vole incremento delle dimensioni
potenzialità offerte dalle FPGA. In
90 o 180 giorni.
gio di programmazione e le FPGA:
e delle prestazioni delle FPGA e al
Tabella 1 sono state messe a con-
i linguaggi più utilizzati e diffusi
loro sempre minor costo, diventa
fronto le caratteristiche generali
In questo modo qualsiasi svilup-
in questo caso sono oggi il VHDL e
interessante valutare la possibili-
del VHDL e di LabVIEW FPGA: si
patore può facilmente capire le
il Verilog, mentre il system-C non
tà di incrementarne il livello di
sono considerati il livello di astra-
potenzialità offerte dall’accoppia-
è ancora un linguaggio ottimale
astrazione a lieve scapito dell’ot-
zione, l’ottimizzazione, le presta-
ta FPGA-LabVIEW, senza incorrere
per essere usato con questa tec-
timizzazione, ma a notevole van-
zioni ottenibili e i tempi di svilup-
nelle tipiche problematiche in cui
nologia.
taggio della facilità e velocità
po necessari.
tutti i neofiti del VHDL si imbatto-
d’uso e di sviluppo, questo non
no (gestione del clock all’interno
Tuttavia, la programmazione in
solo per utenti “inesperti”, ma
Anche se, come evidenziato,
dell’FPGA, corse critiche, gestione
VHDL e Verilog non è semplice e
anche per quelli che hanno dime-
LabVIEW FPGA ha certamente
corretta delle macchine a stati
spesso nasconde insidie e proble-
stichezza con i linguaggi di pro-
alcuni forti svantaggi rispetto al
ecc.): tutta la parte più ostica
matiche apparentemente insupe-
grammazione hardware.
VHDL puro, se si considera che
della programmazione FPGA
National ha già in catalogo nume-
viene, infatti, mascherata e gesti-
rabili per l’utente inesperto che
prova a utilizzarli, anche se parte
La piattaforma LabVIEW FPGA,
rosi moduli di I/O (a parte i comu-
ta dal compilatore LabVIEW che,
da un solido background di pro-
finalmente debuggata e ottimiz-
ni moduli di acquisizione e gene-
nascostamente, chiama il compi-
grammazione di microcontrollori:
zata con l’uscita lo scorso giugno
razione sia digitali, sia analogici,
latore Xilinx.
la causa è principalmente dovuta
della nuova versione 8.6, rispon-
sono infatti disponibili moduli con
Un altro vantaggio non trascura-
al fatto che per programmare in
de ora a questa esigenza, renden-
interfacce RS232, RS485, CAN, LIN,
bile offerto da LabVIEW FPGA è la
FPGA bisogna ragionare in termi-
do l’uso delle FPGA più immediato
Profibus, GSM, Wireless LAN,
possibilità di provare i vari modu-
ni spaziali e non più temporali,
e rapido. In questi mesi abbiamo
ZigBee ecc.), che ha reso disponi-
li sviluppati per FPGA su un PC,
46
DESIGN-IN • 3/2009
0X_0X_A_NI
15-04-2009
17:25
Pagina 47
APPROFONDIMENTI
come si prova qualsiasi altro nor-
fascia alta (la Virtex-5 della Xilinx)
sia per coloro che, non avendo la
male VI di LabVIEW (e chi pro-
che però porta ad avere un costo
pluriennale esperienza necessa-
gramma in VHDL sa bene che le
superiore rispetto agli NI-RIO con
ria con il VHDL, vogliano comun-
simulazioni con Modelsim o le
FPGA e sistema real-time.
que programmare hardware NI
prove con Chipscope richiedono
che integri FPGA, sia per gli uten-
tempi e risorse tutt’altro che tra-
Nel caso in cui si vogliano svilup-
ti esperti che vogliano ridurre i
scurabili): tale procedura è anco-
pare sistemi più semplici che non
tempi (e dunque i costi) di pro-
ra un po’ complicata, ma è proba-
richiedano né un real-time né una
grammazione,
bile che sarà migliorata con le
Virtex-5, National diventa meno
comunque alle prestazioni che
successive release.
competitiva a meno che non si
avrebbero
voglia (e si possa) integrare tutto
embedded progettato partendo
Va doverosamente ribadito che, in
in una scheda di acquisizione DAQ
da una normale FPGA Xilinx.
ogni caso, occorre sempre obbli-
della serie R dotata di Virtex-II:
gatoriamente usare l’hardware
tali schede possono avere sia
Mentre, nel caso in cui si vogliano
RIO di National: è infatti questo
interfaccia PCI, sia interfaccia PXI
sviluppare applicazioni semplici
l’unico modo per programmare
e, oltre a permettere la genera-
basati su FPGA oppure applicazio-
FPGA con LabVIEW ed eventuale
zione e l’acquisizione di segnali
ni molto performanti e con veloci-
hardware aggiuntivo sviluppato
come per le altre schede DAQ,
tà elevate, la piattaforma di
ad-hoc potrà sì essere connesso,
integrano una FPGA programma-
National non è la risposta più
ma non potrà mai sostituire il
bile dall’utente su cui si possono
adatta poiché nel primo caso
“core” costituito dal RIO.
implementare semplici algoritmi
sarebbe difficile giustificarne il
di elaborazione.
costo, mentre nel secondo non
con
avvicinandosi
un
sistema
sarebbe possibile sfruttare piena-
Probabilmente è questo il limite
più grande e difficilmente supera-
In Tabella 2 si sono evidenziate le
mente e con un controllo suffi-
bile sia sotto l’aspetto tecnico, sia
diverse caratteristiche dell’hard-
ciente
sotto l’aspetto commerciale che
ware NI con FPGA, inclusa la
dell’FPGA.
rende dunque questo linguaggio
fascia di prezzo che, come si
un sistema di sviluppo proprieta-
vede, per uno stesso sistema può
rio abbastanza chiuso.
variare anche parecchio a secon-
ogni
blocco
logico
da del tipo di FPGA montata e
Un’altra forte limitazione è data
della massima frequenza operati-
dal fatto che le schede e i sistemi
va ottenibile.
RIO che utilizzano FPGA di fascia
Ultima nota positiva su LabVIEW
media (le Spartan-3 della Xilinx)
FPGA è la possibilità di poter inse-
sono sempre integrati in un siste-
rire anche del proprio codice
ma dotato di un processore real-
VHDL all’interno di un VI: è quindi
time: ciò, ovviamente, fa aumen-
possibile implementare eventuali
tare sia il costo dell’hardware, sia
algoritmi critici definiti dall’uten-
dell’ambiente di sviluppo che,
te in maniera molto diretta senza
oltre a LabVIEW FPGA, richiederà
la necessità di passare dal compi-
anche LabVIEW real-time.
latore di National, ma definendo
già del codice VHDL da inviare al
Per trovare sistemi solo con FPGA
compilatore Xilinx insieme al
occorre passare agli NI-FlexRIO,
codice LabVIEW convertito.
che non hanno il processore real-
In conclusione, LabVIEW-FPGA è la
time, ma che montano un’FPGA di
certamente una buona soluzione
DESIGN-IN • 3/2009
47
Scarica

National Instruments e l`embedded