🧠 BTF Data Acquisition – Overview
project: https://github.com/infn-epics/epics-btf-daq
📘 Introduzione
L’acquisizione dati del sistema BTF (Beam Test Facility) è basata su moduli VME e un controller ETH2VME (CAEN V4718).
Il setup hardware coinvolge principalmente i seguenti dispositivi:
| Modulo | Tipo | Descrizione |
|---|---|---|
| CAEN V513 | PIO | Modulo di I/O digitale |
| SIS3800 | Scaler | Contatore/scaler per sincronizzazione e conteggio trigger |
| CAEN 965 | QDC | QDC a 16 canali |
| base address 0xee00 |
| CAEN 792 |
| TDC |
TDC a 16 canali, software analogo al 965 | ||
| SIS 3153 | Controller VME | Bridge Controller ETH2VME ip 192.168.189.92 |
📎 Documentazione di riferimento:
🔗 BTF – Documentazione tecnica
...
⚙️ Funzionamento dell’acquisizione
Il processo di acquisizione segue una logica sequenziale molto semplice:
...
Lettura iniziale dello scaler
Si legge il contatore SIS3800 (canale 30) per sincronizzare il ciclo di acquisizione.
Serve anche a misurare se durante il processo vengono persi eventi.
Acquisizione dei QDC/TDC
caen965_acquire_channels_poll(...)→ legge i 16 canali del QDC965.caen792_acquire_channels_poll(...)→ legge i 16 canali del QDC792.
Lettura finale dello scaler
Dopo l’acquisizione vengono riletti i canali 30 e 31 dello scaler.
La differenza tra i contatori prima e dopo indica il numero di trigger/eventi persi.
Calcolo e log
acquisizione
lost: eventi persi nel ciclo correntetot_lost: totale eventi persi
...
Stampa quindi un log dettagliato:
(loop, ciclo965, ciclo792, counter_before, counter_after, lost, tot_lost, tempo_acquisizione)
complessivamente
🔧 Esempio di codice funzionante:
👉 test_btf_daq2.cpp
...
🧩 Architettura hardware
I moduli sono dispositivi VME gestiti tramite il controller
...
ETH2VME SIS3153
Questo dispositivo permette di accedere al bus VME via Ethernet.
📗 Manuale tecnico:
🔗 UM8305 - V4718/VX4718 User Manual (CAEN)
...
🧠 Librerie e software
...
CAEN fornisce la libreria CAENVMELib, che consente di eseguire operazioni di lettura/scrittura VME via Ethernet.
Il tipico flusso di utilizzo è il seguente:
...
Inizializzare un oggetto controller (connessione con ETH2VME).
...
Accedere ai moduli VME specificando i relativi indirizzi.
Esiste un controllo EPICS per il SIS 3153 (USB):
https://github.com/epics-modules/SIS3153
qui le API che ho scritto per accedere SIS via ethernet:
https://baltig.infn.it/chaos-lnf-control/chaos-common-vme/-/tree/master/core?ref_type=heads
...
...
🔗 Integrazione con EPICS
EPICS dispone di moduli già pronti per la gestione dei CAEN965 e CAEN792, poiché condividono la stessa logica di accesso ai registri.
Esempio:
🔗 EPICS caenADCV965 – SLAC
Tuttavia, la maggior parte di questi moduli presuppone un controller VME locale (VMIC), con mapping diretto della
...
memoria
...
.
Un esempio di integrazione EPICS basato su CAENVMELib è disponibile qui:
🔗 EPICS softIoc con CAENVMELib – ESS Bilbao
...
🧭 Prossimi passi
...
Studiare il funzionamento della CAENVMELib con il controller V4718 (ETH2VME).
Implementare un driver EPICS che:
Inizializzi e gestisca i moduli CAEN965 e CAEN792.
Esegua la lettura dei canali e lo scarico dei dati via Ethernet.
Supporti la sincronizzazione con lo scaler SIS3800.
...
📎 Riferimenti
...
...