Zynq UltraScale+ Datalogger
One of the main tasks of testing and measuring systems is to record as much measured values as possible. In such cases, the advantages of FPGA-based solutions – such as inherent parallelism, extremely high bandwidths, flexibility, support for a wide range of interfaces, and integrated CPUs – come into their own. If an FPGA module is also used a basis, the additional hardware design is usually reduced to the development of a simple base board with a low level of complexity and a small number of components. This approach lowers the project risks, development time and costs considerably.
All these points have convinced a customer to have Enclustra develop a data logger to upgrade an existing measuring system. In order to ensure that the development time is as short as possible, the FPGA experts started the development of the base board for the Xilinx Zynq UltraScale+ based Enclustra Mercury+ XU8 SOM at the same time as the development of the firmware and software. As the operating system on the four-processor system integrated in the FPGA, Linux is tasked with the reading and writing of the data on the SSD disks. Ext4 is used as a file system for the log data. Thanks to the Linux Board Support Packet (BSP) supplied free of charge for the Mercury+ XU8, the decision to use this technology was made in no time at all.
Two additional key technologies and procedures also helped to minimise the time and effort that went into development. Enclustra always uses IP Cores for the firmware wherever possible, as ultimately the wheel does not always have to be reinvented, but rather the problem has to be solved as efficiently as possible. The temporary storage of the measured data, i.e. before it is written to the SSD disks, was realised using virtual FIFOs with the Stream Buffer Controller IP Core. This IP Core can manage up to 16 independent data streams at the same time and supports memory sizes of up to 4 GByte, which is more than enough to meet almost all requirements.
The software in C#, which is based on ASP.NET Core, allowed the data logger to be integrated into an existing network infrastructure in record time. By using a Web API, the data logger was able to be controlled by an upstream system over a network. A local and streamlined Web GUI based on ASP.NET MVC with Razor Pages turned out to be very helpful for the bring-up process.
Within a very short time, a system with two SATA SSD disks with hot-plug housing was realized. The system can constantly record and access measured data at a speed of 800 MBytes/sec. The flexibility of the FPGA technology also allowed the system to be designed in a way that the SATA disks in the M.2 housing can be replaced by even faster NVMe disks at a later point in time.
Xilinx® Zynq® UltraScale™+ | VHDL | Mentor Graphics ModelSim® | C# | ASP.NET | Linux | SATA