The integration of Linux-based single board computers (SBC) into data acquisition systems is often complex and requires large amounts of custom software resulting in non-reusable applications. Extending the concepts of the ‘object-oriented software bus’ to include single board computers results in a system where the SBC code is dynamically managed, loaded, compiled, and launched by a remote application (ORCA - Object-oriented Real-time Control and Acquisition) that makes it easy to support diverse sets of hardware (i.e. VME, compact-PCI, etc.). In ORCA, the SBC code is separated into two parts. One part is general and implements the low-level communication protocol, the socket connection, and data transfer via circular buffer. The other part is specific and contains small amounts of custom code for each type of hardware. At run-time the SBC code is dynamically assembled into a download package that is transferred to the SBC, compiled, and started. A data structure defining the hardware readout order is also downloaded. The use of SBCs with VME and CompactPCI hardware is discussed. It is shown how the combination of an SBC and ORCA results in a dynamically configurable data acquisition system.
[1]
F. McGirt,et al.
An object oriented software bus
,
1995
.
[2]
F. McGirt,et al.
Sudbury neutrino observatory neutral current detector acquisition software overview
,
2004,
IEEE Transactions on Nuclear Science.
[3]
C. -. Yu,et al.
The MAJORANA Project
,
2006,
0807.1741.
[4]
T. V. Bullard,et al.
Independent measurement of the total active 8B solar neutrino flux using an array of 3He proportional counters at the Sudbury Neutrino Observatory.
,
2008,
Physical review letters.
[5]
F. Fraenkle,et al.
KATRIN: an experiment to determine the neutrino mass
,
2010,
1110.0087.