Abstract

In a typical physical experimental system, the readout system generally implements an interface between the data acquisition (DAQ) system and the front-end electronics (FEE). The key task of a readout system is to read, pack and forward the data from the FEE to the back-end data concentration center in real-time. To achieve good real-time performance, VxWorks operating system (OS) is widely used in readout systems. However, VxWorks is not an open source OS which makes it has many disadvantages. In recent years, Linux OS benefits from the development of multi-core processor and new scheduling algorithm. It exhibits the similar performance in real-time applications compared to VxWorks. It has been successfully used even for some hard real-time systems. Discussions and evaluations of real-time Linux solutions for a possible replacement of VxWorks arose naturally. In this paper, a real-time transmission method based on Linux is introduced. To reduce the number of transfer cycle for a large amount of data, a large block of contiguous memory buffer for DMA transfer is allocated by modifying the Linux Kernel (version 2.6) source code slightly. To increase the throughput for network transmission, the user software is designed into formation of parallelism. To guarantee the real-time performance of data transfer from hardware to software, mapping technique is used to avoid unnecessary data copying. A simplified readout system is implemented with 4 readout modules in a PXI crate. This system can support up to 48Mbytes/sec data throughput from the front-end hardware to the back-end concentration center through a Gigabit Ethernet connection. There's no any restriction to use this method, hardware or software, which makes it can be migrated to other interrupt related applications easily.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call