Technews
  • Notre institut
  • Expertises
    • Pectin
    • Présentation
    • Expertises Calculs Mécanique
    • Expertises Détecteurs Cryogénique
    • Expertise Détecteurs Gazeux
    • Expertises Management
      de Projet et Qualité
    • Expertise Photodétection
    • Expertise Semiconducteurs
  • Réseaux
    • Présentation des réseaux experts
    • Le Réseau TEAMLAB
    • Réseaux Qualité et
      Management de Projet
      • Documentation de référence
    • Réseau instrumentation faisceau
    • RC2M
    • Réseau Informaticiens
    • Réseau PcbDesign
    • Réseau Détecteur Cryo
    • Réseau Détecteurs Gazeux
    • Réseau Photodétection
    • Réseau Semiconducteurs
  • Plateformes
  • Innovation
    • Articles
    • Valorisation
  • Formation
    • Diplome universitaire
    • Formation interne
  • Conférences
  • Intranet
    • Référentiel
    • Référentiel specialités
    • Liens Utiles
  • Connection
  • Contact
    • En cours (invisibles)
      • Réseau Microélectronique
      • Réseau Data Acquisition
      • Réseau R&D Mécanique
      • Réseau Contrôle et Commande
      • Réseau Radio
      • Biologie Expérimentale
Select Page

Auteur

Frédéric Mag­ni­ette

Article

PYRAME :
la DAQ dans tous ses états

PYRAME est une suite logi­cielle dédiée à l’in­for­ma­tique online, dévelop­pée au Lab­o­ra­toire Lep­rince-Ringuet (LLR, CNRS/École poly­tech­nique) . Elle per­met de con­fig­ur­er et de pilot­er les équipements élec­tron­iques qui instru­mentent les pro­to­types de détecteurs de particules.

Et aus­si d’ac­quérir leurs don­nées et de les traiter en temps réel. La stratégie de Pyra­me est de tou­jours favoris­er l’évo­lu­tiv­ité et la sou­p­lesse d’u­til­i­sa­tion, mais sans sac­ri­fi­er la péren­nité et la sta­bil­ité du sys­tème. La moti­va­tion pour un tel développe­ment provient d’un manque dans l’of­fre de tels frame­works ayant toutes ces car­ac­téris­tiques.

L’of­fre s’ar­tic­u­lait alors autour de deux pôles, l’un for­mé par les logi­ciels très sou­ples comme Lab­view avec l’in­con­vénient d’une faible péren­nité, due aux change­ments très fréquents de ver­sion et à la pro­gram­ma­tion graphique, l’autre, for­mé de logi­ciels très puis­sants, dédiés aux grands détecteurs comme ceux du Cern, per­for­mants et offrant de nom­breuses fonc­tion­nal­ités mais peu adapt­a­bles aux con­di­tions expéri­men­tales. PYRAME est une ten­ta­tive de syn­thèse de ces deux approches, gar­dant le meilleur des deux pôles.

Elle s’ap­puie sur une brique de base, nom­mé le mod­ule de com­mande. Celui-ci reçoit des com­man­des sur la base d’un pro­to­cole spé­ci­fique (basé sur XML et TCP) et les exé­cute dans une machine virtuelle. Cette étape de vir­tu­al­i­sa­tion per­met de con­fin­er l’exé­cu­tion, et de pro­pos­er de nom­breux lan­gages aux développeurs de nou­veaux mod­ules (Python, C, C++, Lua, R, Shell). Le mod­ule de com­mande est haute­ment opti­misé pour offrir une latence min­i­male à l’exé­cu­tion (de l’or­dre de 40 micro-sec­on­des en C jusqu’à 120 micro-sec­on­des pour le Shell). Il four­nit égale­ment un envi­ron­nement sécurisé de stock­age des paramètres pour les com­man­des, pou­vant être syn­chro­nisé en temps-réel avec le mod­ule de configuration.

Les mod­ules sont inter­con­nec­tés via Inter­net, ce qui leur per­met de pilot­er des sys­tèmes arbi­traire­ment com­plex­es, et éventuelle­ment dis­per­sés géo­graphique­ment. On peut les pilot­er glob­ale­ment à tra­vers des inter­faces graphiques ou des scripts pour les com­porte­ments les plus complexes.

Le cœur du frame­work est con­sti­tué d’un grand nom­bre de mod­ules per­me­t­tant de pilot­er des appareils stan­dards sur nos bancs de test :

- Ali­men­ta­tions haute et basse ten­sion (Agi­lent, CAEN, Hameg…),
- Généra­teurs de sig­naux (Agi­lent),
- Moteurs et platines de déplace­ment (New­port, Thor­labs),
- Sta­tions de test sous pointe (Sig­na­tone),
- Oscil­lo­scopes numériques (Lecroy),
- Gauss­mètres (Lakeshore),
- Mul­ti­mètres (Keith­ley),
- Pom­pes à vides,
- Son­des de tem­péra­ture et de pression.

Et bien sûr, les com­posants spé­ci­fiques de détec­tion de par­tic­ules (cir­cuits inté­grés) et en par­ti­c­uli­er ceux qui sont dévelop­pés par le lab­o­ra­toire Omega (Organ­i­sa­tion de micro-élec­tron­ique générale avancée, CNRS/École polytechnique).

Un sys­tème tel que Pyra­me est fréquem­ment util­isé au sein d’une expéri­ence con­join­te­ment avec d’autres logi­ciels de pilotage. C’est pourquoi PYRAME est facile à inter­fac­er avec de nom­breux lan­gages (C,C++,Python, R), et sys­tèmes (Tan­go, OPC-UA, XDAQ), ce qui facilite son inté­gra­tion. Son mod­ule de com­mande est égale­ment suff­isam­ment sim­ple pour pou­voir être embar­qué directe­ment dans de l’élec­tron­ique. On peut ain­si utilis­er toute carte à base de processeurs ARM (type Rasp­ber­ry-Pi) ou même des cartes plus légères comme les Arduinos, grâce à une librairie dédiée.

Afin de faciliter la con­fig­u­ra­tion lorsque les sys­tèmes sont com­plex­es, PYRAME four­nit un mod­ule spé­ci­fique de con­fig­u­ra­tion cen­tral­isée. Celui-ci per­met à par­tir d’un sim­ple fichi­er XML de dis­tribuer la con­fig­u­ra­tion à tous les mod­ules en fonc­tion de leurs besoins opéra­tionnels. Il est égale­ment syn­chro­nisé avec les mod­ules pour réper­cuter en temps réel les mod­i­fi­ca­tions de con­fig­u­ra­tion demandées par l’u­til­isa­teur. Lors de chaque prise de don­nées, un copie de ce fichi­er est effec­tuée, per­me­t­tant de con­naitre avec pré­ci­sion les con­di­tions expéri­men­tales correspondantes.

Une autre fonc­tion­nal­ité intéres­sante de PYRAME est sa chaîne d’ac­qui­si­tion, per­me­t­tant de récolter et de stock­er des don­nées avec un débit max­i­mum de 4Gb/s. Elle est basée sur un sys­tème de plu­g­ins, qui per­met d’ac­quérir des don­nées sur des sup­ports très divers (bus série ou par­al­lèle, réseaux, cap­teurs…). L’u­til­i­sa­tion de ces dif­férents sup­ports n’est pas exclu­sive, ren­dant ain­si la chaîne véri­ta­ble­ment mul­ti­mé­dia et multiformat.

Les don­nées col­lec­tées sont ensuite dis­tribuées par un bus logi­ciel, selon plusieurs modal­ités. Tout d’abord un stock­age sur disque et une dis­tri­b­u­tion par mémoires partagées pour per­me­t­tre un traite­ment local à haut débit, puis une dis­tri­b­u­tion par réseau pour effectuer des traite­ments dis­tants si nécessaire.

Un sys­tème de décodeurs en ligne per­met égale­ment de trans­former les don­nées brutes en don­nées struc­turées et de les met­tre à dis­po­si­tion de tout pro­gramme de traite­ment via un mécan­isme appelé dis­patch­er. Celui-ci per­met de dis­tribuer ces don­nées au rythme des pro­grammes de traite­ment, sans risque d’en­gorge­ment de la chaîne par un mécan­isme de sub-sam­pling. Les pro­grammes de traite­ment peu­vent égale­ment dis­tribuer leurs résul­tats via ce mécan­isme per­me­t­tant ain­si de for­mer de véri­ta­ble chaînes de traite­ment des don­nées (pipeline).

Le sys­tème PYRAME est util­isé sur de nom­breux bancs de test au LLR et dans ses lab­o­ra­toires parte­naires. En par­ti­c­uli­er, il est util­isé de manière exclu­sive pour tous les développe­ments du SiW-Ecal, le pro­to­type de calorimètre élec­tro­mag­né­tique dévelop­pé au LLR pour le futur col­li­sion­neur linéaire (ILC). Pour ce pro­to­type, une DAQ générique (chaîne d’ac­qui­si­tion for­mée de cartes élec­tron­iques) a été développée.

Pour ce pro­to­type, de nom­breux pro­grammes de mon­i­tor­ing (basés sur le mécan­isme de dis­patch­er) ont été conçus. Ils per­me­t­tent de sur­veiller la qual­ité des don­nées et de recon­stru­ire les traces de par­tic­ules en temps réel et même en faire un ajuste­ment (fit).

PYRAME a été déployé dans le cadre de  l’ex­péri­ence WAGASCI au Japon dont le but est de quan­ti­fi­er avec pré­ci­sion l’in­ter­ac­tion des neu­tri­nos avec plusieurs types de noy­aux atom­iques. Le sys­tème est instal­lé au J‑PARC à Tokaï au Japon. Il a été conçu en col­lab­o­ra­tion avec le LLR  sur la base de la DAQ générique et de Pyrame.

Le pre­mier test en fais­ceau sur l’ex­péri­ence WAGASCI a eu lieu en octo­bre 2017 et le sys­tème a fonc­tion­né par­faite­ment, illus­trant le suc­cès de notre stratégie basée sur l’évolutivité.

Trois images du détecteur WASCASI, de la DAQ pilotée par PYRAME et des résul­tats de mesures.

     

PYRAME est mis à dis­po­si­tion de la com­mu­nauté sous une licence libre (LGPL). Les sources sont disponibles ain­si qu’une doc­u­men­ta­tion tech­nique com­plète sur le site web dédié : Pyra­me

 

Con­tact : Frédéric Mag­ni­ette (LLR)

 

 

 

Directeur de la publication

Antoine Petit

Directeur de la rédaction

Christelle Roy

Responsable éditoriaux

Rémi Cornat

Webmaster

Rémi Cornat

Clause de non responsabilité

La responsabilité du CNRS ne peut, en aucune manière être engagée quant au contenu des informations figurant sur ce site ou aux conséquences pouvant résulter de leur utilisation ou interprétation.

Propriétés intellectuelles

Le site du CNRS est une œuvre de création, propriété exclusive du CNRS, protégée par la législation française et internationale sur le droit de la propriété intellectuelle. Aucune reproduction ou représentation ne peut être réalisée en contravention avec les droits du CNRS issus de la législation susvisée.

Liens hypertextes

La mise en place de liens hypertextes par des tiers vers des pages ou des documents diffusés sur le site du CNRS est autorisée sous réserve que les liens ne contreviennent pas aux intérêts du CNRS et qu’ils garantissent la possibilité pour l’utilisateur d’identifier l’origine et l’auteur du document.

Hébergeur

Centre de Calcul de l’IN2P3 Campus de la Doua, 12-14 Bd Niels Bohr, 69622 Villeurbanne Cedex

© CNRS/IN2P3