11
NATIONAL INSTRUMENTS
LA COPERTINA DI EMBEDDED
EMBEDDED
60 • MAGGIO • 2016
latenza e ottimizzato per l’architettura. L’IP di visio-
ne FPGA di NI, attualmente, si rivolge a tre famiglie
di FPGA Xilinx - Kintex-7, Virtex-5 e Spartan-6 - e ai
dispositivi Xilinx Zynq-7000 All Programmable SoC.
Le funzioni dell’IP di visione FPGA elaborano il singolo pi-
xel: accettano 1 pixel da un flusso di pixel e ne forniscono
uno rielaborato in output. Le funzioni dell’IP interagiscono
tra loro mediante l’enable-based handshaking o un proto-
collo di handshaking a quattro fili. La ragione principale di
questa implementazione è che la complessità del path di
controllo aumenta con il numero di funzioni nella pipeline
delle immagini, richiedendo così un trasferimento continuo
di dati tra le funzioni. Il protocollo a quattro fili assicura il
trasferimento senza perdita dei dati tra le funzioni dell’IP
di visione FPGA nel loop SCTL (Single-Cycle Timed Loop).
L’impiego dell’SCTL garantisce che i moduli nel loop siano
sincronizzati alla frequenza specificata dall’utente.
La figura 3 mostra un VI FPGA che descrive il protocollo a
quattro fili e il buffer di sincronizzazione per unire i pixel.
Il protocollo a quattro fili è progettato per gli algoritmi che
funzionano in parallelo; migliora il throughput, garanten-
do l’elaborazione dei dati in un’architettura produttore-
consumatore. Inoltre, l’handshake a quattro fili consuma
sull’FPGA il minimo delle risorse. Questo è importante
perché il protocollo costituisce l’overhead per le funziona-
lità di visione sottostanti. L’IP di visione FPGA offre, inol-
tre, la flessibilità di aggiungere un codice personalizzato
all’interno della pipeline, fornendo un ambiente aperto. Il
codice personalizzato richiede un wrapper VI che ha l’im-
plementazione handshake a quattro fili. Successivamente
si può inserire il codice personalizzato nella pipeline delle
immagini. Il toolset dell’IP di visione FPGA fornisce fun-
zioni di pre-elaborazione, filtri di rilevamento dell’edge,
filtri di convoluzione, filtri passa basso, morfologia grigia,
morfologia binaria e soglia. Include anche funzioni di IP
di visione che eseguono operazioni aritmetiche e logiche, e
funzioni che forniscono risultati come il baricentro. Un’al-
tra funzione, Simple Edge Tool, trova gli edge lungo la
linea ed è utile per le applicazioni di calibrazione. La fun-
zione Quantify riceve l’immagine con maschera e il flusso
di immagini per l’elaborazione, restituisce un report con
informazioni sull’area, la media e la deviazione standard
delle regioni definite dall’immagine con maschera. Il Li-
near Average calcola l’intensità media dei pixel (il profi-
lo medio della linea) su tutta l’immagine o su una parte.
La più recente aggiunta all’IP di visione FPGA di NI è il
Particle Analysis Report. È possibile operare in un’imma-
gine su regioni di particelle o gruppi di pixel e successi-
vamente eseguire le misure selezionate di quelle regioni.
Quasi il 70% delle funzioni dell’IP di visione FPGA di
NI è stato sviluppato mediante l’IP Builder, un’utility
di LabVIEW FPGA che consente di codificare in codice
grafico utilizzando LabVIEW e fornire poi il codice RTL
usando l’HLS di Vivado. Il principale vantaggio di questo
approccio è che gli utenti che hanno familiarità con il co-
dice grafico possono sviluppare l’applicazione con un file
direttivo, che indica la frequenza e l’analisi della latenza,
o l’analisi dei blob, individuando i requisiti connessi. L’uti-
lizzo di LabVIEW IP Builder con il Vivado HLS genera il
giusto codice VHDL. Si possono utilizzare sulle immagini
operazioni basate su array, il Vivado HLS assicura che, in
base alle direttive stabilite, il VI raggiungerà la frequenza
dell’operazione necessaria e la minima latenza.
Mentre i prodotti e i processi più avanzati spingono in
avanti i limiti dei sistemi di visione, gli sviluppatori di
applicazioni avranno bisogno di una prototipazione e di
un ambiente per lo sviluppo degli algoritmi efficace per le
funzionalità della visione. Fornire gli strumenti giusti agli
sviluppatori e agli esperti del settore alimenterà la prossi-
ma ondata di innovazione nella progettazione di sistemi di
visione per le masse. Se sei interessato a provare gli IP di
visione FPGA di NI, avrai bisogno di istallare LabVIEW
FPGA e il VDM. Il periodo di prova dura 30 giorni, succes-
sivamente potrai estendere o acquistare la licenza presso
ni.com/vision.
Controller industriale
a prestazioni avanzate
IC-3173 è un controller fanless industriale e a
prestazioni avanzate per coloro che necessita-
no della migliore potenza di elaborazione per
applicazioni di controllo e automazione in am-
bienti difficili.
Questo controller è dotato di un processore In-
tel Core i7 dual-core a 2.20 GHz, RAM DDR3
8 GB e memoria 4 GB in un sistema robusto
senza componenti mobili. Un FPGA Kintex-7
permette di ottimizzare le prestazioni di siste-
ma grazie a I/O di controllo e temporizzazione
e funzioni di co-elaborazione immagini. Questa
progettazione hardware, in combinazione con
il sistema operativo NI Linux Real-Time, offre
al sistema una totale affidabilità e permette
agli sviluppatori di sfruttare tutto l’ampio eco-
sistema di Linux. IC-3173 offre la connettività
ideale per la comunicazione e sincronizzazione
con chassis EtherCAT e Ethernet CompactRIO,
motion drive EtherCAT, telecamere GigE Vision
e USB3 e altri dispositivi di automazione.