SNLS708 February 2023 DS90UB638-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 DS90UB638-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 DS90UB638-Q1 will stretch the I2C clock while waiting for the remote response. The I2C address of the serializer is populated in register 0x5B of the DS90UB638-Q1. The BCC_CONFIG register 0x58 must also have bit 6, I2C_PASS_THROUGH, set to 1. If enabled, local I2C transactions with a valid address decode are then forwarded through the bidirectional control channel to the remote I2C bus. When I2C_PASS_THROUGH is set, the deserializer will only propagate messages that the deserializer recognizes, such as the registered serializer alias address (SER_ALIAS), or the registered remote target alias attached to the serializer I2C bus (TARGET_ALIAS). Setting PASS_THROUGH_ALL and AUTO_ACK are less common use cases and are primarily used for debugging I2C messaging because 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).