|
undefined
|
|
|
|
# Burst 5s
|
|
# Burst 5s
|
|
|
|
|
|
## Introduction
|
|
## Introduction
|
|
Pour avoir une idée des formes d'ondes présentes sur les différents MR de NenuFar, nous avons jugé intéressant d'extraire 5 secondes de données temporelles sur l'ensemble des MR.
|
|
|
|
POur réaliser cela nous allons utiliser les TBB. En effet chaque carte dispose 16Go de RAM, sur laquelle est écrite en temps réels les formes d'ondes des 8 canaux (4 * 2 polars). L'idée est donc de stopper l'écriture dans cette RAM sur l'ensemble des cartes exactement au même moment. (Très important !). Et ensuite venir les relire une à une tranquillement.
|
|
Pour avoir une idée des formes d'ondes présentes sur les différents MR de NenuFar, nous avons jugé intéressant d'extraire 5 secondes de données temporelles sur l'ensemble des MR.\
|
|
|
|
POur réaliser cela nous allons utiliser les TBB. En effet chaque carte dispose 16Go de RAM, sur laquelle est écrite en temps réels les formes d'ondes des 8 canaux (4 \* 2 polars). L'idée est donc de stopper l'écriture dans cette RAM sur l'ensemble des cartes exactement au même moment. (Très important !). Et ensuite venir les relire une à une tranquillement.
|
|
|
|
|
|
## Trig simultané sur l'ensemble des carte
|
|
## Trig simultané sur l'ensemble des carte
|
|
|
|
|
... | @@ -15,15 +15,6 @@ Actuellement il existait 2 mode pour stopper l'écrite des données dans la RAM. |
... | @@ -15,15 +15,6 @@ Actuellement il existait 2 mode pour stopper l'écrite des données dans la RAM. |
|
Pour résoudre ce problème Cedric a modifié le firmware de sorte à créer un nouveau mode.
|
|
Pour résoudre ce problème Cedric a modifié le firmware de sorte à créer un nouveau mode.
|
|
|
|
|
|
```vhdl
|
|
```vhdl
|
|
-- Resync PPS_TRIGGER input on ASI_RX_CLK
|
|
|
|
PPS_TRIGGER_r <= PPS_TRIGGER when rising_edge(ASI_RX_CLK);
|
|
|
|
PPS_TRIGGER_rr <= PPS_TRIGGER_r when rising_edge(ASI_RX_CLK);
|
|
|
|
-- Rising Edge on ADC_TRIGGER pin
|
|
|
|
PPS_TRIGGER_rise <= PPS_TRIGGER_r and not PPS_TRIGGER_rr when rising_edge(ASI_RX_CLK);
|
|
|
|
|
|
|
|
-- Trigger Source, validated by the Enable (no resync on TRIG_SRC_ENA)
|
|
|
|
ASI_TRIG_REQ(TRIG_SRC_ADC) <= ADC_TRIGGER_rise and TRIG_SRC_ENA(TRIG_SRC_ADC);
|
|
|
|
ASI_TRIG_REQ(TRIG_SRC_PPS) <= PPS_TRIGGER_rise and TRIG_SRC_ENA(TRIG_SRC_PPS);
|
|
|
|
```
|
|
```
|
|
|
|
|
|
- **Le mode "PPS"** : Ce mode resemble un peu au mode **"Soft"** à l'exception prêt qu'une fois l'écriture faite dans le registre, l'écriture dans la RAM ne se stoppera qu'au prochain PPS. Il ne reste plus qu'a écrire dans ce registre entre 2 secondes rondes et le trig sera fait de manière parfaite sur l'ensemble des cartes.
|
|
- **Le mode "PPS"** : Ce mode resemble un peu au mode **"Soft"** à l'exception prêt qu'une fois l'écriture faite dans le registre, l'écriture dans la RAM ne se stoppera qu'au prochain PPS. Il ne reste plus qu'a écrire dans ce registre entre 2 secondes rondes et le trig sera fait de manière parfaite sur l'ensemble des cartes.
|
... | @@ -36,31 +27,24 @@ Pour réaliser cela je me suis servi du programme de test [**/HPAPB/soft/lanewba |
... | @@ -36,31 +27,24 @@ Pour réaliser cela je me suis servi du programme de test [**/HPAPB/soft/lanewba |
|
|
|
|
|
Ce script se lance via la commande suivante :
|
|
Ce script se lance via la commande suivante :
|
|
|
|
|
|
|
|
```plaintext
|
|
```
|
|
```
|
|
./lanewba_multi boards_test_backend.cfg tbb_trig_pps.cfg
|
|
|
|
```
|
|
|
|
Ou si problème de librairie
|
|
Ou si problème de librairie
|
|
|
|
|
|
|
|
```plaintext
|
|
```
|
|
```
|
|
LD_LIBRARY_PATH=. ./lanewba_multi boards_test_backend.cfg tbb_trig_pps.cfg
|
|
|
|
```
|
|
|
|
Le programme prend 2 fichiers de configuration en paramètres
|
|
Le programme prend 2 fichiers de configuration en paramètres
|
|
|
|
|
|
=== "boards_test_backend.cfg"
|
|
=== "boards_test_backend.cfg"
|
|
|
|
|
|
```conf
|
|
```plaintext
|
|
# IP address register port data port
|
|
|
|
#192.168.3.155 2297 1297
|
|
|
|
192.168.5.41 1531 1287
|
|
|
|
192.168.5.43 1533 1289
|
|
|
|
```
|
|
```
|
|
|
|
|
|
=== "tbb_trig_pps.cfg"
|
|
=== "tbb_trig_pps.cfg"
|
|
|
|
|
|
```conf
|
|
```plaintext
|
|
# Call the Burst_TBB() function at specified time (h m s)
|
|
|
|
b 13 30 10
|
|
|
|
# Exit program
|
|
|
|
q
|
|
|
|
```
|
|
```
|
|
|
|
|
|
## Acquisation des données
|
|
## Acquisation des données
|
... | @@ -73,34 +57,24 @@ Et j'ai donc créé [**/HPAPB/soft/alse_tbb/tbb_multi.c**](https://svn.obs-nanc |
... | @@ -73,34 +57,24 @@ Et j'ai donc créé [**/HPAPB/soft/alse_tbb/tbb_multi.c**](https://svn.obs-nanc |
|
|
|
|
|
Il se lance de la même façon, mais avec un paramètre en plus, le nombre d'échantillon récupérés en hexadécimal (optionnel, totalité des 16.0 Go par défaut).
|
|
Il se lance de la même façon, mais avec un paramètre en plus, le nombre d'échantillon récupérés en hexadécimal (optionnel, totalité des 16.0 Go par défaut).
|
|
|
|
|
|
|
|
```plaintext
|
|
```
|
|
```
|
|
./tbb_multi boards_test_backend.cfg tbb_burst.cfg 0x800
|
|
|
|
```
|
|
|
|
Ou si problème de librairie
|
|
Ou si problème de librairie
|
|
```
|
|
|
|
LD_LIBRARY_PATH=. ./tbb_multi boards_test_backend.cfg tbb_burst.cfg 0x800
|
|
```plaintext
|
|
```
|
|
```
|
|
|
|
|
|
=== "boards_test_backend.cfg"
|
|
=== "boards_test_backend.cfg"
|
|
|
|
|
|
```conf
|
|
```plaintext
|
|
# IP address register port data port
|
|
|
|
#192.168.3.155 2297 1297
|
|
|
|
192.168.5.41 1531 1287
|
|
|
|
192.168.5.43 1533 1289
|
|
|
|
```
|
|
```
|
|
|
|
|
|
=== "tbb_burst.cfg"
|
|
=== "tbb_burst.cfg"
|
|
|
|
|
|
```conf
|
|
```plaintext
|
|
# Network configuration
|
|
|
|
n
|
|
|
|
# Ask IRQ
|
|
|
|
a
|
|
|
|
# Quit Register acces thread
|
|
|
|
q
|
|
|
|
```
|
|
```
|
|
|
|
|
|
Une fois lancé le programme va traiter les cartes une à une et générer des fichiers avec ce format **192.168.5.41_1639040705_dump.bin** de 16Go par carte.
|
|
Une fois lancé le programme va traiter les cartes une à une et générer des fichiers avec ce format **192.168.5.41_1639040705_dump.bin** de 16Go par carte.
|
|
|
|
|
|
-> [TEST report](../testsreports/burst_TBB.md) |
|
\-> [TEST report](../testsreports/burst_TBB.md) |
|
|
|
\ No newline at end of file |