Document type:
Title:
Revision date:
Revision:
User's Manual (MUT)
Mod. DT5740 32 Channel 12bit - 65MS/s Digitizer
04/05/2016
12
NPO:
Filename:
Number of pages:
Page:
00100/09:5740x.MUTx/12
DT5740_REV12.DOC
50
37
3.6
Data Transfer Capabilities
DT5740 features a Multi-Event digital memory per channel, configurable by the user to be
divided into 1 up to 1024 buffers, as detailed in § 3.3.3. 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 § 3.3.5).
The events are readout sequentially and completely, starting from the Header of the first
available event, followed by the data of the enabled groups (from 0 to 3) as reported in Fig. 3.4.
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.
3.6.1
Block Transfer
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 (refer to § 4.2).
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 the Block Transfer
Event Number register 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).
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.
3.6.2
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 § 3.3.4.
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 completely read the event.