7.5.1 Local I2C Interface Overview
The SN65DSI84 local I2C interface is enabled when EN is input high, access to the CSR registers is supported during ultra-low power state (ULPS). The SCL and SDA terminals are used for I2C clock and I2C data respectively. The SN65DSI84 I2C interface conforms to the two-wire serial interface defined by the I2C Bus Specification, Version 2.1 (January 2000), and supports fast mode transfers up to 400 kbps.
The device address byte is the first byte received following the START condition from the master device. The 7 bit device address for SN65DSI84 is factory preset to 010110X with the least significant bit being determined by the ADDR control input. Table 4 clarifies the SN65DSI84 target address.
Table 4. SN65DSI84 I2C Target Address Description (1)(2)
SN65DSI84 I2C TARGET ADDRESS |
|
BIT 7 (MSB) |
BIT 6 |
BIT 5 |
BIT 4 |
BIT 3 |
BIT 2 |
BIT 1 |
BIT 0 (W/R) |
0 |
1 |
0 |
1 |
1 |
0 |
ADDR |
0/1 |
(1) When ADDR=1, Address Cycle is 0x5A (Write) and 0x5B (Read)
(2) When ADDR=0, Address Cycle is 0x58 (Write) and 0x59 (Read)
The following procedure is followed to write to the SN65DSI84 I2C registers.
- The master initiates a write operation by generating a start condition (S), followed by the SN65DSI84 7-bit address and a zero-value “W/R” bit to indicate a write cycle.
- The SN65DSI84 acknowledges the address cycle.
- The master presents the sub-address (I2C register within SN65DSI84) to be written, consisting of one byte of data, MSB-first.
- The SN65DSI84 acknowledges the sub-address cycle.
- The master presents the first byte of data to be written to the I2C register.
- The SN65DSI84 acknowledges the byte transfer.
- The master may continue presenting additional bytes of data to be written, with each byte transfer completing with an acknowledge from the SN65DSI84.
- The master terminates the write operation by generating a stop condition (P).
The following procedure is followed to read the SN65DSI84 I2C registers:
- The master initiates a read operation by generating a start condition (S), followed by the SN65DSI84 7-bit address and a one-value “W/R” bit to indicate a read cycle.
- The SN65DSI84 acknowledges the address cycle.
- The SN65DSI84 transmit the contents of the memory registers MSB-first starting at register 00h. If a write to the SN65DSI84 I2C register occurred prior to the read, then the SN65DSI84 will start at the sub-address specified in the write.
- The SN65DSI84 will wait for either an acknowledge (ACK) or a not-acknowledge (NACK) from the master after each byte transfer; the I2C master acknowledges reception of each data byte transfer.
- If an ACK is received, the SN65DSI84 transmits the next byte of data.
- The master terminates the read operation by generating a stop condition (P).
The following procedure is followed for setting a starting sub-address for I2C reads:
- The master initiates a write operation by generating a start condition (S), followed by the SN65DSI84 7-bit address and a zero-value “W/R” bit to indicate a write cycle
- The SN65DSI84 acknowledges the address cycle.
- The master presents the sub-address (I2C register within SN65DSI84) to be written, consisting of one byte of data, MSB-first.
- The SN65DSI84 acknowledges the sub-address cycle.
- The master terminates the write operation by generating a stop condition (P).