Creating a Data Acquisition and Imaging System for Nuclear

advertisement
Creating a Data Acquisition and Imaging System for Nuclear Microscopy Based on NI FPGA
Technology
"NI FPGA technology has paved the way for an elegant, compact,
readily maintainable data acquisition and imaging solution."
- C.N.B. Udalagama, Centre for Ion Beam Applications, Department of Physics, National University of Singapore
The Challenge:
Producing an easily maintainable and upgradeable multiple dialog control software to scan a beam of MeV particles (H+, H2+,
He4+2, or O+) over a sample and to collect, correlate, analyze, and display the image and the resulting stochastic data with
minimal influence of software latencies on data collection.
The Solution:
Screenshot of the IonDAQ HOST
Using an NI field-programmable gate array (FPGA) for beam scanning, data acquisition, and correlation independent of the CPU;
creating a multiple dialog user interface based on C++ for control and data representation in the .NET environment using NI
Measurement Studio and IMAQ Vision; and communicating and transferring data between the FPGA and user interface through
dynamic link libraries (DLLs) and direct memory access (DMA).
Author(s):
C.N.B. Udalagama - Centre for Ion Beam Applications, Department of Physics, National University of Singapore
A.A. Bettiol - Centre for Ion Beam Applications, Department of Physics, National University of Singapore
F. Watt - Centre for Ion Beam Applications, Department of Physics, National University of Singapore
Data Acquisition and Nuclear Microscopy
At the Centre for Ion Beam Applications (CIBA) in the Department of Physics at the National University of Singapore (NUS), we use three MeV Singletron or 2.5 MeV Van de Graff accelerators for
our research programs. These accelerators provide continuous ion beams (protons, alphas, or oxygen) at MeV energies that can be focused using magnetic quadrupole lenses to a beam spot of
micro/nanometer dimensions. The particle beam is normally scanned (using magnetic or electric fields) over a target sample for material analysis or beam-induced modification. We carry out ion
beam analysis by collecting signals generated through the ion-atom interactions such as RBS, PIXE, ERDA, IL, IBIC, SE, and STIM.
Our data acquisition system realizes beam scanning by segmenting the target region into pixels and then stepping the beamspot from one pixel to another. The beam spot can dwell on any pixel
for a fixed interval of time, during which the ions interact with the sample producing the signals. The data generated through these ion-atom interactions ultimately needs to be in the detector
energy position form so we can use the data to generate energy spectra and images. The detector identifies from which detector the signal was generated and the energy refers to the actual
energy of the detected signal, such as the energy of a detected ion that has traversed the bulk of a sample, which is determined by processing the original signal by fast, dedicated electronics. The
position refers to the location coordinates (x/y) of the ion beam on the sample when the signal was generated.
The ion-induced signals are stochastic, which complicates the establishment of the energy–position correlation, and means that an event (an instance where a signal-induced response from a
detector is registered) is not guaranteed at each pixel. When an event does occur, the DAS must be fast enough to detect and correlate it to the present beam spot position before the beam spot
moves on or another event occurs.
We can solve this correlation problem using either software or hardware, although, a software solution is easier to implement and very feasible with the recent advances in CPU speed. A software
solution, however well established, is always prone to data loss in the event of a CPU latch-up due to operating system latencies. Therefore, an ideal data acquisition system should offer a
hardware solution to the correlation problem where dedicated hardware establishes the correlation, which has been the most common solution used in the past. Furthermore, an ideal system
should sufficiently decouple the data collection (event detection, pulse height analysis, beam scanning, and correlation) from the data analysis (data storage, displaying, and image forming).
In addition, the data acquisition system must be amendable for upgrades, modifications, or repairs with little time and effort. Any change to the system will consist of a minor modification to the
controlling core along with the replacement/addition of subunits.
Based on these specifications, we developed IonDAQ as our new PC-based data acquisition system that addresses and meets all of our previous data acquisition and analysis challenges.
IonDAQ
The core of IonDAQ consists of the Xilinx Virtex-II 3 million-gate FPGA on the NI PCI-7833Rboard. ThisFPGA constitutes the controlling core (CORE) that works together with rack-mounted
analog-to-digital converters (ADCs) from FAST ComTec and a high-level host program (HOST) that allows the user to interact with the CORE. We developed the CORE software using NI
LabVIEW as well as the HOST in-house using the .NET environment in C++. The HOST uses NI IMAQ Vision and Measurement Studio components to present data. The HOST instructs and
monitors the CORE via DLLs, which are produced using the LabVIEW Application Builder from our LabVIEW VIs that we programmed to communicate with the CORE.
The CORE Is a Compact Hardware Solution
Although the CORE is programmatically configured, it is operationally indistinguishable from a wired hardware solution where individual electronic components are collected to form a specialized
electronic circuit. The CORE contains all the necessary connections to operate IonDAQ that include the outputs (X-scan, Y-scan, and beam blanking) and inputs (fast pulse imaging, analog
imaging, pulse-height imaging, and charge). The scan and blanking outputs use the DACs of the card while communication with the rack-mounted ADCs occurs over the digital I/O (DIO) lines that
handle all aspects of handshaking and data transfer. The current solution is more suitable than a wired hardware solution because it is compact with all of the necessary features located in a
single PCI board, making it unnecessary to have additional individual electronics.
Decoupling of Data Collection from Data Representation
The CORE conducts the data collection while the HOST is only involved in data display and storage. Because the CORE requires no CPU overhead for operation, it solves the correlation problem
because the data that has already been correlated is siphoned out of the CORE directly into the HOST memory via DMA using the first-in-first-out (FIFO) memory buffer of the boards.
Maintainability
IonDAQ is easy to maintain or upgrade. We can easily implement changes to the CORE by changing the LabVIEW diagram, which can be compiled in less than an hour. Also, because we have
already incorporated most of the basic functionality, any upgrades will only require a minor alteration in the diagrams. For instance, if another brand or model of rack-mounted ADCs needs to be
1/3
www.ni.com
supported, we only have to make modifications to the digital handshaking and data transfer lines. The HOST is completely oblivious to this modification. Similarly, any changes to the data analysis
or data handling of the HOST are easily realized without affecting the data acquisition. Furthermore, because of the compatibility of LabVIEW, any future upgrades in the operating systems will at
most require a recompilation of the relevant code.
IonDAQ's CORE
Each of the loops of the CORE represents a process that can run independently. Data is transferred to and from the CORE through the three available FIFOs. One of the FIFOs ( FIFO-IN) is fed
with the scan pattern from the HOST. The FIFO–OUT1 is dedicated to transferring pulse height data from the ADCs. The data arbitrator is necessary to manage the data flow from the separate
ADC loops to avoid two or more loops from accessing the FIFO simultaneously. Because our FPGA CORE is compiled to run at 40 MHz (equivalent to 25 ns ticks), it can easily handle the pulse
height data input rates that IonDAQ (c.a. 100 KHz) is aimed at servicing. We use the third FIFO, FIFO–OUT2 for fast imaging using analog signals, digital pulses, and the ADC dead time.
IonDAQ supports several imaging methods we can concurrently use depending on the data acquisition requirements and the beam current used in the experiment. We can implement up to four
NIM rack-mounted ADCs to simultaneously acquire image signals and perform pulse height analysis from a variety of traditional ion beam analysis detectors. IonDAQ supports two additional
imaging methods that allow the user to image using either a TTL pulse input or an analog-voltage input. Two fast pulse imaging (FPI) inputs are provided on the IonDAQ interface box. These use
DIO lines on the card and allow the user to spatially map using detectors that have a TTL pulse output. This imaging mode is useful for pulsed signals that do not carry any energy information
such as signals from photomultiplier tubes and channel electron multipliers. We added two more inputs on the IonDAQ interface boxes that enable the user to perform analog imaging (AI), which is
useful for imaging detectors such as photomultiplier tubes configured in voltage output mode.
Easy Development of Multiple Dialog Control Software
NI FPGA technology has paved the way for an elegant, compact, readily maintainable data acquisition and imaging solution – IonDAQ – for nuclear microscopy with the ease of using LabVIEW for
programming the FPGA chip (CORE) that controls all aspects of data collection, including the important challenge of correlating the energy and position of a signal. Further, the ability to convert
LabVIEWVIs into DLLs has made it possible to develop a C++ multiple dialog HOST within the .NET environment that uses Measurement Studio and IMAQ Vision.
Author Information:
C.N.B. Udalagama
Centre for Ion Beam Applications, Department of Physics, National University of Singapore
2 Science Drive 3
117542
Singapore
Tel: 98369636
phycnbu@nus.edu.sg
Screenshot of the IonDAQ HOST
The images display an NI grid acquired with the IonDAQ system using a NIM ADC, fast pulse imaging, and analog imaging.
2/3
www.ni.com
Schematic Showing the IonDAQ System
Legal
This case study (this "case study") was developed by a National Instruments ("NI") customer. THIS CASE STUDY IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT
TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE ( http://ni.com/legal/termsofuse/unitedstates/us/).
3/3
www.ni.com
Download