UM10413
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2011. All rights reserved.
User manual
Rev. 1 — 16 December 2011
122 of 268
NXP Semiconductors
UM10413
MPT612 User manual
The synchronization logic synchronizes the serial clock generator with the clock pulses on
the SCL line from another device. If two or more master devices generate clock pulses,
the “mark” duration is determined by the device that generates the shortest “marks,” and
the “space” duration is determined by the device that generates the longest “spaces”.
shows the synchronization procedure.
A slave can stretch the space duration to slow down the bus master. The space duration
can also be stretched for handshaking purposes. This can be done after each bit or after a
complete byte transfer. The I
2
C block stretches the SCL space duration after a byte is
transmitted or received and the acknowledge bit is transferred. The serial interrupt flag
(SI) is set, and the stretching continues until the serial interrupt flag is cleared.
16.6.6 Serial clock generator
This programmable clock pulse generator provides the SCL clock pulses when the I
2
C
block is in the master transmitter or master receiver mode. It is switched off when the I
2
C
block is in slave mode. The I
2
C output clock frequency and duty cycle is programmable
via the I
2
C Clock Control registers. See the description of registers I2CSCLL and
I2CSCLH for details. The output clock pulses have a duty cycle as programmed unless
the bus is synchronizing with other SCL clock sources as described above.
16.6.7 Timing and control
The timing and control logic generates the timing and control signals for serial byte
handling. This logic block provides the shift pulses for I2DAT, enables the comparator,
generates and detects Start and Stop conditions, receives and transmits acknowledge
bits, controls the master and slave modes, contains interrupt request logic, and monitors
the I
2
C-bus status.
16.6.8 Control register, I2CONSET and I2CONCLR
The I
2
C control register contains bits used to control the following I
2
C block functions: start
and restart of a serial transfer, termination of a serial transfer, bit rate, address recognition,
and acknowledgment.
(1) Another device pulls the SCL line LOW before this I
2
C has timed a complete HIGH time. The other
device effectively determines the (shorter) HIGH period.
(2) Another device continues to pull the SCL line LOW after this I
2
C has timed a complete LOW time
and released SCL. The I
2
C clock generator is forced to wait until SCL goes HIGH. The other
device effectively determines the (longer) LOW period.
(3) The SCL line is released, and the clock generator begins timing the HIGH time.
Fig 34. Serial clock synchronization
SDA line
SCL line
(3)
(1)
(1)
(2)
HIGH
period
LOW
period
aaa-000597