caenchain -- Aggregate adc modules into CBLT readout chains.


caenchain create name

caenchain config name option value...

caenchain cget name


The CAEN family of 32 channel digitizers (V775, V785, V792, V862) can be aggreaged into CBLT readout chains. A CBLT readout chain can then be read at high performance using a single block read operation.

A CBLT chain consists of a set of at least two modules in consecutive VME bus slots. From the point of view of defining the crate the left most and right most modules are special. (See OPTIONS below, the -module option).

CBLT chains require an additional base address that is used to read the modules. This address is also used as a multicast address to do a simultaneous clear of all modules in the chain as the readout is initialized (at the beginning of a run).


-base integer

Provides the base address to be used to program the CBLT address of the module. Only the top two hexadecimal digits of an 8 digit hexadecimal address should be non zero. e.g. 0x12000000 is ok, but 0x12340000 is not.

-modules module-names

Supplies the list of modules that should make up the chain. The firs module must be the left most in the chain, the last module the right most. Other than that order is unimportant, however note that CBLT readouts always will go from left to right in VME crate. I therefore suggest that you supply the modules in left to right order. The modules must be a valid TCL list, e.g.: -modules [list adc1 adc2 adc3] is ok, -modules adc1 adc2 adc3 is not.


The example below takes three ADC modules and aggregates them into a chain for readout.

Example 1. Using the caenchain command.

adc create adc1    0x04000000
adc config adc1    -geo 12 -supressrange off  -ipl 0 -vector 0

adc create adc2    0x05000000
adc config adc2    -geo 13 -supressrange off  -ipl 0 -vector 0

adc create adc3    0x06000000
adc config adc3    -geo 14 -supressrange off -ipl 0 -vector 0

caenchain create chain

caenchain config chain -base 0x10000000 -modules [list adc1 adc2 adc3]