
RM0453 Rev 2
RM0453
Inter-integrated circuit (I2C) interface
1117
Caution:
Changing the TIMEOUTA and TIDLE configuration is not allowed when the TIMEOUTEN is
set.
34.4.13
SMBus:
I2C_TIMEOUTR register configuration examples
This section is relevant only when SMBus feature is supported. Refer to
•
Configuring the maximum duration of t
TIMEOUT
to 25 ms:
•
Configuring the maximum duration of t
LOW:SEXT
and t
LOW:MEXT
to 8 ms:
•
Configuring the maximum duration of t
IDLE
to 50 µs
34.4.14 SMBus slave mode
This section is relevant only when the SMBus feature is supported. Refer to
.
In addition to I2C slave transfer management (refer to
Section 34.4.8: I2C slave mode
)
some additional software flowcharts are provided to support the 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 is 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.
Table 233. Examples of TIMEOUTA settings for various I2CCLK
frequencies
(max t
TIMEOUT
= 25 ms)
f
I2CCLK
TIMEOUTA[11:0] bits TIDLE bit TIMEOUTEN bit
t
TIMEOUT
8 MHz
0x61
0
1
98 x 2048 x 125 ns = 25 ms
16 MHz
0xC3
0
1
196 x 2048 x 62.5 ns = 25 ms
Table 234. Examples of TIMEOUTB settings for various I2CCLK
frequencies
f
I2CCLK
TIMEOUTB[11:0] bits
TEXTEN bit
t
LOW:EXT
8 MHz
0x1F
1
32 x 2048 x 125 ns = 8 ms
16 MHz
0x3F
1
64 x 2048 x 62.5 ns = 8 ms
Table 235. 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