The KM3NeT Collaboration is building and operating two deep sea neutrino telescopes at the bottom of the Mediterranean Sea. The telescopes consist of latices of photomultiplier tubes housed in pressure-resistant glass spheres, called digital optical modules and arranged in vertical detection units. The two main scientific goals are the determination of the neutrino mass ordering and the discovery and observation of high-energy neutrino sources in the Universe. Neutrinos are detected via the Cherenkov light, which is induced by charged particles originated in neutrino interactions. The photomultiplier tubes convert the Cherenkov light into electrical signals that are acquired and timestamped by the acquisition electronics. Each optical module houses the acquisition electronics for collecting and timestamping the photomultiplier signals with one nanosecond accuracy. Once finished, the two telescopes will have installed more than six thousand optical acquisition nodes, completing one of the more complex networks in the world in terms of operation and synchronization. The embedded software running in the acquisition nodes has been designed to provide a framework that will operate with different hardware versions and functionalities. The hardware will not be accessible once in operation, which complicates the embedded software architecture. The embedded software provides a set of tools to facilitate remote manageability of the deployed hardware, including safe reconfiguration of the firmware. This paper presents the architecture and the techniques, methods and implementation of the embedded software running in the acquisition nodes of the KM3NeT neutrino telescopes. Program summaryProgram title: Embedded software for the KM3NeT CLBCPC Library link to program files:https://doi.org/10.17632/s847hpsns4.1Licensing provisions: GNU General Public License 3Programming language: CNature of problem: The challenge for the embedded software in the KM3NeT neutrino telescope lies in orchestrating the Digital Optical Modules (DOMs) to achieve the synchronized data acquisition of the incoming optical signals. The DOMs are the crucial component responsible for capturing neutrino interactions deep underwater. The embedded software must configure and precisely time the operation of each DOM. Any deviation or timing mismatch could compromise data integrity, undermining the scientific value of the experiment. Therefore, the embedded software plays a critical role in coordinating, synchronizing, and operating these modules, ensuring they work in unison to capture and process neutrino signals accurately, ultimately advancing our understanding of fundamental particles in the Universe.Solution method: The embedded software on the DOMs provides a solution based on a C-based bare-metal application, operating without a real-time embedded OS. It is loaded into the RAM during FPGA configuration, consuming less than 256 kB of RAM. The software architecture comprises two layers: system software and application. The former offers OS-like features, including a multitasking scheduler, firmware updates, peripheral drivers, a UDP-based network stack, and error handling utilities. The application layer contains a state machine ensuring consistent program states. It is navigated via slow control events, including external inputs and autonomous responses. Subsystems within the application code control specific acquisition electronics components via the associated driver abstractions.Additional comments including restrictions and unusual features: Due to the operation conditions of the neutrino telescope, where access is restricted, the embedded software implements a fail-safe procedure to reconfigure the firmware where the embedded software runs.
Read full abstract