
CAEN
Electronic Instrumentation
UM3148
–
DT5730/DT5725 User Manual rev. 2
42
Data Transfer Capabilities
DT5730 and DT5725 feature a Multi-Event digital memory per channel, configurable by the user to be divided into 1 up
to 1024 buffers, as detailed in §
Multi-Event Memory Organization
. Once they are written in the memory, the events
become available for readout via USB or Optical Link. During the memory readout, the board can store other events
(independently from the readout) on the available free buffers. The acquisition process is so
“
dead timeless
”
until the
memory becomes full (see §
Acquisition Synchronization
).
The events are readout sequentially and completely, starting from the Header of the first available event, followed by
the samples of the enabled channels (from 0 to 7) as reported in
Tab. 9.3
. Once an event is completed, the relevant
memory buffer becomes free and ready to be written again (old data are lost). After the last word in an event, the first
word (Header) of the subsequent event is readout. It is not possible to readout an event partially.
The size of the event (EVENT SIZE) is configurable and depends on register addresses 0x8020 and 0x800C, as well as on
the number of enabled channels.
Block Transfers
The Block Transfer readout mode allows to read N complete events sequentially, where N is set at register address
0xEF1C, or by using the
SetMaxNumEventsBLT
function of the CAENDigitizer library (consult
[RD5]
at p. 19).
When developing programs, the readout process can be implemented on different basis :
•
Using
Interrupts
: as soon as the programmed number of events is available for readout, the board sends an
interrupt to the PC over the optical communication link
(not supported by USB)
.
•
Using
Polling
(interrupts disabled): by performing periodic read accesses to a specific register of the board it is
possible to know the number of events present in the board and perform a BLT read of the specific size to read
them out.
•
Using
Continuous Read
(interrupts disabled): continuous data read of the maximum allowed size (e.g. total
memory size) is performed by the software without polling the board. The actual size of the block read is
determined by the board that terminates the BLT access at the end of the data, according to the configuration
of register address 0xEF1C, or the library function
SetMaxNumEventsBLT
mentioned above. If the board is
empty, the BLT access is immediately terminated and the “Read Block” function will return 0 bytes
(it is the
ReadData
function in the CAENDigitizer Library, refer to
[RD5]
).
Whatever the method from above, it is suggested to ask the board for the maximum of the events per block being set.
Furthermore, the greater this maximum, the greater the readout efficiency, despite of a greater memory allocation
required on the host station side that is actually not a real drawback, considering the features of the personal
computers available on the market.
Note:
Involved registers and library functions are detailed respectively in
[RD2]
and
[RD5]
.
Single Data Transfer
This mode allows to readout a word per time, from the header (actually 4 words) of the first available event, followed
by all the words until the end of the event, then the second event is transferred. The exact sequence of the transferred
words is shown in §
Event Structure
.
It is suggested, after the 1
st
word is transferred, to check the EVENT SIZE information and then do as many cycles as
necessary (actually EVENT SIZE -1) in order to read completely the event.