|MOPHA156||The Linux Device Driver Framework for High-Throughput Lossless Data Streaming Applications||602|
Funding: This work was supported by the U.S. Department of Energy under contract DE-AC0500OR22725.
Many applications in experimental physics facilities require custom hardware solutions to control process parameters or to acquire data at high rates with high integrity. These hardware solutions typically require custom software implementations. The neutron scattering detectors at the Spallation Neutron Source at ORNL* implement custom protocols over optical fiber connected to a PCI express based read-out board. A dedicated kernel device driver provides an interface to the software application and must be able to sustain data bursts from a pulsed source while acquiring data for long periods of time. The same optical channel is also used as low-latency communication link to detector electronics for configuration and real time fault detection. This paper presents a Linux device driver design, implementation challenges in a low-latency high-throughput setup, real use case benchmarks and importance of clean application programming interface for seamless integration in control systems. This software implementation was developed as a generic framework and has been extended beyond neutron data acquisition. It is suitable to diverse applications where it allows for rapid FPGA development.
*Oak Ridge National Laboratory
|Poster MOPHA156 [4.163 MB]|
|DOI •||reference for this paper ※ https://doi.org/10.18429/JACoW-ICALEPCS2019-MOPHA156|
|About •||paper received ※ 02 October 2019 paper accepted ※ 10 October 2019 issue date ※ 30 August 2020|
|Export •||reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)|