The USB-based data acquisition is built around the VM-USB (VME) and CC-USB (CAMAC) crate controllers available from Wiener Electronics. These controllers contain at their core an FPGA on which the controller firmware is loaded. The controllers have two modes of operation:
The first mode is typically used when setting up the modules contained in the crate, such as gains, thresholds and so on, while the second mode is used for acquiring event-driven data. The two modes are mutually exclusive, and issuing an interactive command while in data acquisition mode will typically result in an error or lockup of the controller.
The USB DAQ is a Tcl-based software. It is capable of handling multiple crate controllers (CC-USB or VM-USB) connected to the same computer.
The data streams coming from the various crates are synchronized and combined into a single stream by the Event Builder designed by the NSCL DAQ group. Detailed information about the Event Builder can be found here.
The time-ordered data from the Event Builder is sent to the ring buffer s800built, which is then read by the S800 Event Filter. This program makes some integrity-checks of the data and assembles them into NSCL standard buffers, which are sent to the ringbuffer s800filter. Users need to connect to this ringbuffer to analyze the experiment data (using e.g. SpecTcl). The format of the data distributed by the S800 Filter is described here.