GD32W51x User Manual
648
Figure 19-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
19.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