UM10850
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2016. All rights reserved.
User manual
Rev. 2.4 — 13 September 2016
329 of 464
NXP Semiconductors
UM10850
Chapter 23: LPC5410x I2C-bus interfaces (I2C0/1/2)
23.7 Functional description
23.7.1 Bus rates and timing considerations
Due to the nature of the I
2
C bus, it is generally not possible to guarantee a specific clock
rate on the SCL pin. On the I
2
C-bus, the clock can be stretched by any slave device,
extended by software overhead time, etc.
In a multi-master system, the master that provides the shortest SCL high time will cause
that time to appear on SCL as long as that master is participating in I
2
C traffic (i.e. when it
is the only master on the bus, or during arbitration between masters).
In addition, I
2
C implementations generally base subsequent actions on what actually
happens on the bus lines. For instance, a bus master allows SCL to go high. It then
monitors the line to make sure it actually did go high (this would be required in a
multi-master system). This results in a small delay before the next action on the bus,
caused by the rise time of the open drain bus line.
Rate calculations give a base frequency that represents the fastest that the I
2
C bus could
operate if nothing slows it down.
23.7.1.1 Rate calculations
Master timing
SCL high time (in I
2
C function clocks) = ( 1) * (MSTS 2)
SCL low time (in I
2
C function clocks) = ( 1) * (MST 2)
Nominal SCL rate = I
2
C function clock rate / (SCL high time + SCL low time)
Slave timing
Most aspects of slave operation are controlled by SCL received from the I
2
C bus master.
However, if the slave function stretches SCL to allow for software response, it must
provide sufficient data setup time to the master before releasing the stretched clock. This
is accomplished by inserting one clock time of CLKDIV at that point.
If CLKDIV is already configured for master operation, that is sufficient. If only the slave
function is used, CLKDIV should be configured such that one clock time is greater than
the tSU;DAT value noted in the I
2
C bus specification for the I
2
C mode that is being used.
23.7.1.2 Bus rate support
The I
2
C interface can support 4 modes from the I
2
C bus specification:
•
Standard-mode (SM, rate up to 100 kbits/s)
•
Fast-mode (FM, rate up to 400 kbits/s)
•
Fast-mode Plus (FM+, rate up to 1 Mbits/s)
•
High-speed mode (HS, rate up to 3.4 Mbits/s)
Refer to “I
2
C-bus specification and user manual” for details of I
2
C modes.