GD32与STM32有什么区别?本篇文章带你详细了解

元器件信息   2022-11-04 10:34   1034   0  

今天讲的是国产芯片GD32,主要分为以下几个方面:

一、前言

二、GD32简介

三、GD32F10x和STM32F10x资源对比

四、GD32F10x与STM32F10x软硬件设计对比

五、总结

 

一、前言

新冠疫情后,半导体行业出现缺货浪潮,各种芯片价格飞涨,嵌入式工程师常用的意法半导体公司的ST系列芯片的价格涨幅了很多倍。为了节约制造成本,很多嵌入式工程师选择使用国产芯片代替ST芯片进行嵌入式的开发,而在国产中做的比较好的芯片就是兆易创新的GD32芯片。


二、GD32简介

GD32是由北京兆易创新开发的国产32位MCU,基于Arm Cortex- M3/M23/M4内核以及RISC-V内核的32位通用微控制器,与STM32相比,CPU主频更高,内存更多,外设更丰富。其众多产品是以STM32芯片为模板,基于STM32的底层寄存器地址进行正向研发,部分产品可以直接PIN TO PIN替代STM32的芯片,部分型号可以直接以STM32的程序做部分修改后直接烧入进GD32中运行,例如GD32E103、GD32F10x、GD32F30x都是和STM32F10x系列是完全PIN TO PIN兼容的,内部地址寄存器完全兼容,唯一区别只是内核不同,但在使用外设时影响不会很大。

GD32F103Rx 64引脚

图 1 GD32F103Rx 64引脚

三、GD32F10x和STM32F10x资源对比

GD32与STM32资源对比

四、GD32F10x和STM32F10x软硬件对比 

1.相同点

(1)芯片的型号命名方式相同,而且相同信号的引脚定义基本相同,具体命名规范如下:

STM32型号命名形式 

(2)函数库文件基本相同:因为GD32正向研发,对于PIN TO PIN的芯片,内部寄存器地址和STM32完全相同,所以STM32的库文件编译后的文件可以直接下载。

(3)编译工具相同如keil、IAR都相同。


2.不同点

1.工作电压不同:STM32的工作电压在2.0~ 3.6V或1.65~3.6V,GD32F的工作电压在 2.6~3.6V,工作范围相对要窄。

电压范围不同:GD32F:2.6-3.6V ,STM32F:2.0-3.6V(外部电压)GD32F:1.2V(内核电压)STM32F:1.8V(内核电压)

2.GD32的内核电压比STM32的内核电压要低,所以GD32的芯片在运行的时候运行功耗更低。

GD32F303/F103主频比STM32F103主频要高:GD32F10系列主频: 108MHZ,STM32F10 系列主频:72MHZ 。

3.启动时间:GD32启动时间相同,由于GD32运行稍快,需要延长上电时间,配置(2ms) 。

4.GD32提高了相同工作频率下的代码执行速度,所以GD32的_NOP()时间比STM32更加短,所以不使用定时器做延时时要注意修改。

5.GD32的flash擦除时间要比STM32更长。

Flash擦除时间:GD32是60ms/page,STM32 30ms/page

6.功耗上GD32的静态功耗要相对高一点

功耗区别(以128k以下容量的作为参考)

a:睡眠模式 Sleep:GD32F:12.4mA,STM32F10X: 7.5mA

b:深度睡眠模式 Deep Sleep: GD32F: 1.4mA,STM32F10X: 24uA

c:待机模式 Stand By: GD32F: 10.5uA,STM32F10X: 3.4uA

d:运行功耗: GD32F: 32.4mA/72M,STM32F10X: 52mA/72M

7.GD32的BOOT0必须接10K下拉或接GND,ST可悬空。

BOOT0 管脚: Flash 程序运行时,BOOT0在STM32上可悬空,GD32必须外部下拉(从 Flash 运行,BOOT0必须下拉地)。

8.RC复位电路必须要有,否则MCU可能不能正常工作,STM32有时候可以不要。

9.GD32的SWD接口驱动能力比STM32弱,可以有如下几种方式解决:

a:线尽可能短一些;

b:降低SWD通讯速率;

c: SWDIO接10k上拉,SWCLK接10k下拉。

10.GD32对时序要求严格,配置外设需要先打开时钟,否则可能导致外设无法配置成功;STM32的可以先配置再开时钟。

11.修改外部晶振起振超时时间,不用外部晶振可跳过这步。

原因:GD32与STM32的启动时间存在差异,为了让GD32 MCU更准确复位(不修改可能无法复位)。

12. 串口通信不同点: GD32在连续发送数据的时候每两个字节之间会有一个Bit的Idle,而STM32没有。

GD32的串口在发送的时候停止位只有1/2两种停止位模式。STM32有0.5/1/1.5/2四种停止位模式。

13.ADC不同点: GD32的输入阻抗和采样时间的设置和STM32有一定差异,相同配置GD32采样的输入阻抗相对来说要小。

14.FSMC不同点: STM32只有100Pin以上的大容量(256K及以上)才有FSMC,GD32所有的100Pin或100Pin以上的都有FSMC。


五、总结

虽然GD32资源和软硬件方面虽然和STM32很类似,在价格方面相对于STM32建立起了巨大的优势。但是在市场占有率方面,依然有明显的劣势,确实GD32等一系列国产MCU在性能以及稳定性上,相对于意法,德州仪器,恩智浦这些老牌半导体,有一定的缺陷,但希望大家能够更多地支持国产芯片,毕竟芯片的不断优化都是建立在大量用户使用后反馈的基础之上。在当前的国内芯片环境下,国产MCU的大规模应用,已经是一个趋势。最后,GD加油,国产MCU加油!


文章来源采芯网

原文链接:https://www.findic.com/article/96472.html

登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。