Device Table#

The collection of devices governed by a controller is referred to as a device table. The controller is responsible for creating the device table and sending it to the host following a system soft reset. The device table is a read-only associative array of (device address, device descriptor) pairs.

Example Device Table#

Device Address

Device Descriptor

ID

Version

Read Sample Size (bytes)

Write Sample Size (bytes)

0.0.0

0.0.12

1.0

8

0

0.0.1

0.0.27

2.0

26

8

0.1.0

0.0.12

1.0

8

0

Note

The Read Sample Size (rd_samp_size) within a Device Descriptor in the device table might be larger than indicated on corresponding device datasheet’s Read Frame Format due to adjustments required to comply to specific hardware word size requirements. In this case, the host should ignore these extra bytes and decode the data as specified on the datasheet.

Device Address#

Each device descriptor in the device table is associated with a unique device address. The device address is a 32-bit number with the following format:

Reserved(16-bit).Hub_Index(8-bit).Device_Index(8-bit)
  • Reserved: Reserved bits. Must be all zeros.

  • Hub_Index: The index of the hub within the controller that the device is managed by.

  • Device_Index: A unique index of each device within its hub. A valid Device_Index ranges from 0 to 0xFD. 0xFE is reserved and 0xFF indicates an invalid device.