Host read is to receive gesture reports and command responses from the MXG3141. The timing diagram is shown below:Figure 7-2. I2C Host Read
Bit Timing Diagram
Address bits are latched into
the MXG3141 on the rising edges of SCL.
Data bits are latched out of
the MXG3141 on the rising edges of SCL.
ACK bit:
MXG3141 presents the ACK bit on the ninth clock
for address acknowledgment
I2C host
presents the ACK bit on the ninth clock for data acknowledgment
The I2C host must
monitor the SCL pin prior to asserting another clock pulse, as the MXG3141 may be holding off the I2C host by
stretching the clock.
I2C Communication
Steps
SCL and SDA lines are Idle high.
I2C host presents
Start bit to the MXG3141 by taking SDA high-to-low, followed
by taking SCL high-to-low.
I2C host presents
7-bit address, followed by a R/W = 1
(Read mode) bit to the MXG3141 on SDA, at the rising edge of
eight host clock (SCL) cycles.
MXG3141
compares the received address to its Device ID. If they match, the MXG3141 acknowledges (ACK) the host sent address by
presenting a low on SDA, followed by a low-high-low on SCL.
MXG3141 host
monitors SCL, as the MXG3141 may be clock-stretching, holding
SCL low to indicate that the I2C host should wait.
I2C host receives
eight data bits (MSB first) presented on SDA by the MXG3141,
at eight sequential I2C host clock (SCL) cycles. The data is latched
out on SCL falling edges to ensure it is valid during the subsequent SCL high
time.
If data transfer is not complete,
then:
I2C host
acknowledges (ACK) reception of the eight data bits by presenting a low
on SDA, followed by a low-high-low on SCL.
Go to Step 5.
If data transfer is complete,
then:
I2C host NACK’s reception of the
eight data bits and a completed data transfer by presenting a high on
SDA, followed by a low-high-low on SCL.
I2C Host Write Bit
Timing
I2C host write is to send supported commands to the MXG3141. The timing diagram is shown below:Figure 7-3. I2C Host Write
Bit Timing Diagram
Address bits are latched into the
MXG3141 on the rising edges of SCL.
Data bits are latched into the
MXG3141 on the rising edges of SCL.
ACK bit:
MXG3141 presents the ACK bit on the ninth clock for address
acknowledgment
MXG3141 presents the ACK bit on the ninth clock for data acknowledgment
The host must monitor the SCL pin
prior to asserting another clock pulse, as the MXG3141 may be
holding off the host by stretching the clock.
I2C Communication
Steps
SCL and SDA lines are Idle
high.
I2C host presents
Start bit to the MXG3141 by taking SDA high-to-low, followed
by taking SCL high-to-low.
I2C host presents
7-bit address, followed by a R/W = 0 (Write mode) bit to the
MXG3141 on SDA, at the rising edge of eight host clock
(SCL) cycles.
MXG3141
compares the received address to its Device ID. If they match, the MXG3141 acknowledges (ACK) the I2C host sent
address by presenting a low on SDA, followed by a low-high-low on SCL.
I2C host monitors SCL,
as the MXG3141 may be clock stretching, holding SCL low to
indicate the I2C host should wait.
I2C host presents
eight data bits (MSB first) to the MXG3141 on SDA, at the
rising edge of eight host clock (SCL) cycles.
MXG3141
acknowledges (ACK) receipt of the eight data bits by presenting a low on SDA,
followed by a low-high-low on SCL.
If data transfer is not complete,
then go to Step 5.
Host presents a Stop bit to the
MXG3141 by taking SCL low-high, followed by taking SDA
low-to-high.
Important: The Stop condition
after an I2C data transmission is generated by the host controller after the
data transfer is completed. Thus, it is recommended to verify the number of bytes to be
read in the message header (Size field). Host must send the Stop condition as soon as
the exact number of bytes specified in the message header has been received. Failing to
do so could result in abnormal interface operation.
The online versions of the documents are provided as a courtesy. Verify all content and data in the device’s PDF documentation found on the device product page.