🧠 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:

ModuloTipoDescrizione
CAEN V513PIOModulo di I/O digitale
SIS3800ScalerContatore/scaler per sincronizzazione e conteggio trigger
CAEN 965QDCQDC a 16 canali base address 0xee00
CAEN 792TDC

TDC a 16 canali, software analogo al 965

SIS 3153Controller 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:

  1. 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.

  2. Acquisizione dei QDC/TDC

    • caen965_acquire_channels_poll(...) → legge i 16 canali del QDC965.

    • caen792_acquire_channels_poll(...) → legge i 16 canali del QDC792.

  3. 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.

  4. acquisizione

      • lost: eventi persi nel ciclo corrente

      • tot_lost: totale eventi persi 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

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

https://baltig.infn.it/chaos-lnf-control/chaos-common-vme/-/blob/master/core/vmewrap_sis3153_eth.cpp?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.


🧭 Prossimi passi

  1. 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


  • No labels