NARVAL a modular distributed data acquisition system with ada 95 and RTAI

  • Authors:
  • Xavier Grave;Rogelio Canedo;Jean-Francois Clavelin;Sylvie Du;Eric Legay

  • Affiliations:
  • Institut de Physique Nucléaire d'Orsay, Université Paris XI, Orsay, France;Institut de Physique Nucléaire d'Orsay, Université Paris XI, Orsay, France;Institut de Physique Nucléaire d'Orsay, Université Paris XI, Orsay, France;Institut de Physique Nucléaire d'Orsay, Université Paris XI, Orsay, France;Centre de Spectrométrie Nucléaire et de Spectrométrie de Masse, Université Paris XI, Orsay, France

  • Venue:
  • RTC'05 Proceedings of the 14th IEEE-NPSS conference on Real time
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

NARVAL stands for "Nouvelle Acquisition temps-Réel Version 1.2 Avec Linux". It is developed in a object-oriented language with Ada 95. It is also an acquisition system partitioned with the help of Ada Annex E. All the Unix processes running the acquisition system are seen as a unique Ada 95 program with multiple tasks running on different computers. The dataflow handling is done with TCP/IP socket connections between tasks running on different computers and with UNIX fifo for tasks running on the same computer. All processes are based on a class that inherits from an abstract class named Actor. There are three main categories of actors: - producers, which typically collect data from hardware - intermediaries, which act as N×M software routers - consumers, which are mainly used to store or histogram data. All these actors are managed with a main task that concentrates configuration information and a state machine that gives the state of the system and the possibilities to change it. Narval currently supports real time access to VME, VXI and PCI busses using custom Linux drivers based on RTAI. ATCA is under consideration with Gigabit Ethernet support (Infiniband or PCIXpress support is also envisaged). Real-time Linux will be embeded on a Xilinx Virtex II pro on an ATCA board. NARVAL is used in different places and experiments. It is accepted for the European AGATA 4π Germanium (Ge) detector. About 7000 high resolution channels (14 bits@100 MHz ADC ⇒ 14 GB/s) will be processed (few stages of analysis) in order to store about 100 MB/s of rebuild data.