MOTOROLA Chapter 34. I2C Controller 34-1
Chapter 34 I2C Controller
340
340
The inter-integrated circuit (I2C¨) controller lets the MPC8260 exchange data with other
I2C devices, such as microcontrollers, EEPROMs, real-time clock devices, A/D converters,
and LCD displays. The I2C controller uses a synchronous, multimaster bus that can connect
several integrated circuits on a board. It uses two signalsÑserial data (SDA) and serial
clock (SCL)Ñto carry information between the integrated circuits connected to it.
As shown in Figure 34-1, the I2C controller consists of transmit and receive sections, an
independent baud-rate generator (BRG), and a control unit. The transmit and receive
sections use the same clock, which is derived from the I2C BRG when in master mode and
generated externally when in slave mode. Wait states are inserted during a data transfer if
SCL is held low by a slave device. In the middle of a data transfer, the master I2C controller
recognizes the need for wait states by monitoring SCL. However, the I2C controller has no
automatic time-out mechanism if the slave device does not release SCL; therefore, software
should monitor how long SCL stays low to generate bus timeouts.
Figure 34-1. I2C Controller Block Diagram
Control
Tx Data RegisterRx Data Register
Peripheral Bus
Mode Register
Shift Register Shift Register
Baud-Rate Generator SCL
SDA
60x Bus