English
Language : 

DS90UB964-Q1 Datasheet, PDF (41/116 Pages) Texas Instruments – DS90UB964-Q1 Quad FPD-Link III Deserializer Hub
www.ti.com
Bus Activity:
Master
SDA Line S
Slave
Address
7-bit Address 0
Register
Address
Data
P
Bus Activity:
Slave
A
A
A
C
C
C
K
K
K
Figure 36. Serial Control Bus — WRITE
DS90UB964-Q1
SNLS500 – JULY 2016
SDA
SCL
START
MSB
1
7-bit Slave Address
2
6
LSB
ACK
R/W
Direction
Bit
Acknowledge
from the Device
MSB
7
8
9
1
Data Byte
2
LSB N/ACK
*Acknowledge
or Not-ACK
8
9
Repeated for the Lower Data Byte
and Additional Data Transfers
Figure 37. Basic Operation
STOP
The I2C Master located at the Deserializer must support I2C clock stretching. For more information on I2C
interface requirements and throughput considerations, refer to I2C Communication Over FPD-Link III with
Bidirectional Control Channel and I2C over DS90UB913/4 FPD-Link III with Bidirectional Control Channel.
8.5.2 Second I2C Port
The DS90UB964-Q1 includes a second I2C port that allows bi-directional control channel access to both local
registers and remote devices. Remote device access is configured on BCCx_MAP register 0x0C[7:4].
The second I2C port uses the same I2C address as the primary I2C port. In addition, RX Port I2C IDs are also
available for the second I2C port.
In general, TI recommends that the second I2C port be used in cases where the CSI TX ports are connected to
separate processors. The second I2C port allows independent control of the DS90UB964-Q1 as well as remote
devices by the second processor.
8.5.3 Broadcast Write to Remote Devices
The DS90UB964-Q1 provides a mechanism to broadcast I2C writes to remote devices (either remote slaves or
serializers). For each Receive port, the SlaveID/Alias register pairs would be programmed with the same
SlaveAlias value so they would each respond to the local I2C access. The SlaveID value would match the
intended remote device address, either remote slave or serializers. For each receive port, on of the SlaveAlias
registers is set with an Alias value. For each port, the SlaveID value is set to the address of the remote device.
These values may be the same. To access the remote serializer registers rather than a remote slave, the
serializer ID (SER_IDx or SER_IDy) would be used as the SlaveID value.
8.5.3.1 Code Example for Broadcast Write
# "FPD3_PORT_SEL Boardcast RX0/1/2/3"
WriteI2C(0x4c,0x0f) # RX_PORT0 read; RX0/1/2/3 write
# "enable pass throu"
WriteI2C(0x58,0x58) # enable pass throu
WriteI2C(0x5c,0x18) # "SER_ALIAS_ID"
WriteI2C(0x5d,0x60) # "SlaveID[0]"
WriteI2C(0x65,0x60) # "SlaveAlias[0]"
Copyright © 2016, Texas Instruments Incorporated
Product Folder Links: DS90UB964-Q1
Submit Documentation Feedback
41