User Tools

Site Tools


Data Acquisition System

DAQ Overview

Signals from the proportional tubes making up the Veto Shield are conditioned by preamp cards on the ends of the tubes. Conditioned pulses from 16 preamp cards (32 channels) are sent via a Low Voltage Differential Signaling (LVDS) ribbon to a Pulse Stretcher card in a crate in a corner rack. Each crate has a backplane mux that reads up to 8 stretcher cards, or 256 preamp channels. An IRIG time code is distributed to a Symmetricomm timing card in each DAQ computer which generates clock signals, synchronizing timing registers on the mux backplanes connected in its rack. Each time a tube triggers, a timestamped data packet is formed in the mux and transmitted via a multiconductor cable to a National Instruments PCI-6534 digital I/O card in the DAQ computer. Each computer monitors up to three mux crates. The data is written immediately to disk. The disk files from the four computers are later read and the data collected in a database for post-processing.


Current Version

VetoDAQv5x is the most recent version of the top-level Labview data acquisition application to be deployed.

New features:

  • Datafile headers expanded
  • Popup configuration vi that allows the data file path, bias voltage, channel bitmasks written to the file headers to be changed
  • Continuously displayed rate count per channel
  • Optional trigger rate high limit with automatic write inhibit.
  • Counter background color indicates limit status, blue for 0, red for hi limit
  • automatic detection/correction of data framing errors

Quick Start Instructions

Data Files

Front Panel Descriptions

Labview Diagrams & Descriptions

The workings of the DAQ vi's will be explained in general terms, but to get beyond that, one really has to open the source code in the development system and navigate through the diagrams. With the context sensitive help window open, one can identify terminals in subvi connector icons just by mousing over them, without necessarily opening them.

main VetoDAQ v5x diagram

subvi VetoDAQReadData diagram

Veto Bit Rates, Limit,+Write


Symmetricom Labview Drivers

The Labview driver vi's used in the apps above were sent to us by Jim Kline at Symmetricom on 4/3/2012. Symmetricom does not support any of these at this time, and were provided free of charge for us to use as best we can. They used in testing at Symmetricom, are better than the ones available for download on the website (in our opinion), and they utilize the Labview error cluster.

They were written in Labview 2008 and the file, when unzipped should create a directory of vi's with the same name. This should be copied into …\LAbview20xx\instr.lib, then mass compiled (Tools|Advanced|Mass Compile) for use under the current version. When Labview is restarted, vi's in the instr.lib and user.lib subdirectories of Labview 20xx will show up in the function palettes.

The following demo vi is useful for experimenting with the card when the IRIG time signal is not available. It will unzip to a Labview LLB compressed library file which contains all called subvis, so it can be run without installing the driver library above.

Sync Card to Labview Time



Timing Distribution

Pulse Stretchers

Stretcher Testing

The following is a schematic of the hardware configuration used to test individual stretchers.

The stretcher being tested is plugged into a slot on a MUX which is interfaced with a computer in the usual way using a NI PCI 6534 DAQ card. The computer runs a LabVIEW VI which reads in data from the 6534 card and controls the Keithley switch system using a GPIB interace. The program works by turning on some combination of switches that correspond to a triggereable combination of channels at the stretcher card. For any given switch configuration, the VI then reads N triggers out the back of the MUX through the PCI DAQ card. Then the VI activates a different triggerable combination of switches and reads N more triggers. A single test run involves activating all possible triggerable combinations for a single stretcher and reading N triggers for each combination. The “Test Passed” indicator in the VI illuminates if N triggers are always acquired only on the active channels for each switch combination.

The pulse generator is simply set to some frequency as the LabVIEW program will only read N pulses for each switch configuration. The pulse generator is NOT used in external trigger mode.

Note that although the stretchers are designed to accept a differential signal as output by the pre-amp cards, this set-up does not produce a true differential pulse. The 1st (colored) conductor on each channel passes a pulse that switches between above and below ground whereas the 2nd conductor is held at ground regardless of its switch position. The switching on this second conductor is unnecessary with the current set-up but has been implemented so the system can be easily retrofitted to accept true differential signals. The two switches used by each channel are independent on the switch system but are activated in concert by the LabVIEW program.

MUXs are also tested with the set-up by testing each individual slot with a known working stretcher.

Attached is the VI and its accompanying subVIs

After the LabVIEW program is opened, make sure the GPIB address field matches the setting on the Kiethley swtichbox. Click “Test Sequence” to test the different trigger combinations as defined in the “Sequence” field. The default “Sequence” tests all possible trigger combinations. For each trigger combination, N triggers are read which can be adjusted in the “Sample Size” field. The trigger rate is equal to the frequency set on the pulse generator. The other fields on the front panel are yet to be understood.

The probability that a test run will pass depends on the pulse frequency. Based on many test runs on different working stretchers and MUXs, it has been seen that the probability of a test run passing with the “Sample Size” set to 100 varies according to.

Freq (kHz) Success Rate (%)

0.2 100

1 90

2 78

10 29

In order for a stretcher or MUX slot to be considered ok, several test runs at different frequencies are typically done. Lists of individual stretcher and MUX test results are posted to the ELOG at where the exact testing criteria used is noted. Any time a stretcher or MUX is thoroughly tested, these lists should be updated and re posted for record. Stretchers and MUXs that are tested should be labeled SXXX or MXXX respectively.

Attached is the information needed to rewire the ribbon terminal configuration on the switchbox MUX cards.

Backplane Multiplexers

vetoshield/daq.txt · Last modified: 2013/05/20 15:44 by wgilbert