
Inter-integrated circuit (I2C) interface
RM0351
1272/1830
DocID024597 Rev 5
•
Configuring the maximum duration of t
IDLE
to 50 µs
39.4.13 SMBus slave mode
This section is relevant only when SMBus feature is supported. Please refer to
In addition to 2C slave transfer management (refer to
Section 39.4.7: I2C slave mode
) some
additional software flowcharts are provided to support SMBus.
SMBus Slave transmitter
When the IP is used in SMBus, SBC must be programmed to ‘1’ in order to allow the PEC
transmission at the end of the programmed number of data bytes. When the PECBYTE bit
is set, the number of bytes programmed in NBYTES[7:0] includes the PEC transmission. In
that case the total number of TXIS interrupts will be NBYTES-1 and the content of the
I2C_PECR register is automatically transmitted if the master requests an extra byte after the
NBYTES-1 data transfer.
Caution:
The PECBYTE bit has no effect when the RELOAD bit is set.
16 MHz
0x3F
1
64 x 2048 x 62.5 ns = 8 ms
48 MHz
0xBB
1
188 x 2048 x 20.08 ns = 8 ms
Table 228. Examples of TIMEOUTA settings for various
I2CCLK
frequencies
(max t
IDLE
= 50 µs)
f
I2CCLK
TIMEOUTA[11:0]
bits
TIDLE bit
TIMEOUTEN
bit
t
TIDLE
8 MHz
0x63
1
1
100 x 4 x 125 ns = 50 µs
16 MHz
0xC7
1
1
200 x 4 x 62.5 ns = 50 µs
48 MHz
0x257
1
1
600 x 4 x 20.08 ns = 50 µs
Table 227. Examples of TIMEOUTB settings for various
I2CCLK
frequencies
f
I2CCLK
TIMEOUTB[11:0]
bits
TEXTEN bit
t
LOW:EXT