In large data acquisition systems, it’s more efficient to do some of the data process after acquisition due to the amount of data to process and the non-time-critical aspect of this processing. For example, the construction of an image from the data acquired by a PET scanner doesn’t have to happen in real time as the system receives the sensor data. If all the data collected by the sensors is properly stored, the reconstruction can take place afterwards using a different application. This approach is called post-processing (as opposed to real-time processing).
Nutaq provides two different ways to record data acquired by a Perseus-based data acquisition system:
- the Record/Playback module of the Nutaq software tools
- an example application that stores data received by a uTCA CPU blade through PCIe to a connected SATA storage device
Nutaq’s Record/Playback Module
Nutaq’s Perseus AMC comes with a DDR3 SODIMM of either 1 or 4 GB size. The Record/Playback module provides an interface between the DDR3 memory and the FPGA, and enables four different modes:
- Record: stores data originating from the user’s logic to the DDR3
- Playback: sends data read from the DDR3 memory to the user’s logic
- Host-to-Mem: stores data originating from a host and coming through RTDEx to the DDR3
- Mem-to-Host: sends data read from the DDR3 memory to a host through RTDEx
The maximum data throughput measured between the FPGA and the DDR3 is 5.7GBps. This kind of throughput allows for the storage of a lot of data per time unit. For example, 22 channels of data (125 MHz, 16 bits per sample) of a MI125-32 could be recorded in parallel using this interface. Of course, at this rate, a 4 GB DDR3 SODIMM will get completely filled after only 720 milliseconds. That being said, 720 milliseconds is more than enough time for many applications using multiple sensors to record for a short period after a precise event occurs.
The Record/Playback module has an input trigger that enables the precise recovery of data relatively to a specific event. The following diagram illustrates the functioning of the Record/Playback example available with Nutaq’s ADP Software tools. It uses all four modes to access the DDR3 memory and the PCIe RTDEx module to communicate with the host computer. A Gigabit Ethernet version of the example is also available.
The Record/Playback and RTDEx modules are also supported in the Model-Based Development Kit (MBDK) environment and can be used in a Xilinx® System Generator for DSP™ model when Nutaq software tools are installed. Shown in the following diagram are the four different IP blocks that correspond to the four modes of the Record/Playback module:
Recording a PCIe Data Stream on a SATA Storage Device
Nutaq’s solution for real-time recording of data on a storage device runs on the Fedora 17 distribution of Linux (32- and 64-bit) and is intended for storing data coming from Perseus boards through PCIe. The maximum throughput of this storage functionality is much lower than the throughput achieved by the Record/Playback module and depends on the CPU and AMC storage device of the system, but it allows for a much larger quantity of data to be recorded. For data acquisition systems with a large number of inputs, a pre-processing stage is typically added in the FPGA of the Perseus AMC to reduce the amount of information that needs storing, and to meet the throughput limits of the link between the PC and the storage device.
You can find the AMC storage solutions proposed by Nutaq here. Note that the achievable throughput depends on the whole system, not only the sustained data rate of the storage device.
Choosing the Recording Option Best Suited To Your Application
Data recording is an important part of any data acquisition system. Since not every system has the same data recording needs in terms of the amount of data and the throughput required, Nutaq offers two different options to record information.
- The Record/Playback module enables a relatively small amount of data to be recorded with a high throughput
- Recording data to a SATA storage device allows for a much higher quantity of data to be stored at the cost of reduced throughput.