AT32F425
Series Reference Manual
2022.03.30
Page 137
Ver 2.01
SMBus slave transmission
Figure 11-18 SM Bus slave transmission flow
Slave initialization
I2C_STS_ADDRF=1?
No
Set I2C_CTRL2_CNT =N+ 1
I2C_CTRL2_PECTEN = 1
I2C_CLR_ADDRC =1
Yes
I2C_CTRL1_PECEN = 1
I2C_STS_TDIS=1?
Write I2C_TXDT_DT
Yes
No
I2C_STS_ACKFAIL=1?
Write I2C_CLR_ACKFAILC
I2C_STS_STOPF=1?
Yes
Yes
No
No
Set I2C_STS_TDBE = 1
and I2C_CLR_TDIS = 1
Set I2C_CLR_STOPC = 1
Figure 11-19 SM Bus slave transmission timing
Address
S
r/w
A
Data1
A
Data2
A
P
Master to Slave
Slave to Master
S = Start
A = Acknowledge
P = Stop
SMBus slave transmitter N bytes + PEC
EV1.I2C_STS_ADDRF = 1, set I2C_CTRL2 CNT = N+1, PECTEN = 1,
I2C_CLR_ADDRC = 1
EV2. I2C_STS_TDIS, write Data1
EV3. I2C_STS_TDIS, write Data2
EV4. I2C_STS_TDIS, write Data3
EV5. I2C_STS_TDIS, write DataN
EV6. I2C_STS_STOPF =1, set I2C_CLR_STOPC =1
EV1
EV2
SCL
Stretch
PEC
NA
EV3
TDIS
EV6
EV4
EV5
DataN
A