User Tools

Site Tools


usb_data_acquisition_setup_guide

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
usb_data_acquisition_setup_guide [2013/12/11 19:38]
pereira created
usb_data_acquisition_setup_guide [2016/03/16 15:49]
pereira
Line 7: Line 7:
 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 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 using a simple API library to handle the low-level handling of the data. It is capable of handling multiple crate controllers (CC-USB or VM-USB) connected to the same computer. Each controller is polled by an independent thread which then sends the data through a predefined TCP/IP port. +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 machine-level calls to the USB interface are handled by a library called "libusb" which is widely available on many platforms (Linux, OS X, Windows). The installation of this library is mandatory in order to use this data acquisition system. Wiener Electronics provides a C library called "libxxusb" built on top of libusb with subroutines tailored to the VM-USB and CC-USB. The USB DAQ in turn uses this library in Tcl API written to interface the C subroutines of libxxusb to the Tcl worldThe library implementing this API is called "libTclXXUSB"It also contains custom subroutines used in sending data through TCP/IP ports.+The data streams coming from the various crates are synchronized and combined into single stream by the Event Builder designed by the NSCL DAQ groupDetailed information about the Event Builder can be found [[http://docs.nscl.msu.edu/daq/newsite/nscldaq-11.0/c4456.html|here]]
  
-The data streams coming from the various crates are synchronized and combined into a single stream by the event builder program (written in C). This program connects to the TCP/IP ports of the USB DAQ as a client. It also checks the sanity of the buffers before assembling them into NSCL standard buffers+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 [[Event Filter|here]].
- +
-The software is distributed into the following folder structure: +
-  TclXXUSB: contains the USB DAQ main program (RunControl.tclas well as class definitions for different types of modules +
-  * libTclXXUSB: contains the Wiener Electronics library libxxusb as well as the Tcl API implemented in libTclXXUSB +
-  * eventbuild: contains the event builder program and its debug files +
-  * Scripts: contains the Tcl scripts for the various crates and sequences +
-  * Configs: contains the configuration files of the various modules used in the setup+
  
  
 +The location of the different script files and filter program will be published in the near future.
  
  
usb_data_acquisition_setup_guide.txt · Last modified: 2019/06/22 04:42 by pereira