STM32和GD32有什么区别?
一、前言什么GD32?GD32是国内开发的一款单片机,据说开发的人员是来自ST公司的,GD32也是以STM32作为模板做出来的。所以GD32和STM32有很多地方都是一样的,不过GD32毕竟是不同的产品,不可能所有东西都沿用STM32,有些自主开发的东西还是有区别的。相同的地方我们就不说了,下面我给大家讲一下不同的地方。二、区别1、内核GD32采用二代的M3内核,STM32主要采用一代M3内核,下图是ARM公司的M3内核勘误表,GD使用的内核只有752419这一个BUG。https://pic2.zhimg.com/80/v2-a7f6db20ad7dc80459978db7d5fa85b9_720w.webp2、主频使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M使用HSI(高速内部时钟):GD32的主频最大108M,STM32的主频最大64M主频大意味着单片机代码运行的速度会更快,项目中如果需要进行刷屏,开方运算,电机控制等操作,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<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。5、功耗https://pic1.zhimg.com/80/v2-e0a7be2143d38a4e172857c4583332e0_720w.webp从下面的表可以看出GD的产品在相同主频情况下,GD的运行功耗比STM32小,但是在相同的设置下GD的停机模式、待机模式、睡眠模式比STM32还是要高的。6、串口GD在连续发送数据的时候每两个字节之间会有一个Bit的Idle,而STM32没有,如下图。https://pic4.zhimg.com/80/v2-2d7750acce3f286a1904ddfa6887f517_720w.webpGD的串口在发送的时候停止位只有1/2两种停止位模式。STM32有0.5/1/1.5/2四种停止位模式。GD 和STM32 USART的这两个差异对通信基本没有影响,只是GD的通信时间会加长一点。7、ADC差异GD的输入阻抗和采样时间的设置和ST有一定差异,相同配置GD采样的输入阻抗相对来说要小。具体情况见下表这是跑在72M的主频下,ADC的采样时钟为14M的输入阻抗和采样周期的关系:https://pic2.zhimg.com/80/v2-98e5e50a65f463d6812d0879295b0a5d_720w.webp8、FSMCSTM32只有100Pin以上的大容量(256K及以上)才有FSMC,GD32所有的100Pin或100Pin以上的都有FSMC。9、103系列RAM&FLASH大小差别GD103系列和ST103系列的ram和flash对比如下图:https://pic2.zhimg.com/80/v2-98e5e50a65f463d6812d0879295b0a5d_720w.webp10、105&107系列STM32和GD的差别GD的105/107的选择比ST的多很多,具体见下表:https://pic4.zhimg.com/80/v2-1ba4e3ab11fea4220bc1ff7e7455f9e7_720w.webp11、抗干扰能力关于这一点,官方没有给出,我也是在做项目的时候偶然发现的,项目原本是用STM32F103C8T6,后来换成GD F103C8T6,这两个芯片的引脚完全一致,然后单片机用了的两个邻近的引脚作为SPI的时钟引脚和数据输出引脚,然后发现STM32的SPI能正常通讯,GD的不行,经过检查发现PCB板SPI的铜线背面有两根IIC的铜线经过,信号应该是受到影响了。用示波器看了一下引脚的电平,发现确实是,STM32和GD的数据引脚波形都不正常,但是STM32的波形要好很多,波形虽然差了点,但是SPI通讯依然正常。而GD则不能正常通讯了。然后我又把SPI的通讯速率减慢,发现STM32的数据引脚很快就恢复正常波形了,而GD的依然差,直到速率降到很低才恢复正常。初步怀疑是STM32内部对引脚有做一些滤波的电路,而GD则没有。虽然我用的这个电路板本身布线有些不合理,但是在同样恶劣的环境下,STM32依然保证了通讯的正常,而GD不行,这在一定程度上说明了GD的抗干扰能力不如STM32。
GD的M3内核基本上不主推了呀!主流的主推M4、M33;低成本的推M23! 都是ARM架构的MCU 制造商:
STM32由STMicroelectronics(意法半导体)生产。
GD32由GigaDevice生产。
架构版本:
STM32系列通常使用ARM Cortex-M3、M4、M7等核心,取决于具体型号。
GD32系列通常使用ARM Cortex-M3、M4核心。
性能和功能:
不同型号的STM32和GD32微控制器在性能和功能方面可能有所不同。同一架构的不同型号可以具有不同的时钟频率、存储容量、外设等。
工具链和生态系统:
STM32拥有庞大的生态系统,包括丰富的开发工具、文档、示例代码等,由STMicroelectronics提供。
GD32的生态系统相对较小,但GigaDevice也提供了一些开发工具和支持。
软件兼容性:
由于STM32是STMicroelectronics的产品,它在STM32CubeMX、STM32CubeIDE等工具上有更好的软件支持。
GD32则在GigaDevice的一些专有工具上有一定的软件支持。 最大的区别可能是产地不同 我觉得区别应该是价格吧,GD的价格稍微低一些 STM32系列由STMicroelectronics生产,而GD32系列由GigaDevice生产 在同一系列产品中,STMicroelectronics的STM32系列通常具有更多的性能和功能特性,例如更高的时钟频率、更多的外设接口等 感觉从开发角度来说,没啥太大区别。 GD32系列产品通常被认为是STMicroelectronics STM32系列的替代品,因此在软件和硬件兼容性方面可能存在一些差异 其实我选芯片主要看稳定性,稳定了能解决很多麻烦 Lyhui888 发表于 2024-2-19 16:24
GD的M3内核基本上不主推了呀!主流的主推M4、M33;低成本的推M23!
M3和M4内核区别应该不大把。 由于竞争和市场定位的不同,GD32系列产品可能在价格上具有一定优势 我理解的是,STM32的生态环境比GD的好很多啊 其实,STM32和GD32系列产品在性能、兼容性和价格等方面都有一些差异,选择哪一种取决于具体的应用需求和预算考虑 区别太多了,程序固件之类的都不是完全兼容的 理想阳 发表于 2024-3-26 18:02
M3和M4内核区别应该不大把。
GD的M4对应M3的性能更好,但价格会更低,普遍有10%的价差,有些型号价差更大;比如目前市场价M4的GD32F303RCT6对应M3的GD32F103RCT6至少要低20%; 直接问问代理商不就好了么,代理商比较懂的 我了解的是,GD的芯片性能好于STM32的同系列的产品的
理想阳 发表于 2024-3-26 18:02
M3和M4内核区别应该不大把。
比较直观的是主频不同,目前还有成本差别较大;就GD M4来说硬件能pintopin自己M3的产品对应型号,M4的价格更低;
页:
[1]
2