ZHCSGT3C August 2017 – January 2023 DS90UB954-Q1
PRODUCTION DATA
The Bidirectional control channel provides a mechanism to read or write I2C registers in remote devices over the FPD-Link III interface. The I2C Controller located at the Deserializer must support I2C clock stretching. Accesses to serializer or remote target devices over the Bidirectional Control Channel will result in clock stretching to allow for response time across the link. The DS90UB954-Q1 acts as an I2C target on the local bus, forwards read and write requests to the remote device, and returns the response from the remote device to the local I2C bus. To allow for the propagation and regeneration of the I2C transaction at the remote device, the DS90UB954-Q1 will stretch the I2C clock while waiting for the remote response. To communicate with a remote target device, the Rx Port which is intended for messaging also must be selected in register 0x4C. The I2C address of the currently selected RX Port serializer will be populated in register 0x5B of the DS90UB954-Q1. The BCC_CONFIG register 0x58 also must have bit 6, I2C_PASS_THROUGH set to one. If enabled, local I2C transactions with valid address decode will then be forwarded through the Bidirectional Control Channel to the remote I2C bus. When I2C PASS THROUGH is set, the deserializer will only propagate messages that it recognizes, such as the registered serializer alias address (SER ALIAS), or any registered remote target alias attached to the serializer I2C bus (TARGET ALIAS) assigned to the specific Rx Port0 or Port 1. Setting PASS THROUGH ALL and AUTO ACK are less common use cases and primarily used for debugging I2C messaging as they will respectively pass all addresses regardless of valid I2C address (PASS_THROUGH_ALL) and acknowledge all I2C commands without waiting for a response from serializer (AUTO_ACK).