You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »


The DaqMux component of the FPGA in the application board of the ATCA allows the user to stream upto four streams of chosen data from each AMC daughter board to the IOC. Each application card is configured to have 2 DaqMuxes; one for each AMC daughter board. The main graphical user interface for configuring the DaqMux is quite simple and masks a lot of the DaqMux configurations. It only allows the user to choose the basic: the source of each of the 4 streams of each DaqMux and to stimulate a trigger in any of the two DaqMuxes. The Graphical user interface of a DaqMux is shown in the figure 1.


Figure 1: DaqMux Graphical user interface





....



Updated table extracted from the DaqMux.yaml (incomplete)


Register name

Address

AccessBitsPV NameSub-nameDescription

Control

0x0RW

0


Software Trigger Enable

Triggers DAQ on all enabled channels

1
Cascade Sw Trigger mask

Mask for enabling/disabling cascaded trigger

  • '0' - Disabled (Cascaded Sw Trigger ignored)
  • '1' - Enabled
2
Auto Rearm 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





  • No labels