spec

Software for Diffraction

dsp2190

DSP Technology 2190 CAMAC MCS Averager

DESCRIPTION

The DSP Technology 2190 Multichannel Scaling Averager consists of a pair of CAMAC modules: the 2090S Multichannel Scaling module and the 4101 Averaging Memory module. These two modules must occupy consecutive slots in the CAMAC crate, with the 2090S in the lower-numbered slot. The averager is selected in the config file as

CA_DSP2190 = slot_number

where the slot number is that of the 2090S module.

FUNCTIONS

The mca_par() function controls the modules' behavior as follows:

mca_par("run")
programs the MCS for the number of bins and sweeps set with the functions described below, then enables any other counters and starts the averaging process. When the programmed number of sweeps is completed, the MCS will generate a CAMAC LAM, which will cause the other counters to be disabled. Use the wait() function to determine when the programmed number of sweeps are complete.
mca_par("halt")
halts the MCS and disables the other counters.
mca_par("bins")
returns the number of bins in each sweep. (Referred to in the module documentation as "record length").
mca_par("bins", value)
sets the number of bins in each sweep to value. The number of bins can range from 8 to 32,767.
mca_par("sweeps")
returns the number of sweeps to be summed.
mca_par("sweeps", value)
sets the number of sweeps to be summed in the next scan to value. The number of sweeps can range from 1 to 65,536.
mca_par("sweeps_comp")
returns the number of sweeps completed in the previous scan. An error message is printed if this function is called while a scan is in progress.
mca_par("first_ch")
returns the first channel to be read out using mca_get().
mca_par("first_ch", value)
sets the first channel to be read out using mca_get() to value.
mca_par("npts")
returns the number of channels to be read out using mca_get().
mca_par("npts", value)
sets the number of channels to be read out using mca_get() to value.

Note that the mca_get() function cannot be used while the MCS module is taking data.

Note that the 4101 doesn't actually average the sweeps, but only accumulates sums in each channel. To obtain an average, you must divide the data in each channel by the number of sweeps. The averaging scan will halt before the programmed number of sweeps is completed if any of the channels overflow.

The module expects an external trigger and the external trigger is required to begin each sweep.