GD32W51x User Manual
628
19.
Inter-integrated circuit interface (I2C)
19.1.
Overview
The I2C (inter-integrated circuit) module provides an I2C interface which is an industry
standard two-line serial interface for MCU to communicate with external I2C interface. I2C
bus uses two serial lines: a serial data line, SDA, and a serial clock line, SCL.
The I2C interface implements standard I2C protocol with standard mode, fast mode and fast
mode plus as well as CRC calculation and checking, SMBus (system management bus), and
PMBus (power management bus). It also supports multi-master I2C bus. The I2C interface
provides DMA mode for users to reduce CPU overload.
19.2.
Characteristics
Parallel-bus to I2C-bus protocol converter and interface
Both master and slave functions with the same interface
Bi-directional data transfer between master and slave
Supports 7-bit and 10-bit addressing and general call addressing
Multiple 7-bit slave addresses (2 address, 1 with configurable mask)
Programmable setup time and hold time
Multi-master capability
Supports standard mode (up to 100 kHz) and fast mode (up to 400 kHz) and fast mode
plus (up to 1MHz)
Configurable SCL stretching in slave mode
Supports DMA mode
SMBus 3.0 and PMBus 1.3 compatible
Optional PEC (packet error checking) generation and check
Programmable analog and digital noise filters
Wakeup from Deep-sleep mode on I2C0 address match
Independent clock from PCLK
19.3.
Function overview
Figure 19-1. I2C module block diagram
below provides details on the internal configuration
of the I2C interface.