English
Language : 

EZ-USB Datasheet, PDF (70/334 Pages) Cypress Semiconductor – The EZ-USB USB Integrated Circuit
or I2DAT until the STOP bit returns low. In the 2122/2126 only, an interrupt request is
available to signal that STOP bit transmission is complete.
4.6.3 LASTRD
To read data over the I2C bus, an I2C master floats the SDA line and issues clock pulses on
the SCL line. After every eight bits, the master drives SDA low for one clock to indicate
ACK. To signal the last byte of the read transfer, the master floats SDA at ACK time to
instruct the slave to stop sending. This is controlled by the 8051 by setting LASTRD=1
before reading the last byte of a read transfer. The I2C controller clears the LASTRD bit at
the end of the transfer (at ACK time).
Note
Setting LASTRD does not automatically generate a STOP condition. The 8051 should
also set the STOP bit at the end of a read transfer.
4.7 Status Bits
After a byte transfer the EZ-USB controller updates the three status bits BERR, ACK, and
DONE. If no STOP condition was transmitted, they are updated at ACK time. If a STOP
condition was transmitted they are updated after the STOP condition is transmitted.
4.7.1 DONE
The I2C controller sets this bit whenever it completes a byte transfer, right after the ACK
stage. The controller also generates an I2C interrupt request (8051 INT3) when it sets the
DONE bit. The I2C controller clears the DONE bit when the 8051 reads or writes the
I2DAT register, and the I2C interrupt request bit whenever the 8051 reads or writes the
I2CS or I2DAT register.
4.7.2 ACK
Every ninth SCL of a write transfer, the slave indicates reception of the byte by asserting
ACK. The EZ-USB controller floats SDA during this time, samples the SDA line, and
updates the ACK bit with the complement of the detected value. ACK=1 indicates
acknowledge, and ACK=0 indicates not-acknowledge. The EZ-USB core updates the
EZ-USB TRM v1.9
Chapter 4. EZ-USB CPU
Page 4-9