You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

🧠 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
CAEN 792TDCTDC a 16 canali, software analogo al 965

📎 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 CAEN V4718 (ETH2VME).
Questo dispositivo permette di accedere al bus VME via Ethernet.

📗 Manuale tecnico:
🔗 UM8305 - V4718/VX4718 User Manual (CAEN)


🧠 Librerie e software CAEN

CAEN fornisce la libreria CAENVMELib, che consente di eseguire operazioni di lettura/scrittura VME via Ethernet.
Il tipico flusso di utilizzo è il seguente:

  1. Inizializzare un oggetto controller (connessione con ETH2VME).

  2. Accedere ai moduli VME specificando i relativi indirizzi.

  3. Utilizzare le funzioni della libreria (CAENVME_ReadCycle, CAENVME_WriteCycle, ecc.) per interagire con i moduli.


🔗 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.
Nel caso del V4718 (ETH2VME), invece, la comunicazione avviene via rete, quindi occorre verificare se la CAENVMELib consente di emulare il mapping di memoria tramite driver Linux. Altrimenti l'uso dei moduli EPICS QDC,TDC che si  trovano diventa meno immediata in quanto vanno utilizzate funzioni per l'accesso.

Un esempio di integrazione EPICS basato su CAENVMELib è disponibile qui:
🔗 EPICS softIoc con CAENVMELib – ESS Bilbao


🧭 Prossimi passi

  1. Studiare il funzionamento della CAENVMELib con il controller V4718 (ETH2VME).

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