Transcript DAQ - MICE

SciFi Tracker DAQ
M. Yoshida (Osaka Univ.)
MICE meeting at LBNL
10.Feb.2005
•DAQ system for KEK test beam
•Hardware
•Software
•Processes
•Architecture
•SciFi tracker data structure
KEK beam test
• Test for the SciFi tracker with 1T solenoid
magnetic field
• p/p/m test beam line in KEK-PS
• Slow extraction from the internal target in
2-sec flat top of a 4-sec spill
• Add 4th station to the prototype tracker
• Newly developed Cryostat with Cryocooler
– 2 VLPC cassettes embeded
DAQ for the KEK beam test
• Readout TOF counters and the other.
– CAMAC ADC/TDC
• Readout AFEII on VLPC cassette
– In KEK beam test, ~1k particles / spill
– MICE beam ~600 muons / 850 usec
– Existing system used for cosmic-ray test is
rather slow ~40 events / pulse
– Need memory module to store data in MICE
situation with fast LVDS data links
LVDS receiver boards
• AFEII puts serialized ADC data on LVDS data links
– Need to deserialize before storing into FIFO
• Solution:
– Custom-made VME board (Fermilab)
• 4 LVDS data links / board
• (MCM  serialize)  cable  (deserialize  FIFO)  VMEbus
• Backup:
– Existing FIFO board (KEK)
• 32-bit inputs / board
• (MCM  serialize)  cable  deserialize  cable  FIFO board
 VMEbus
• LVDS interface boards have been produced
DAQ
System
for
KEK
beam
test
Linux PC
AFE II (L)
PCI-VME (SBS Bit3)
Slow Control
SASeq #1
U
VME BUS
6
Trigger Control
SASeq #2
CAMAC-VME
LVDS-FIFO #1
LVDS-FIFO #4
4x8bit = 32 bit / board
AFE II (R)
8x64 ch
AFE II (L)
8x64 ch
1024 ch
VLPC Cassette #2
1024 ch
8x64 ch
VLPC Cryostat
4
LVDS-FIFO#3
VLPC Cassette #1
AFE II (R)
4
LVDS-FIFO #2
VLPC backplane
1553
8x64 ch
4
Serialized ADC DATA
4
CAMAC ADC/TDC
DAQ Software for KEK beam test
• Will use Unix-based DAQ programs
– “Unidaq” developed by KEK
• A lot of experience at the KEK beam tests
– Server – Client system
• An Event Builder
• Collectors for CAMAC readout (TOF etc.) and
VME readout (VLPC)
• Transport data via Network Shared Memory
• Processes can be distributed among PCs on the
network.
Processes
• Event Builder
– Merge data from collectors
– Send event data to data storage system
• Collector for TOF etc. (CAMAC)
– Control trigger system via input/output register module on CAMAC
– Read ADC and TDC
– Send data to event builder
• Collector for VLPC (VME)
– Collect data in LVDS receiver boards
– Send data to Event Builder
• Slow Control for VLPC (VME)
– Via 1553 interface board on VME to AFEII
– Not synchronized to DAQ cycle
– Set thresholds of discriminators on AFEII at the beginning of the data
taking run
– Temperature control
Data Rate
• A tracker has 5 stations  5x640=3200ch
• 4 VLPC cassettes = 32 MCMs = 4096 ch
• Assume:
– Beam structure : 1k muons / 1msec (in every
1sec?)
– Reading all channels
– 4kBytes / event
• 4MBytes / spill (8MBytes/spill for full
tracker upstream and downstream)
An idea of the DAQ architecture
4kBytes/event
Bit3
SASeq#1
SASeq#2
SASeq#3
SASeq#4
SERDES#1
SERDES#2
SERDES#3
SERDES#4
SERDES#5
SERDES#6
SERDES#7
SERDES#8
Bit3
SASeq#1
SASeq#2
SASeq#3
SASeq#4
SERDES#1
SERDES#2
SERDES#3
SERDES#4
SERDES#5
SERDES#6
SERDES#7
SERDES#8
Bit3
1553
1553
VLPC #1 L
VLPC #1 R
VLPC #2 L
VLPC #2 R
VLPC #3 L
VLPC #3 R
VLPC #4 L
VLPC #4 R
VLPC #1 L
VLPC #1 R
VLPC #2 L
VLPC #2 R
VLPC #3 L
VLPC #3 R
VLPC #4 L
VLPC #4 R
Downstream Tracker
4096ch
Upstream Tracker
4kBytes/event
Cryosat
Control
Tracker
Collector
Downstream
Tracker
Collector
Upstream
Tracker
Slow Ctrl
Beam
Builder
PID
Builder
Tracker
Builder
Tracker
Control
MICE
Storage
MICE
Builder
MICE
Control
8MBytes/spill
4MBytes/spill
To be determined
• How to talk between MICE
control system and Tracker
controller
– Protocol
• TCP/IP (Network Shared
Memory) or ?
DAQ sequence
•
– Generate processes and send
process ID back to controller
– Collectors Initialize electronics
– Items to be communicated
• Run mode (beam, calibration,
test)
• Commands for initialization,
setup, and start data taking
• How to send tracker data to
the MICE event builder
– Protocol
– Data structure
• Spill header (spill#, date, time,
detector ID, temperature data,
threshold setting, etc.)
• Event header (detector ID,
event#, time, data length,
etc.)
• Data (ADC, TDC, etc.)
Initialize
•
Setup
– Set run number
– Set run mode
– Set threshold, etc.
•
Start
– Start data taking
•
Stop
– Stop data taking
– Loop back to Setup
•
Abort
– Kill processes
Data structure
Data structure
Data structure (Zero suppressed)
•
•
•
•
•
Header Length
Spill# / Event#
Date/ Time
Detector ID
Number of MCMs
•
•
•
•
•
Header Length
Spill# / Event#
Date/ Time
Detector ID
Number of MCMs
•
•
•
•
•
Data Length
AFE number / MCM number
ADC1 / ADC2 / ADC3 / ADC4
…
ADC125 / ADC126 / ADC127 / ADC128
•
•
•
•
•
•
Data Length
AFE number / MCM number
Common mode
chan / ADC / chan / ADC
…
chan / ADC / chan / ADC
•
•
•
•
•
Data Length
AFE number / MCM number
ADC1 / ADC2 / ADC3 / ADC4
…
ADC125 / ADC126 / ADC127 / ADC128
•
Delimiter
•
•
•
•
•
•
Data Length
AFE number / MCM number
Common mode
chan / ADC / chan / ADC
…
chan / ADC / chan / ADC
•
Delimiter