GD32与STM32在使用过程中的区别

简介: GD32与STM32在使用过程中的区别

目录

第一:内核和频率方面

第二:供电和Flash方面

第三:功耗和串口方面

第四:抗干扰能力方面


 今天主要和大家聊一聊,GD32是国内开发的第一款单片机,其中GD32是以STM32作为模板做出来的。两者之间有一定很多地方是一样的,不过GD32毕竟是不同的产品,不可能所有东西都沿用STM32,有些自主开发的东西还是有区别的。

5f6037a8e9e2459292101523135d08fb.png

第一:内核和频率方面

   GD32采用二代的M3内核,STM32主要采用一代M3内核,下图是ARM公司的M3内核勘误表,GD使用的内核只有752419这一个BUG。

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


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


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

第二:供电和Flash方面

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

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


STM32 Flash执行速度:ST系统频率不访问flash等待时间关系,0等待周期,当0<SYSCLK<24MHz;1等待周期,当24MHz<SYSCLK≤48MHz;2等待周期,当48MHz<SYSCLK≤72MHz。


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

第三:功耗和串口方面

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

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

33cee2cc587648628a05ee32b674a27f.png

GD的串口在发送的时候停止位只有1/2两种停止位模式。STM32有0.5/1/1.5/2四种停止位模式。GD 和STM32 USART的这两个差异对通信基本没有影响,只是GD的通信时间会加长一点。

第四:抗干扰能力方面

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

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


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


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


总结:GD产品的制作和实现方面需要一定的过程,找打不同的地方之后,要重点关注,方能找到问题的核心点。

目录
相关文章
|
芯片
STM32窗口看门狗和独立看门狗的区别,看门狗介绍及代码演示
STM32窗口看门狗和独立看门狗的区别,看门狗介绍及代码演示
214 0
|
IDE 开发工具 芯片
PIC 16F18系列单片机开发 IO口配置与stm32的区别
PIC 16F18系列单片机开发 IO口配置与stm32的区别
PIC 16F18系列单片机开发 IO口配置与stm32的区别
STM32 PWM模式与输出比较模式的区别。PWM占空比不生效,在STM32CubeMX中配置PWM的两种模式——蓝桥杯嵌入式
STM32 PWM模式与输出比较模式的区别。PWM占空比不生效,在STM32CubeMX中配置PWM的两种模式——蓝桥杯嵌入式
1303 0
STM32-嵌入式学习笔记05-STM32八种IO口模式区别
STM32-嵌入式学习笔记05-STM32八种IO口模式区别
291 0
STM32-嵌入式学习笔记05-STM32八种IO口模式区别
STM32电源框图解析(VDD、VSS、VDDA、VSSA、VREF+、VREF-、VBAT等的区别)
STM32电源框图解析(VDD、VSS、VDDA、VSSA、VREF+、VREF-、VBAT等的区别)
STM32电源框图解析(VDD、VSS、VDDA、VSSA、VREF+、VREF-、VBAT等的区别)
|
芯片
STM32F103ZE和STM32F207ZG的芯片区别
STM32F103ZE和STM32F207ZG的芯片区别(特别是寄存器区别)
760 0
|
5月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
451 2
|
4月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
722 0
|
5月前
|
IDE 开发工具
使用STM32F103标准库实现自定义键盘
通过本文,我们学习了如何使用STM32F103标准库实现一个简单的自定义键盘。我们首先初始化了GPIO引脚,然后实现了一个扫描函数来检测按键状态。这个项目不仅能够帮助我们理解STM32的GPIO配置和按键扫描原理,还可以作为进一步学习中断处理和低功耗设计的基础。希望本文对你有所帮助,祝你在嵌入式开发的道路上不断进步!
510 4