methodology for development of intelligent data and image
TRANSCRIPT
METHODOLOGY FOR THE DEVELOPMENT OF
INTELLIGENT DATA AND IMAGE ACQUISITION SYSTEMS
USING EPICS AND FLEXRIO TECHNOLOGY
D. Sanz1, M. Ruiz1, A. Bustos1, S. Esquembri1, E. Barrera1, E. Bernal1,R. Castro2, J. Vega2
1UPM, Universidad Politécnica de Madrid, Madrid, Spain; Grupo de investigación en Instrumentación y Acústica Aplicada
2Asociación EURATOM/CIEMAT, Madrid, Spain
Universidad Politécnica de Madrid
Outline
• Introduction
• RIO & FlexRIO Devices – Reconfigurable hardware based on FPGA
– Interchangeable physical front ends for FlexRIO devices
• NIRIO-EPICS Device Support – I-RIO Driver
– EPICS Device support for every RIO/FlexRIO configuration
• Design Methodology – Procedure
– Example of FPGA implementation
• Applications – ITER
– ESS Bilbao
• Conclusions
• Future works
• References
Universidad Politécnica de Madrid
FPGA
Reconfigurable hardware:
Logic gates, flip-flops, RAM
memory, I/O registers etc..
Introduction
• Nowadays large scale experiments require EPICS and reconfigurable DAQ devices based on FPGA.
• EPICS provides a powerful software framework.
• FPGAs provide reconfigurable hardware with deterministic data preprocessing capabilities.
Distributed control and
monitoring systems
ADC
DAC
DIO
Universidad Politécnica de Madrid
Introduction
• We propose a design methodology for RIO/FlexRIO devices, to be supported by a NIRIO EPICS Device Support (NIRIO-EDS) based on asynDriver.
• NIRIO-EDS will support every RIO/FlexRIO configuration.
PXIe Chassis
CPU with
RIO R
series
FPGA
PCIe
FlexRIO
Cards
FilteringFFT Compressing
..1001 ...1
or derived from
RHLE
.
.
.
.
IOCCA NIRIO-
EDS
Universidad Politécnica de Madrid
RIO/FlexRIO Devices
Write registers
Read registers
ADCs
DACs
Digital I/Os
CameraLink
DMA
Interchangeable
Adapter modules
FPGA
HOST
IOCNIRIO-EDS
PVsai
ao
di
do
mbbi
Mbbo
string
Waveforms
...
Write registers
Read registers
ADCs
DACs
Digital I/Os
FPGA DMA IOCNIRIO-EDS
HOST
PVsai
ao
di
do
mbbi
Mbbo
string
Waveforms
...
Fixed I/O
FlexRIO device
RIO device
Universidad Politécnica de Madrid
FPGA
NI RIO kernel
modules
NI RIO library
libNiFpga.so.2
asynDriver
I-RIO
Driver
Linux User
space
Linux Kernel
space
Hardware
RIO/FlexRIO
Device
EPICS core
IOC app
CA
NDS(ITER, Cosylab)
areaDetector,
Whatever!!
areaDetector,
Whatever!!
Level 0
Level 1
Level 2.a
Level 2.b
Level 3
NIRIO-EDS based on asynDriver
• I-RIO Driver detects in run time FPGA configuration, and FPGA I/O registers and DMA channels are dynamically interfaced with EPICS.
Universidad Politécnica de Madrid
Design Methodology for RIO/FlexRIO
devices
• Records database file is generated automatically using FPGA mapped resources. Including all files in EPICS software unit, the IOC is ready to control & monitor the RIO/FlexRIO
Scientific requirements
Electronics specifications:
Signal conditioning, AI/O, DI/O
sampling rates, preprocessing
algorithms, etc.
RIO/FlexRIO configuration
with LabVIEW FPGA
templates
Step 1
Step 2
Step 3
RIO/FlexRIO
LabVIEW
programmer
EPICS IOC AppEPICS IOC App
Java app .db
generation tool
NIRIO-EDS
library
NIRIO-EDS
library
Records.db Records.db
makebaseApp.pl
EPICS script
IOC creation
FPGA bitfileFPGA bitfile
LabVIEW C
API generator
tool
st.cmd configurationst.cmd configuration
FPGA mapped
resources
FPGA mapped
resources
Universidad Politécnica de Madrid
Write registers
Read registers
ADCs
DACs
Digital I/Os
CameraLink
DMA
Interchangeable
Adapter modules
FPGA
HOST
IOCNIRIO-EDS
FPGA (RIO/FlexRIO)
configuration example
SamplingRate0
ADC
Ch[0-9]
DMA PCI/PCIe to CPUFIFO0 NCHperDMATtoHOST0
GroupEnable0
DAQStartStop
Write
RegistersBase registers
FPGA
Read registers
DeviceType
DeviceTemp
InitDone
FPGAVIversion
Fref
...
AI3
AI4Ch[0..9]
auxAO32_0
auxAO32_1
auxAO32_2
auxDO_0
Processing
algorithm
auxAI32_0
auxAI32_1
State machine
BUS PXI trigger lines
PXI_IN0
Universidad Politécnica de Madrid
FlexRIO configuration
Universidad Politécnica de Madrid
FlexRIO configuration
Universidad Politécnica de Madrid
FlexRIO configuration
Universidad Politécnica de Madrid
FlexRIO configuration
Hardware
Logic
Hardware
Logic
Universidad Politécnica de Madrid
Use case applications
• ITER PXIe Fast controller prototype for data and Image acquisition (cameralink).
Mini-CODAC
Universidad Politécnica de Madrid
Use case applications
• ITER Fission chamber diagnostic use case application based on FlexRIO
technology: It integrates deterministic diagnostic into the FPGA (4 ADC
sampling at 125MS/s). Processing to obtain counts, RMS and cambelling
implemented in the FPGA.
Universidad Politécnica de Madrid
Use case applications
• ESS Bilbao. NIRIO-EDS will support the RIO PXI-7852R for the control and monitoring of the Ion Source Hydrogen Positive (ISHP).
Universidad Politécnica de Madrid
Other Applications
• Integration of Hardware clock into the RIO/FlexRIO devices synchronized with IEEE1588-V2 (tenth of nanoseconds accuracy)
– It allows real-time timestamping in the DAQ for all acquired data
(or blocks) without CPU intervention. Very useful for timestamped data streaming.
– It requires a PXI device compliant with PTP-V2.
PTP
Hardware
Control
Future event 1
1 PPS
Future event 2
PXI TRIGGER Line 0
PXI TRIGGER Line 1
NI PXI 6682
IEEE 1588 V2
ADCADC
RIO/FlexRIO
FPGAcoreDAQ
Hardware
Clock
Analog
inputs
Digital I/O1 sec
PTP-Slave clock
In PTP networkMaster clock ref
Para cada RIO/FlexRIO
ADC Ch 0Ch 1Ch N
Network
PTP
NIRIO-EDS
Universidad Politécnica de Madrid
Conclusions
• We have defined a design methodology for implementing intelligent data and image acquisition into RIO/FlexRIO devices, supported by the NIRIO-EDS.
• We have developed LabVIEW patterns and libraries, that permit configure RIO/FlexRIO devices in an easy way.
• The NIRIO-EDS will support every RIO/FlexRIO configuration (implementation), without rewriting the device support.
Universidad Politécnica de Madrid
Next Steps
• We will communicate soon to EPICS community the availability of
this EPICS device support, and all RIO/FlexRIO hardware
description templates and libraries (in LabVIEW for FPGA code).
• We are implementing direct data transfer communication among
FlexRIO devices and GPUs without CPU intervention. This
application will also include an EPICS device support to use the
GPU.
PCIe 1.1 x4 1GB/s
PCIe 2 X42GB/s
CPU(Controller)
NI PXIe 7962R + NI CameraLink adapter module
DMA direct to the GPU
GPU NVIDIA TESLA
EoSens_3CL_MC3010
Universidad Politécnica de Madrid
References
• [1] D. Sanz, M. Ruiz, R. Castro, J. Vega, J. M. Lopez, E. Barrera, N. Utzel and P. Makijarvi, "Implementation of Intelligent Data Acquisition Systems for Fusion Experiments Using EPICS and FlexRIO Technology," Nuclear Science, IEEE Transactions on, vol. 60, pp. 3446-3453, 2013.
• [2] D. Sanz, M. Ruiz, J. M. Lopez, R. Castro, J. Vega and E. Barrera, "IEEE 1588 clock distribution for FlexRIO devices in PXIe platforms," Fusion Eng. Des., vol. 89, pp. 652-657, 5, 2014.
• [3] E. Barrera, M. Ruiz, D. Sanz, J. Vega, R. Castro, E. Juárez and R. Salvador, "Test bed for real-time image acquisition and processing systems based on FlexRIO, CameraLink, and EPICS," Fusion Eng. Des., vol. 89, pp. 633-637, 5, 2014.
Thank you very much for your attention!!
questions?
D. Sanz1, M. Ruiz1, A. Bustos1, S. Esquembri1, E. Barrera1, E. Bernal1,R. Castro2, J. Vega2
Technical University of Madrid
METHODOLOGY FOR THE DEVELOPMENT OF
INTELLIGENT DATA AND IMAGE ACQUISITION SYSTEMS
USING EPICS AND FLEXRIO TECHNOLOGY