Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Updated table extracted from the DaqMux.yaml (incomplete)


Register name

Address

AccessBitsPV Name
Address
Sub-name
Access
Description

Control

0x0RW
bit0:

0


Software Trigger

(triggers

Enable

Triggers DAQ on all enabled channels

)

1
bit1:

Cascade Sw Trigger mask

Mask for enabling/disabling cascaded trigger

  • '0' - Disabled (Cascaded Sw Trigger ignored)
  • '1' - Enabled
2
bit2:

Auto Rearm
Hardware
Hw Trigger

Mask for enabling/disabling hardware trigger. If disabled it has to be rearmed by ArmHwTrigger.

  • '0' - Disabled (has to be armed with bit3 otherwise disabled)
  • '1' - Enabled
3

bit3: Arm Hardware Trigger (Arms the trigger on rising edge)
4

bit4: Clear status
5

bit5: DAQ Mode

'0' - Triggered - Normal DAQ mode

- Has to be triggered to start (Other reqs. to start: Enabled, dataValid, tReady, pause).

- Stream stops if Error occurs.

'1' - Continuous - The data is framed and continuously streamed out after enabled.

- Has to be triggered to start (Other reqs. to start: Enabled, dataValid, tReady, pause).

- Disable the stream to stop.

- Freeze buffers inserts flag into the tUser bit at tLast

- Stream stops if Error occurs.

6

bit6: Add 128-bit header (otherwise data will be inserted)

'0' - Disabled

'1' - Enabled

7

bit7: Software freeze buffer (Freezes all enabled circular buffers)
8

bit8: Hardware freeze buffer mask
Status0x1RO





bit0: Software Trigger Status (Registered on first trigger until cleared by Control(4))

bit1: Cascade Trigger Status (Registered on first trigger until cleared by Control(4))

bit2: Hardware Trigger Status (Registered on first trigger until cleared by Control(4))

bit3: Hardware Trigger Armed Status (Registered on rising edge Control(3) and cleared when Hw trigger occurs)

bit4: Combined Trigger Status (Registered when trigger condition is met until cleared by Control(4))

bit5: Freeze buffer occurred (Registered on first freeze until cleared by Control(4))

Decimation0x2RW


bit 15-0 Sample rate divider (Decimator):

Only powers of two allowed if Averaging is enabled (DataFormat(7) = '1'): 1,2,4,8,16,etc (max 2^15)

Comment: If only powers of two allowed: why not encode this way? 0..16  (bit 4..0)

A: We will also have an option to disable averaging (Steve needs data without averaging). If the Averaging will be disabled also other

decimation factors will be allowed DataFormat(7)

Comment: Do we need to set decimation per channel?

The samples will be averaged (running average filter with powers of 2 window size).

DataSize0x3RW


Data buffer size.

- Number of 32-bit words (if enabled header will be included in the first 14 words of data).

- Minimum size is 14 (the size of the header).

Comment: Not sure this is more confusing than beneficial. IMO we should just use one of these.

A: Agree we will use number of 32-bit words as in old version.

TimeStamp[31:0]0x4RO


Timestamp [31:0] - secPastEpoch
TimeStamp[63:32]0x5RO


Timestamp [63:32] - nsec
Multiplexer0x10-0x1FRW


0x1x: Stream x: Channel select Multiplexer 

0 - Disabled, 1 - Test, 2 - Ch0, 3 - Ch1, 4 - Ch2 etc.(up to Ch29)

Comment: Fw implementation wise I still think this format is optimal?

Will use enums in YAML to make it more user friendly

Test mode will output counter data

DaqStatus0x20-0x2FRO


0x2x: Stream x DaqStatus:

bit 0: Raw diagnostic stream control Pause

bit 1: Raw diagnostic stream control Ready

bit 2: Raw diagnostic stream control Overflow

bit 3: Error during last Acquisition (Raw diagnostic stream control Ready or incoming data valid dropped)

bit 4: Incoming data lane valid

bit 5: DAQ Enabled

bit 31-6: Number of packets (4k byte frames) sent

DataFormat0x30-0x3FRW


0x3x: Stream x DataFormat:

bit 4-0: DataWidth (Zero inclusive). Selects the sign extension bit.

Note: The sign extension is active if "'1'- Signed" is selected.

The DataWidth should point to the bit number for example: 16-bit data -> DataWidth = 0xF, 32-bit data -> DataWidth = 0x1F

bit 5: '0' - 32-bit, '1'- 16-bit

bit 6: '0' - Unsigned, '1'- Signed

bit 7: Decimation Averaging '0' - Disabled, '1'- Enabled


TBD





TBD