30.9.1.2 Device Addresses
DeviceAddresses are 16-bits wide, must be pre-assigned, and must be unique for each MediaLB Device. Of the 16-bits, DeviceAddress (DA) bits 15 through 9 and the LSB are always zero. Only the eight bits DA[8:1] vary. At the request of the EHC, DeviceAddresses can be scanned for by the MediaLB Controller to dynamically determine which Devices exist on MediaLB. DeviceAddresses are only used with the MLBScan command in the System Channel and are never assigned to physical channels. Once a Device is found, the ChannelAddresses used in normal operation can be assigned.
MediaLB Devices are encouraged to support dynamic configuration, where a preset DeviceAddress is used to assign the ChannelAddresses for each logical channel. Dynamic configuration avoids collisions of ChannelAddresses on different Devices.
To minimize collisions of DeviceAddresses, programmable Devices should assign the DeviceAddress via firmware. For non-programmable Devices, it is strongly recommended to have only the upper bits fixed, and have the lower bits configurable via pins on the Device. Having the lower bits configurable via pins minimizes collisions with other manufacturer’s Devices, as well as allows multiple instances of the same Device to coexist on the same MediaLB bus.
Device Addresses | Range | Device Type |
---|---|---|
0x0002..0x017E | – | Reserved |
0x0180..0x0186 | 4 | External Host Controller Processors |
0x0188..0x018E | 4 | General Processors |
0x0190..0x0196 | – | Reserved |
0x0198..0x019E | – | Reserved |
0x01A0..0x01A6 | 4 | Digital Signal Processors |
0x01A8..0x01AE | – | Reserved |
0x01B0..0x01B6 | 4 | Decoder Chips |
0x01B8..0x01BE | – | Reserved |
0x01C0..0x01C6 | 4 | Encoder Chips |
0x01C8..0x01CE | – | Reserved |
0x01D0..0x01DE | 8 | Digital-to-Analog Converters (DACs) |
0x01E0..0x01E6 | – | Reserved |
0x01E8..0x01EE | – | Reserved |
0x01F0..0x01FC | 7 | Analog-to-Digital Converters (ADCs) |