![Geehy SEMICONDUCTOR APM32F030x4x6x8xC Скачать руководство пользователя страница 279](http://html1.mh-extra.com/html/geehy-semiconductor/apm32f030x4x6x8xc/apm32f030x4x6x8xc_user-manual_573629279.webp)
www.geehy.com Page 278
Master receiving
The I2C interface sends the start signal and sends the address to the SDA line
through the internal shift register. The transmission direction is read. After the
slave responds, the master enters the receiving mode, receives the data on the
SDA line through the internal shift register and sends them to I2C_RXDATA
register. Every time the master receives a data, it will return an acknowledge
signal (ACK). This process will be repeated and when the master needs to stop
reading data, it will send a non-acknowledge signal (NACK) to stop reading data.
22.5.4.3
SMBus specific function
The system management bus (SMBus) is a two-wire interface, which is based on
I2C bus principle.
The system management bus specification refers to three types of devices
Slave: Device of receiving or corresponding command.
Master: Device that issues commands, generates clocks and terminates
transmission.
HOST: A special master, which provides interfaces to system CPU. The HOST
must have dual functions of master and slave, and support SMBus HOST
notification protocol, and one system has only one HOST.
Bus protocol
There are 11 possible command protocols for any given device, and one device
can communicate with any or all of 11 protocols.
Address resolution protocol (ARP)
SMBus slave address conflict can be solved by calibrating a new unique address
for the slave device. In order to assign addresses, a mechanism is needed to
distinguish each device, and each device has a unique device identifier. The
128-bit identifier is implemented by software.
This device supports address resolution protocol (ARP). Set DEADDREN bit in
I2C_CTRL1 register to 1, and the default address of SMBus device (0b1100001)
will be enabled. ARP command is implemented by user software.
The arbitration supported by ARP is also completed in slave mode.
Command receiving and data acknowledgment control
SMBus receiver will return NACK to each command and data received. Start the
ACK control in slave mode, and set SBCEN bit of I2C_CTRL1 register to 1 to
start the slave byte control mode.
HOST notification protocol
Set HADDREN bit of I2C_CTRL1 register to make this peripheral support HOST
notification protocol. In such case, HOST will acknowledge SMBus host slave
(0b0001000).
Use this protocol, this device is used as the master, and HOST is used as the
slave.
SMBus alarm