Load Test Device#

Authors:

Jonathan P. Newman

Version:

2

IO:

Frame Source, Register Access

ONIX ID:

27

ONIX Hubs:

This device is used for real-world bandwidth and latency testing.

Description#

The Load Test device that produces data at user-settable size and rate to stress test various communication links and test closed-loop response latency.

Register Programming#

Address

Name

Access

Time of Effect

POR Value

Reset Action

Description

0x00

ENABLE

R/W

On Reset

Implementation dependent, see hub documentation

None

The LSB is used to enable or disable the device data stream:

  • 0x0: data output disabled

  • 0x1: data output enabled

0x01

CLK_DIV

R/W

On Reset

CLK_HZ / HB_HZ where HB_HZ is a implementation dependent default rate

None

Heartbeat clock divider ratio. Minimum value is CLK_HZ / 10e6

0x02

CLK_HZ

R

N/A

N/A

None

The frequency parameter, CLK_HZ, used in the calculation of CLK_DIV.

0x03

DT0H16_WORDS

R/W

On Reset

0

None

The number of incrementing 16-bit integers sent in each read-frame.

Note

The maximum value of DT0H16_WORDS depends of CLK_HZ and CLK_DIV. There needs to be enough clock cycles to satisfy

\[DT0H16\_WORDS <= CLK\_HZ / CLK\_DIV - 9\]

Setting DTOH16_WORDS above this value will result in a decreased device to host load as samples will be skipped.

0x04

HTOD32_WORDS

R/W

On Reset

0

None

The number of 32-bit dummy words in a write-frame. Write-frames always start with a single 64-bit unsigned integer that is subtracted from the current acquisition clock counter value when it is received. This value is looped back into the device to host data frame for testing loop latency. After the 64-bit unsigned integer, write-frames contain HTOD32_WORDS 32-bit words which are read and ignored by the device. These values can be used to test the impact of various data transmission loads on closed-loop performance.

0x05

DTOH_START

R/W

On Reset

0

None

The start value of the counter being sent sent with each read-frame.

Device To Host Data Frames#

With DT0H16_WORDS = 4 and DTOH_START= 42, the first frame transmitted to the host is structured as follows:


Hub Clock Counter Delta

64-bit unsigned integer that the result of subtracting the Hub Clock Counter value from the Hub Clock Counter Loop back value in Host To Device Data Frames. This provides a real-world, hardware timed measurement of closed-loop latency.

Frame Word N

Ignored data that can be used for host to device load testing. When DT0H16_WORDS is set to a different value, the Data Size field along with the number of words at the end of the frame will change.

Host To Device Data Frames#

With HTOD32_WORDS = 2, each frame transmitted to the host is structured as follows:


Hub Clock Counter Loopback

64-bit unsigned integer that is subtracted from the current Hub Clock Counter value to produce the Hub Clock Counter Delta field in Device To Host Data Frames.

Frame Word N

Ignored data that can be used for host to device load testing.