x2745 DPP-ZLE 2025012707
CUP documentation
Supported Endpoints

Raw

Raw data.

Options:

  • Level: DIG

Supported Fields

Name Native Type Dim Description
DATA U8 (fixed) 1 Raw Data (type of conversion not supported)
SIZE SIZE_T 0 Size of data written to DATA
N_EVENTS U32 0 Number of events in the blob

Data are passed on the network as big-endian 64-bit words. The endianness must be properly adjusted before to start decoding it.

In all the 27xx digitizer family the most general structure of the events is:

Fig: 27xx digitizer general event structure

where:

  • n. words = N
  • format can be:
    • 0x1 in case of Common Trigger Mode
    • 0x2 in case of Individual Trigger Mode
    • 0x3 in case of Special Events

The DPP-ZLE belongs to the Individual trigger mode case. In such a mode the event aggregate has the following format:

Fig: Event aggregate in Individual Trigger Mode.

where:

  • n. aggregates words = N
  • bit 56 ("board fail") is common to all aggragates events. The The size of each aggregated event must be inferred by the information in the aggregated event itself.

Three event types are present in the data aggregate:

  • The Start Run event
  • Data events, one per each trigger accepted by the board
  • The Stop Run event

The Start Run is a special event composed of four 64-bit words and generated by the board when the acquisition starts. The Start Run event is below described:

Fig: Start Run event structure.

where:

  • dec. factor log2 (decimation factor in log2 scale) = 0x0;
  • n. traces = 0x1;
  • acquisition width = 0x0;

The aggregate event(0), aggregate event (1), …, aggregate event (N-1) can be of three types:

Fig: DPP-ZLE firmware Raw Data structure.

In the above pictures:

  • bit 63 is set on the last header word, despite the presence of the waveform payload. Single word events are not supported: bit 63 of first header word is always unset.
  • bit 30/62 is set only on the last counter (LC), in the word that has bit 63 set. In case of odd C, bit 62 is set. In case of even C, bit 30 is set, and bits [32-62] are reserved.
  • the number of counters C must be deduced by the bit 30/62 relative to the counter value.
  • if bit 32 on the second word is set, even counters represent good samples and odd counters bad samples, and viceversa.
  • the waveform payload is present only if the bit 62 on the second word is set. It also implies C>1 or bit 32 is set on the second word.
  • WT is Wave Truncated, CT is Counter Truncated
  • C Ok refers to the goodness of the counters content
  • the "board fail" flag must be deduced by the bit 56 of the individual trigger mode event. If the event is split in more individual trigger mode events, the "board fail" is the or of all the aggregates.
  • timestamp is the same for all channels of an event
  • in the timestamp field = 1 LSB = 8 ns
  • in waveform defvalue field = 1 LSB = 1 ADC count
  • waveform n. words = N/2

Alternative form of last header word in case of even C:

where

  • n. counters = C
  • ch. record length = N

The Stop Run is a special event composed of three 64-bit words and generated at the end of the Run. The Stop Run event will be read out after all the data events.

Fig: Stop Run event structure.

where:

  • Timestamp is the end of run time so the Real Time (1 LSB = 8 ns)
  • Dead time is the dead time of the acquisition (1 LSB = 8 ns)

DPPZLE

Decoded DPP-ZLE endpoint.

Options:

  • Level: DIG

Supported Fields

Name Native Type Dim Description
TIMESTAMP U64 0 Timestamp (48 bits)
TIMESTAMP_NS U64 0 Timestamp in nanoseconds (51 bits)
RECORD_LENGHT SIZE_T 0 Value of RecordLengthS at the beginning of the run. Equal to RECONSTRUCTED_WAVEFORM_SIZE if respective channel is enabled.
TRUNCATE_WAVE BOOL 0 True if waveform is truncated (1 bit)
TRUNCATE_PARAM BOOL 0 True if counters are truncated (1 bit)
WAVEFORM_DEFVALUE U16 1 Waveform default value (16 bits). See DefaultValueSource parameter.
CHUNK_NUMBER SIZE_T 1 Number of chunks described in CHUNK_TIME, CHUNK_SIZE and CHUNK_BEGIN. One value per channel
CHUNK_TIME SIZE_T 2 Chunk timestamp in samples. One array per channel. Size of each channel described by CHUNK_NUMBER. Maximum size is fixed to 512 per channel.
CHUNK_SIZE SIZE_T 2 Chunk size in samples. One array per channel. Size of each channel described by CHUNK_NUMBER. Maximum size is fixed to 512 per channel.
CHUNK_BEGIN SIZE_T 2 Chunk begin in WAVEFORM, in samples. One array per channel. Size of each channel described by CHUNK_NUMBER. Maximum size is fixed to 512 per channel.
WAVEFORM U16 2 Raw waveform (16 bits). Chunks described by CHUNK_NUMBER, CHUNK_TIME, CHUNK_SIZE and
CHUNK_BEGIN SIZE_T 2 Chunk begin in WAVEFORM, in samples. One array per channel. Size of each channel described by CHUNK_NUMBER. Maximum size is fixed to 512 per channel.
RECONSTRUCTED_WAVEFORM U16 2 Reconstructed waveform (16 bits). Maximum size described by RecordLengthS. Effective size is returned in RECONSTRUCTED_WAVEFORM_SIZE.
SAMPLE_TYPE U8 2 Type of the corresponding sample in RECONSTRUCTED_WAVEFORM (1 bit):
- 1: real sample
- 0: reconstructed sample
Maximum size described by RecordLengthS. Effective size is returned in RECONSTRUCTED_WAVEFORM_SIZE
RECONSTRUCTED_WAVEFORM_SIZE SIZE_T 0 Size of RECONSTRUCTED_WAVEFORM and SAMPLE_TYPE.
EVENT_SIZE SIZE_T 0 Total event raw size, useful for statistics
BOARD_FAIL BOOL 0 Set if the logical AND between of the ErrorFlag and ErrorFlagDataMask is not 0. Present in all the events belonging to the same aggregate. (1 bit)
FLUSH BOOL 0 Flush of the aggregate word. Shared by all the events in the aggregate. Useful for debug purposes. (1 bit)
AGGREGATE_COUNTER U32 0 Aggregate counter section in the Event Aggregate structure. Shared by all the events in the aggregate. Useful for debug purposes. (24 bit)

ActiveEndpoint

Defines which endpoint will be used. Path to be used in the CAEN_FELib_GetHandle(): /endpoint/par/activeendpoint

Options:

  • Level: FOLDER
  • Access Mode: READ_WRITE
  • Type: STRING

Allowed Values:

  • Raw: Decode is disabled, data are received in the same format as provided by the digitizer, and ReadData should be made on handle /endpoint/raw
  • DPPZLE: Decode is enabled, data are decoded to a specific format, and it is possible to decide which fields must be present in the decoded data through the DPPZLE endpoint. ReadData should be made on handle /endpoint/dppzle