Dans l'instrumentation nucléaire, les architectures de traitement numérique du signal doivent faire face à la nature poissonienne du signal, composée d'impulsions d'arrivées aléatoires qui imposent aux architectures actuelles de travailler en flux de données. En effet, si le débit d'impulsion est trop élevé, les besoins en temps réel impliquent de paralyser l'acquisition du signal durant le traitement d'une impulsion. Durant ce délai, appelé temps mort, des impulsions peuvent être perdues. Cette contrainte conduit les architectures actuelles à utiliser des solutions dédiées à base de FPGA. Les utilisateurs finaux doivent cependant pouvoir mettre en oeuvre un large éventail d'applications sur un nombre de canaux d'acquisition qui varie. Ce besoin en flexibilité conduit à proposer une architecture programmable (C, C ++). Cette thèse présente une architecture numérique « dirigée par les impulsions » qui répond à ces contraintes. En premier lieu, cette architecture se compose d'extracteurs d'impulsions capables d'extraire de façon dynamique les impulsions en fonction de leur taille pour n'importe quel type de détecteur délivrant des impulsions. Ces impulsions sont ensuite distribuées sur des unités fonctionnelles programmables (FU) indépendante. Ces FUs gèrent l'arrivée d'événements aléatoires et des durées d'exécution de programme non-déterministes. Le simulateur de l'architecture est développé en SystemC au cycle d'horloge près. Il montre des résultats prometteurs en termes de passage à l'échelle, tout en maintenant le zéro-temps mort. Cette architecture permet d'embarquer de nouveaux algorithmes de traitement des impulsions traditionnellement utilisés hors ligne. / In the field of nuclear instrumentation, digital signal processing architectures have to deal with the poissonian characteristic of the signal, composed of random arrival pulses which requires current architectures to work in dataflow. Thus, the real-time needs implies losing pulses when the pulse rate is too high. Current architectures paralyze the acquisition of the signal during the pulse processing inducing a time during no signal can be processed, this is called the dead time. These issue have led current architectures to use dedicated solutions based on reconfigurable components such as FPGAs. The requirement of end users to implement a wide range of applications on a large number of channels leads to propose an easily programmable architecture platform (C, C++). This thesis present presents a digital “pulse-driven” architecture that meets these constraints. This architecture is first composed of pulse extractors. They are capable of dynamically extracting the pulses according to their size for any type of detector that delivering pulses. These pulses are then distributed on a set of programmable and independent Functional Units (FU) which are "pulses driven". These FUs are able to handle the arrival of non-deterministic events and variable program execution times and indeterminate in advance. The virtual prototype of the architecture is developed in cycle accurate SystemC and shows promising results in terms of scalability while maintaining zero dead time. This architecture paves the way for novel real time pulse processing by reducing the gap between embedded real time processing and offline processing.
Identifer | oai:union.ndltd.org:theses.fr/2015DIJOS075 |
Date | 16 December 2015 |
Creators | Moline, Yoann |
Contributors | Dijon, Paindavoine, Michel, Thevenin, Mathieu |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0017 seconds