作者:第一个子链接:https://blog.csdn.net/ShenZhen_zixian/article/details/103250238 I.简介什么是GD32? GD32是在中国开发的单片机。
据说开发人员来自ST公司,GD32也以STM32为模板制作。
因此GD32和STM32在许多地方都是相同的,但是GD32毕竟是不同的产品。
不可能对所有事物都使用STM32。
一些自我发展的事物是不同的。
我们不要谈论相同的地方,而让我告诉您不同的地方。
2.区别1.内核GD32使用第二代M3内核,而STM32主要使用第一代M3内核。
下图是ARM的M3核心勘误表。
GD使用的核心仅为752419(BUG)。
2.主频采用HSE(高速外部时钟):GD32主频高达108M,STM32主频高达72M。
使用HSI(高速内部时钟):GD32的主频率高达108M,STM32的主频率高达64M。
MCU代码将运行得更快。
如果您需要在项目中执行屏幕刷新,方格提取,电机控制等操作,则GD是一个不错的选择。
3.电源外部电源:GD32外部电源范围为2.63.6V,STM32外部电源范围为23.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擦除时间:GD擦除时间较长时,官方数据是:GD32F103 / 101系列Flash 128KB和以下型号,页面擦除的典型值为100ms,实际测量约为60ms。
对应ST产品的Page Erase的典型值为20〜40ms。
5.功耗从下表可以看出,在相同的主频率下,GD的工作功耗低于STM32,但是在相同的设置下,GD的关机模式,待机模式,和睡眠模式仍高于STM32 High。
6.串行端口当GD连续发送数据时,每两个字节之间会有一个位空闲,但STM32没有,如下图所示。
GD的串行端口在发送时只有两个停止位模式1/2。
STM32具有四种停止位模式:0.5 / 1 / 1.5 / 2。
GD和STM32 USART之间的两个区别基本上对通信没有影响,但是GD的通信时间会更长。
7. ADC差异GD的输入阻抗和采样时间与ST不同。
在相同配置中,GD采样的输入阻抗相对较小。
下表显示了具体情况。
这是在主频率为72M和14M时输入阻抗与ADC采样时钟的采样周期之间的关系:8. FSMC STM32仅具有100Pin或更大(256K及以上)的大容量,FSMC,GD32所有100Pin或以上拥有FSMC。
9、103系列RAM和FLASH的大小差异GD103系列和ST103系列之间的RAM和Flash的比较如下:10. 105和107系列STM32和GD GD 105/107之间的差异有很多选择比ST,请参见下表以了解详细信息:11.抗干扰能力。
关于这一点,官方没有给出。
当我从事该项目时,我也偶然发现了它。
该项目最初使用STM32F103C8T6,后来用GD F103C8T6代替了该项目。
这两个芯片的引脚完全相同,然后在单片机上将两个相邻的引脚分别用作SPI时钟引脚和数据输出引脚,然后发现STM32 SPI可以正常通讯,GD不通,经检查发现在PCB板SPI的铜线的背面有两个IIC铜线。
我用示波器检查了引脚电平,发现STM32和GD数据引脚的波形确实不正常,但STM32的波形要好得多。
尽管波形有些差,但SPI通信仍然正常。
和GD无法正常通信。
然后我再次放慢了SPI的通讯速率,发现STM32的数据引脚迅速恢复了正常波形,但是GD仍然很差,直到速率下降到非常低的水平才恢复正常。
最初的怀疑是STM32的引脚有一些滤波电路,而GD没有。
尽管我使用的电路板的布线有点不合理,但是在同样恶劣的环境下,STM32仍然可以保证正常的通信。