
GD32A50x User Manual
527
Figure 20-21. Programming model for master receiving (N>255)
IDLE
START Condition
Master sends Address
Slave sends Acknowledge
Slave sends DATA(1)
Master sends Acknowledge
(
Data transmission
)
Slave sends DATA(255)
Master sends Acknowledge
Master generates STOP
condition
Software initialization
Set RBNE
Set RBNE,TCR
Read DATA(x)
Set RBNE
Read DATA(1)
Slave sends DATA(254)
Master sends Acknowledge
Set RBNE
Read DATA(255)
I2C Line State
Hardware Action
Software Flow
Set START
Read DATA(254)
RELOAD =1
BYTENUM[7:0]=0xFF
N=N-255
Reload BYTENUM[7:0]=N
Slave sends DATA(1)
Master sends Acknowledge
(
Data transmission
)
Slave sends DATA(N)
Master sends Acknowledge
Set RBNE
Set RBNE,TC
Read DATA(x)
Set RBNE
Read DATA(1)
Slave sends DATA(N-1)
Master sends Acknowledge
Set RBNE
Read DATA(N)
Read DATA(N-1)
Set STOP
20.3.9.
SMBus support
The System Management Bus (abbreviated to SMBus or SMB) is a single-ended simple two-
wire bus for the purpose of lightweight communication. Most commonly it is found in computer
motherboards for communication with power source for ON/OFF instructions. It is derived
from I2C for communication with low-bandwidth devices on a motherboard, especially power
related chips such as a laptop's rechargeable battery subsystem (see Smart Battery Data).
SMBus protocol
Each message transaction on SMBus follows the format of one of the defined SMBus
protocols. The SMBus protocols are a subset of the data transfer formats defined in the I2C
specifications. I2C devices that can be accessed through one of the SMBus protocols are
compatible with the SMBus specifications. I2C devices that do not adhere to these protocols
cannot be accessed by standard methods as defined in the SMBus and Advanced