MCU Semiconductor IC Explained: GD32 vs STM32
KUKE ELECTRONICS LIMITED
10+ Years Distributor of Original Electronic Components with Good Price
Microcontroller (MCU) is a compressed micro computer manufactured to control the functions of embedded systems in office machines, robots, home appliances, motor vehicles, and a number of other gadgets. The most famous among them is STM32 family. The STM32 family of 32-bit microcontrollers based on the Arm Cortex?-M processor is designed to offer new degrees of freedom to MCU users. Of course, there are also other companies developing new MCUs to compete with it. Here are the differences between GD32 and STM32.
STM32 & GD32 MCU
The STM32 family of 32-bit microcontrollers based on the Arm Cortex?-M processor is designed to offer new degrees of freedom to MCU users. It offers products combining very high performance, real-time capabilities, digital signal processing, low-power / low-voltage operation, and connectivity, while maintaining full integration and ease of development.
The unparalleled range of STM32 microcontrollers, based on an industry-standard core, comes with a vast choice of tools and software to support project development, making this family of products ideal for both small projects and end-to-end platforms.
GD32 is a 32-bit MCU developed in China. It is a general-purpose microcontroller based on Arm Cortex-M3/M23/M4 core and RISC-V core. Compared with STM32, its CPU frequency, memory and peripherals are more superior. Many of its products are based on the STM32 chip as a template, and so does the underlying register address. Some products can directly pin-to-pin to replace the STM32 chip, and some models can be directly burned into GD32 after partial modifications to the STM32 program. For example, GD32E103, GD32F10x, and GD32F30x are fully pin-to-pin compatible with the STM32F10x series, and the internal address registers are fully compatible. The only difference is that the cores are different, but the impact will not be great when using peripherals.
Features Comparison
Software & Hardware Comparisons
1. Similarities
1) The model names of the chips are the same, and the pin definitions of the same signals are basically the same.
2) The function library files are basically the same: Because GD32 is under development, for PIN TO PIN chips, the internal register addresses are exactly the same as STM32, so the compiled STM32 library files can be downloaded directly.
(3) The compilation tools are the same, such as keil and IAR.
2. Differences
1) Different working voltages: The working voltage of STM32 is 2.0~3.6V or 1.65~3.6V, while the working voltage of GD32F is 2.6~3.6V, and the working range is relatively narrow.
The voltage range is different: GD32F: 2.6-3.6V, STM32F: 2.0-3.6V (external voltage) GD32F: 1.2V (core voltage) , STM32F: 1.8V (core voltage).
2) The core voltage of GD32 is lower than that of STM32, so the GD32 chip consumes less power when running. In addition, the CPU frequency of GD32F303/F103 is higher than the main frequency of STM32F10.
3) Start-up time: Both are the same. Since GD32 runs slightly faster, the power-on time needs to be extended and configured (2ms).
4) GD32 improves the code execution speed at the same operating frequency, so the _NOP() time of it is shorter than that of STM32, so pay attention to adjustment when not using a timer for delay.
领英推荐
5) The flash erase time of GD32 is longer than that of STM32. (GD32 is 60ms/page, STM32 30ms/page).
6) In terms of power consumption, the static power consumption of GD32 is relatively higher.
Difference in power consumption (with capacity below 128k as reference)
a: Sleep mode: GD32F: 12.4mA, STM32F10X: 7.5mA
b: Deep Sleep: GD32F: 1.4mA, STM32F10X: 24uA
c: Standby: GD32F: 10.5uA, STM32F10X: 3.4uA
d: Operating power consumption: GD32F: 32.4mA/72M, STM32F10X: 52mA/72M
7) BOOT0 of GD32 must be connected to 10K pull-down resistor or GND, and ST can be left floating.
BOOT0 pin: When the Flash program is running, BOOT0 can be left floating on STM32, and GD32 must be pulled down externally to ground.
8) The RC reset circuit must be present, otherwise the MCU may not work properly. While STM32 sometimes does not need it.
9) The SWD interface driving capability of GD32 is weaker than that of STM32. This can be solved in the following ways:
a: The line should be as short as possible.
b: Reduce SWD communication rate.
c: SWDIO is connected to 10k pull-up, SWCLK is connected to 10k pull-down.
10) GD32 has strict timing requirements. To configure peripherals, you need to turn on the clock first, otherwise the peripherals may not be configured successfully; STM32 can be configured first and then turn on the clock.
11) Modify the external crystal oscillator start-up timeout. If you do not use an external crystal oscillator, you can skip this step.
Reason: There is a difference in the startup time between GD32 and STM32. So you need to make the GD32 reset more accurately with modification.
12) Differences in serial communication: When GD32 continuously sends data, there will be one-bit Idle between every two bytes, but STM32 does not have.
The GD32 serial port only has two stop bit modes of 1/2 stop bits when sending. While STM32 has four stop bit modes: 0.5/1/1.5/2.
13) Differences in ADC: The input impedance and sampling time settings of GD32 are somewhat different from those of STM32. For example, the input impedance of GD32 sampling with the same configuration is relatively small.
14) FSMC difference: STM32 only has FSMC for large capacities above 256K, while GD32 has FSMC for 256K or above.
Anyone interested in semiconductor industry, please follow KUKE Electronics to learn more.