![](http://datasheet.mmic.net.cn/120000/MB89965PFV1-G-XXX_datasheet_3559052/MB89965PFV1-G-XXX_235.png)
MB89960 series
CHAPTER 12 I2C Interface
213
12
q Clock selector, divider and shift clock generator
This circuit divides the internal clock, then selects and generates the shift clock for I2C bus.
q START and STOP condition generator
When the bus is free (i.e. both SCL and SDA are at logical high), a master may initiate
communication by sending a START condition. A START condition is defined as a high to low
transition of SDA line while SCL is high. And also the master can terminate the communication
by generating a STOP condition to free the bus. A STOP condition is defined as a low to high
transition of SDA line while SCL is high.
q START and STOP condition detector
This circuit detects the START and STOP condition that denoting beginning and ending of a
data transfer.
q Arbitration lost detector
This interface circuit supports multi-master system. If more than one master try to transmit data
at the same time, arbitration lost occurs. The master will lose arbitration if it transmits logic “1”
while “L” level found on the SDA line. Therefore AL bit in bus status register (IBSR) will be set
and the losing master will switch over to slave receive mode.
q Slave address comparator
After the START condition, a slave address is sent. This address is 7 bits long followed by an
eighth bit which is a data direction bit (R/W). Only the slave with matched address will respond
by sending back an acknowledge bit.
q IBSR register
The IBSR register is used to indicate the status of the I2C interface. It is a read-only register.
q IBCR register
The IBCR register is used to select the operating mode, enable or disable interrupt, enable or
disable acknowledge and general call acknowledge.
q ICCR register
The ICCR register is used to enable I2C operation and select its shift clock frequency.
q IADR register
The IADR register is used to store its own specific address.
q IDAR register
The IDAR register is used to store the shift data being received or transmitted. During transmit,
data writing into this register is sent to the bus with most significant bit sending first. During data
receive, the value read out from this register is always high.