1 / 38
Acquisition capteur CMOS (Mimosa 26) en μTCA pour QAPIVI
Loup Balleyguier
DAQ QAPIVI 14/11/13
2 / 38
Plan1. Besoins2. Architecture du système d’acquisition3. Connectique4. Interface homme machine5. Format des données6. Tests et validation
7. Vers le 10 Gb/s8. Evolutions possibles
DAQ QAPIVI 14/11/13
3 / 38
Besoins11
DAQ QAPIVI
4 / 38Acquisition de M26
Lire les données envoyés par 8 capteurs M26 (trajectométrie)
1
DAQ QAPIVI
5 / 38DAQ actuelle
La chaîne d’acquision de Strasbourg• Source non disponible, évolution délicate
• Ne peut fonctionner qu’avec 8 capteurs
• A base d’un PXI, intégration difficile avec le futur des autres projets autours de l’hadronthérapie (gamhadron, ENVision, etc.)
1
DAQ QAPIVI
6 / 38Nouvelle DAQ
Objectifs
• Plus de flexibilité
• A base de μTCA (nombreux protocoles séries rapide supportés, orienté réseaux)
• Ouvert aux modifications (au moins pour nous)
1
DAQ QAPIVI
7 / 38
Architecture du système d’acquisition
22
DAQ QAPIVI
8 / 38Synoptique global2
DAQ QAPIVI
Gigabits Ethernet
Rack µTCA
MCH
FMC
S4-AMC
Fon
d de
pan
ier
Câble VHDCI68
Carte interface
Télescope EUDET
Signaux de Contrôle
Signaux de données
Signaux JTAG
Signaux NIM externe
FPGA
9 / 38Système d’acquisition
Carte d’interface
• Simplifier le câblage avec le télescope
• Regrouper certains signaux
• Amener des signaux extérieurs (trigger)
2
DAQ QAPIVI
10 / 38Système d’acquisition
• Carte AMC du commerce avec un FPGA
• Envoi des signaux de contrôle
• Lectures des données, mise en forme et envoi au PC
2
DAQ QAPIVI
Carte d’acquisition
11 / 38Système d’acquisition
Le PC d’acquisition• Interface avec la carte AMC (via MCH)
• Récupère les données (par lien gigabit)
• Écrit sur disque les données (rapide !)
2
DAQ QAPIVI
12 / 38
Connectique33
DAQ QAPIVI
13 / 38Connectique du télescope
• 11 signaux par capteur => beaucoup de fils
• On garde la connectique tel quel pour être compatible avec la daq de Strasbourg
3
Signaux LVDS dans câbles RJ45
DAQ QAPIVI
(if it works, don’t break it)
14 / 38Connectique interface-acquisition3
DAQ QAPIVI
Un seul câble VHDCI concentre tous les signaux
Contrôle
JTAG
Alimentation
Trigger
Données
Tout en 1
15 / 38Connectique μTCA-PC3
DAQ QAPIVI
Câble Ethernet classique (devrait changer)
16 / 38
Interface homme machine44
DAQ QAPIVI
17 / 38Interface en console4
DAQ QAPIVI
Un menu en mode texte• Configurer les capteurs depuis un fichier donné
• Tester si le câblage est correct
• Lancer une acquisition d’un nombre de frames (ou d’évènement) donné
• Faire un reset
18 / 38Fichiers de configuration
• Création des fichiers de configurations avec la gui
• Écrire un fichier principal qui associe à chaque capteurs un fichier
• On peut avoir moins de 8 capteurs
4
Réutilisation du logiciel de Strasbourg
DAQ QAPIVI
19 / 38Fichier principal de configuration4
Indique la position des capteurs dans la chaîne JTAG et leur fichier de configuration associé
DAQ QAPIVI
QAPIVI Telescope JTAG Filechain: 1 2 4 5 6 7 81:D:\ACQUISITION\conf\dev1.txt2:D:\ACQUISITION\conf\dev2.txt4:D:\ACQUISITION\conf\dev4.txt5:D:\ACQUISITION\conf\dev5.txt6:D:\ACQUISITION\conf\dev6.txt7:D:\ACQUISITION\conf\dev7.txt8:D:\ACQUISITION\conf\dev8.txt
Dans cet exemple, le capteur 3 est absent de la chaîne et l’acquisition peut tout de même avoir lieu
20 / 38Log supplémentaire
• Utile principalement pour du debug
• Envoyé par udp, sur le port 6200
• Un script python permet de visualiser ces messages
4
20DAQ QAPIVI
Le firmware du FPGA envoi quelques informations
21 / 38
Format des données55
DAQ QAPIVI
22 / 38Frame bundle
• Les données bruts des états des 8 capteurs sont concaténés dans un frame bundle
• Chaque frame bundle possède une entête avec diverses informations
5
Le télescope envoi 8 frames synchronisées
DAQ QAPIVI
0x11DD (max)
En-tête0x0
0xC
Pixel states Data
Espace d’adresse par mot de 32 bits
23 / 38Frame bundle (suite)
• Un mot sentinelle (0xBAADF00D)
• La taille total du frame bundle
• Le numéro de frame
• Table des offsets pour chacune des sous-frames
• Information de trigger
• Synchronisation
5
L’entête est constitué de
DAQ QAPIVI
0x0
0xC
Espace d’adresse par mot de 32 bits
0xBAADF00DTotal size
Frame countOffset sensor 1Offset sensor 2Offset sensor 3Offset sensor 4Offset sensor 5Offset sensor 6Offset sensor 7Offset sensor 8
Trig infoStatus
24 / 38Information de trigger5
Les inpulsions de trigger (ext1) sont enregistrées dans un mot de 32 bits
DAQ QAPIVI
31 0
keepRow address
110
Reserved Trig countov
11141530
• Numéro de la ligne au premier trigger de la frame
• Compteurs 4 bits du nombre de trigger
• Overflow du compteur
• Bit de decision pour garder la frame en mode triggé (non implémenté)
25 / 38Synchronisation5
S’assurer de la synchronisation de la lecture
DAQ QAPIVI
Vérification des headers trailers sur chaque lignes de données de chaque capteur
31 8 0123
h0h1t0t1
Sensor 1
h0h1t0t1
Sensor 2
h0h1t0t1
Sensor 3
h0h1t0t1
Sensor 8
………
456730 29 28 11 10 9
26 / 38Fichier de données
• Les frames bundles sont concaténés dans un fichier binaire
• Si ce fichier est trop gros, un nouveau est crée
• Un ficher d’index en mode texte stocke les offsets de frame bundles block (paquets de frame bundles)
5
Sur le PC
DAQ QAPIVI
27 / 38Analyse des données
• Un ensemble de fonctions et structures en langage C
• Service minimal, lire les données d’un run et les mapper sur des structures appropriés en mémoire
• Tolérance au fautes, la lecture essaye de reprendre correctement en cas de fichier mal formé
5
Bibliothèque de lecture des fichiers de données
DAQ QAPIVI
28 / 38
Tests et validation66
DAQ QAPIVI
29 / 38Configuration
• Les capteurs sont chargé avec des headers et trailers connus
• La visualisation des trame à l’oscilloscope, confirme que l’on a bien les headers attendus
6
Validation de la configuration
DAQ QAPIVI
30 / 38Acquisition
• Les capteurs peuvent être placé dans un mode de test, ils envoient alors des trames connus (et paramétrable)
• Coté PC, les frames reçues sont comparés au frame attendus
6
Validation l’acquisition
DAQ QAPIVI
31 / 38Écriture sur le disque
• Tests de grosse acquisition (plusieurs millions de frames)
• Vérification a posteriori que le volume des données écrites correspond bien au nombre attendu
• Analyse des données pour s’assurer qu’elles sont cohérentes
6
Validation de gros volume d’écriture
DAQ QAPIVI
32 / 38Analyse des données5
Exemple d’une frame de test
DAQ QAPIVI
Daq StrasbourgDaq Lyon
33 / 38
Vers le 10GbE77
DAQ QAPIVI
34 / 38Ne pas perdre de frames
• Avec le débit actuel on perd donc 20% des frames dans le pire des cas
• Solution : utiliser un protocole plus rapide
7
Le débit maximal du télescope excède le gigabit/s ( 1.3 Gb/s)≃
DAQ QAPIVI
35 / 38Vers le 10GbE
• Le programme d’acquisition n’a pas besoin d’être modifié
• Utiliser un MCH disposant d’un switch 10Gb (c’est déjà le cas)
• Utiliser une carte 10Gb coté PC (en attente de la carte)
• Adapter le firmware pour travailler avec une IP 10Gb
7
Que faut-il faire concrètement
DAQ QAPIVI
36 / 38
Évolutions possibles88
DAQ QAPIVI
37 / 38Évolutions
• Intégrer la carte d’interface sur le télescope directement (plus de câblage !)
• Multiplier par 2 les entrées/sortie en face avant le carte AMC (connecteur double VHDCI) afin de faire l’acquisition de 2 télescopes
8
Évolutions possible pour le futur
DAQ QAPIVI
38 / 38
Merci de votre attention
Passons maintenant aux questions
DAQ QAPIVI
Top Related