良许Linux教程网 干货合集 想用GD32替换STM32? 这些细节一定要知道

想用GD32替换STM32? 这些细节一定要知道

GD32是国内开发的一款单片机,传闻其开发团队由ST公司的人员组成,而且GD32以STM32作为模板进行开发,因此两者在很多方面都有相似之处。

然而,GD32毕竟是一款不同的产品,不可能完全克隆STM32,因此在某些自主开发的方面存在一些差异。

除了共同之处,下面列举一些不同之处。

1. 内核

GD32采用了二代M3内核,而STM32主要采用了一代M3内核。下图展示了ARM公司针对M3内核的勘误表,GD32所使用的内核只存在752419这一个缺陷。

image-20240122203920368
image-20240122203920368

2 主频

使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M

使用HSI(高速内部时钟):GD32的主频最大108M,STM32的主频最大64M

主频大意味着单片机代码运行的速度会更快,项目中如果需要进行刷屏,开方运算,电机控制等操作,GD是一个不错的选择。

3 供电

外部供电:GD32外部供电范围是2.6-3.6V,STM32外部供电范围是2-3.6V。GD的供电范围比STM32相对要窄一点。

内核电压:GD32内核电压是1.2V,STM32内核电压是1.8V。GD的内核电压比STM32的内核电压要低,所以GD的芯片在运行的时候运行功耗更低。

4 Flash差异

GD32的Flash是自主研发的,和STM32的不一样。

GD Flash执行速度:GD32 Flash中程序执行为0等待周期。

STM32 Flash执行速度:ST系统频率不访问flash等待时间关系,0等待周期,当0

Flash擦除时间:GD擦除的时间要久一点,官方给出的数据是这样的“GD32F103/101系列Flash 128KB及以下的型号,Page Erase典型值100ms, 实际测量60ms左右。”对应的ST 产品Page Erase典型值 20~40ms。

5 功耗

从下面的表可以看出GD的产品在相同主频情况下,GD的运行功耗比STM32小,但是在相同的设置下GD的停机模式、待机模式、睡眠模式比STM32还是要高的。

image-20240122203819220
image-20240122203819220

6 串口

GD在连续发送数据的时候每两个字节之间会有一个Bit的Idle,而STM32没有,如下图。

image-20240122203830482
image-20240122203830482

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

GD 和STM32 USART的这两个差异对通信基本没有影响,只是GD的通信时间会加长一点。

7 ADC差异

GD的输入阻抗和采样时间的设置和ST有一定差异,相同配置GD采样的输入阻抗相对来说要小。具体情况见下表这是跑在72M的主频下,ADC的采样时钟为14M的输入阻抗和采样周期的关系:

image-20240122203833609
image-20240122203833609

8 FSMC

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

9 103系列RAM&FLASH大小差别

GD103系列和ST103系列的ram和flash对比如下图:

image-20240122203841533
image-20240122203841533

10 105&107系列STM32和GD的差别

GD的105/107的选择比ST的多很多,具体见下表:

image-20240122203851139
image-20240122203851139

11 抗干扰能力

关于这一点,官方没有给出,笔者也是在做项目的时候偶然发现的。

项目原本是用STM32F103C8T6,后来换成GDF103C8T6。这两个芯片的引脚完全一致,单片机用了的两个邻近的引脚作为SPI的时钟引脚和数据输出引脚,然后发现STM32的SPI能正常通讯,GD的不行;经过检查发现PCB板SPI的铜线背面有两根IIC的铜线经过,信号应该是受到影响了。

用示波器看了一下引脚的电平,发现确实是,STM32和GD的数据引脚波形都不正常,但是STM32的波形要好很多,波形虽然差了点,但是SPI通讯依然正常。而GD则不能正常通讯了。

然后笔者又把SPI的通讯速率减慢,发现STM32的数据引脚很快就恢复正常波形了,而GD的依然差,直到速率降到很低才恢复正常。初步怀疑是STM32内部对引脚有做一些滤波的电路,而GD则没有。

虽然用的这个电路板本身布线有些不合理,但是在同样恶劣的环境下,STM32依然保证了通讯的正常,而GD不行,这在一定程度上说明了GD的抗干扰能力不如STM32。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部