RM0453
SMBus alert
The SMBus ALERT optional signal is supported. A slave-only device can signal the host
through the SMBALERT# pin that it wants to talk. The host processes the interrupt and
simultaneously accesses all SMBALERT# devices through the alert response address
(0b0001 100). Only the device(s) which pulled SMBALERT# low acknowledges the alert
response address.
When configured as a slave device(SMBHEN = 0), the SMBA pin is pulled low by setting the
ALERTEN bit in the I2C_CR1 register. The Alert Response Address is enabled at the same
time.
When configured as a host (SMBHEN = 1), the ALERT flag is set in the I2C_ISR register
when a falling edge is detected on the SMBA pin and ALERTEN = 1. An interrupt is
generated if the ERRIE bit is set in the I2C_CR1 register. When ALERTEN = 0, the ALERT
line is considered high even if the external SMBA pin is low.
If the SMBus ALERT pin is not needed, the SMBA pin can be used as a standard GPIO if
ALERTEN = 0.
Packet error checking
A packet error checking mechanism has been introduced in the SMBus specification to
improve reliability and communication robustness. The packet error checking is
implemented by appending a packet error code (PEC) at the end of each message transfer.
The PEC is calculated by using the C(x) = x
message bytes (including addresses and read/write bits).
The peripheral embeds a hardware PEC calculator and allows a not acknowledge to be sent
automatically when the received byte does not match with the hardware calculated PEC.
Timeouts
This peripheral embeds hardware timers in order to be compliant with the three timeouts
defined in SMBus specification.
Symbol
t
TIMEOUT
t
LOW:SEXT
t
LOW:MEXT
1. t
LOW:SEXT
from the initial START to the STOP. It is possible that, another slave device or the master also extends the
clock causing the combined clock low extend time to be greater than t
measured with the slave device as the sole target of a full-speed master.
2. t
LOW:MEXT
message as defined from START-to-ACK, ACK-to-ACK, or ACK-to-STOP. It is possible that a slave device
or another master also extends the clock, causing the combined clock low time to be greater than t
on a given byte. Therefore, this parameter is measured with a full speed slave device as the sole target of
the master.
Table 231. SMBus timeout specifications
Detect clock low timeout
(1)
Cumulative clock low extend time (slave device)
(2)
Cumulative clock low extend time (master device)
is the cumulative time a given slave device is allowed to extend the clock cycles in one message
is the cumulative time a master device is allowed to extend its clock cycles within each byte of a
Inter-integrated circuit (I2C) interface
2
+ x
+ x + 1 CRC-8 polynomial on all the
8
Parameter
RM0453 Rev 5
Limits
Min
Max
25
35
-
25
-
10
. Therefore, this parameter is
LOW:SEXT
Unit
ms
LOW:MEXT
1083/1450
1113
Need help?
Do you have a question about the STM32WL5 Series and is the answer not in the manual?