CFD Test Definitions

1. DAC Linearity Tests (DAClinearity)

The linearity tests determine if the digital to analog converter circuitry is operating properly. Their goal is to oberserve a linearly increasing voltage reading from the CFD as DAC settings are increased. Each test takes 100 samples for each of the 4096 individual settings on every CFD. Both tests require that the RFB setting is set to 0. The data is stored in a Mysql Database in the form of histograms. The histograms are binned at 0.5mV. It is possible to test as many CFDs at a time as there are available test boards. This particular test does not use LabView. DAClinearity must be run from the command line with arguments. Run the program without arguments for more information. It runs both parts of the test.

A. DACA Linearity (Width) Tests Data is taken at each of the following DACA settings: ? [0,4095,+1]. During the width test DACB (threshold) is be set to the maximum value of 4095. This reduces the amount of triggering occuring on the CFD to a minimal which, in turn, decreases the noise level in the circuitry and provides the most accurate reading of DACA voltage.

B. DACB Linearity (Threshold) Tests Data is taken at each of the following DACB settings: ? [0,4095,+1]. During the threshold test DACA (width) is set to the maximum value of 4095 as well. This increases the time between pulses and thus decreases the total number of pulses. Again the noise level is decreased and accuracy will be improved.

2. Mode Test

The CFD has two mode settings: CFD and simple threshold. A simple test is performed to determine if both modes are working and the result of that test is stored as a boolean value on a table in mysql (cfd::CFDinfo).

3. Width Test (DACAwidth.vi)

The width test measures the actual width of the pulse produced by the CFD in the event of a trigger. A pulse generator is used to provide a calibrated trigger. The output is a pulse of 300mV at 10 kHz. DACB threshold setting is 1550 or approximately -150mV. The mode is set to CFD. The pulse width is determined by reading a trace from an oscilloscope. Since the scope must be used for this test it is only possible to test one CFD at a time. Data is taken at each of the following DACA settings: ? [0,4095,+256]. 100 samples are taken at each setting. The resulting histogram is stored in a Mysql Database table. It is binned in increments of 0.25ns ranging from 0 to 40ns.

4. Threshold Test (DACBthreshold.vi)

The rate test measures the triggering rate of the CFD in both CFD and threshold modes. Again the pulse generator injects a 300mV pulse at 100 MHz. Ideally it is desired to take a sample after a period of 10-100 micro seconds and compare the number of oscillations of a crystal to the number of triggers recorded by the scalar. Data is taken at each of the following DACB settings: ? [1300,1800,+1]. Four samples are averaged to produce a final result at each setting . Only non-zero results (for either mode) are saved.

5. Noise Calibration Test (NoiseCalibrationTest.vi)

This test measures the effect of noise on the distribution of rate. Like the previous test the rate is measured for a range of DACB settings: ? [1350,1450,+1]. This test measures the rate at these values at three different NSB settings. They are 0.0, 0.3 and 0.6 pe/ns. After taking 2 samples at each of the DACB settings the values are averaged and saved in a Mysql database table. Both width and RFB are held at their minimal values for the duration of this test. Only settings where at least one noise level produces a non-zero result are recorded.

6. Rate Feedback Test (RFBtest.vi)

This test measures the effect of background noise on the DC offset caused by the RFB circuit. Due to the slow nature of the RFB circuit it is necessary to wait a period of 1 to 2 seconds after the potentiometer level is incremented. It is also necessary to wait after the NSB noise level is changed. This test takes 100 samples at each of the following RFB settings: ? [0,127,+16]. There are 3 noise levels: 0.0, 0.3 and 0.6 pe/ns. The RFB circuit has a range of 5 volts from -5V to 0V. The data obtained from these tests are be histogrammed. There are 10,000 bins of 0.5mV each. It is expected that higher noise levels will yield larger in magnitude DC offsets. The histograms are stored in a Mysql database table.

7. Timing Test (Timing.vi)

This test is used to gather information pertaining to the effect of noise on the output of the CFD versus RFB settings. By examining the arrival time of pulses based on a control time it is possible to extrapolate vales for the jitter, efficiency and mean. The test involves reading traces off of the oscilloscopes for different values of RFB and Noise levels. The noise levels are 0.0 pe/ns, 0.3 pe/ns and 0.6 pe/ns. RFB is adjusted to the following settings: ? [0,127,+16]. 100 traces are examined for every possible setting. The data is saved in the form of a histogram binned at 0.25ns in the range [-5ns,5ns] from the control time. Any results that do not fall within this range are counted as missed pulses. The data itself is stored in a MySQL database table.

8. RFB linearity Test (RFBlinearity.vi)

This test will make sure that the RFB circuitry is operating normally. A 300 mV pulse is injected at 1 Mhz. It is important that high frequency noise is removed from the pulse so as to avoid ringing. Otherwise the test data will be corrupted. The circuit is saturated so as to provide maximal DC offsets. RFB is adjusted to the following settings: ? [0,127,+1]. 100 samples of the DC offset values are taken at each setting they are histogrammed and stored in a MySQL database table.