GD32F103和STM32F103区别介绍
关键词Key words:
GD32F103、STM32F103
摘要Abstract:
本文主要是GD32F103和STM32F103区别进行介绍。
目录
- 简介
- GD32和STM32的区别
2.1. 内核
2.2. 主频
2.3. 供电
2.4. FLASH差异
2.5. 功耗
2.6. 串口
2.7. ADC差异
2.8. FSMC
2.9. 103系列RAM&FLASH大小差别
2.10. 抗干扰能力 - GD32替换STM32注意事项
3.1. 硬件注意事项
3.2. 软件注意事项 - 自测记录
1.简介
- GD32是国内开发的一款单片机,据说开发的人员是来自ST公司的,GD32也是以STM32作为模板做出来的,因此GD32和STM32有很多地方都是一样的,但是GD32和STM32毕竟是不同的产品,不可能将所有东西都沿用STM32的,有些自主开发的东西还是有区别的。相同的地方就不说了,下面我着重介绍一下GD32和STM32不同的地方。
2.GD32和STM32的区别
2.1.内核
GD32采用二代的M3内核,STM32主要采用一代M3内核,下图是ARM公司的M3内核勘误表,GD使用的内核只有752419这一个BUG。
2.2.主频
使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M;
使用HSI(高速内部时钟):GD32的主频最大108M,STM32的主频最大64M;
主频大意味着单片机代码运行的速度会更快,项目中如果需要进行刷屏,开方运算,电机控制等操作,GD是一个不错的选择。
2.3.供电
外部供电:GD32外部供电范围是2.63.6V,STM32外部供电范围是23.6V。GD的供电范围比STM32相对要窄一点。
内核电压:GD32内核电压是1.2V,STM32内核电压是1.8V。GD的内核电压比STM32的内核电压要低,所以GD的芯片在运行的时候运行功耗更低。
2.4.FLASH差异
GD32的Flash是自主研发的,和STM32的不一样。
GD Flash执行速度:GD32 Flash中程序执行为0等待周期。(?)
STM32 Flash执行速度:ST系统频率不访问flash等待时间关系:当0<SYSCLK<24MHz,0等待周期;当24MHz<SYSCLK≤48MHz,1等待周期;当48MHz<SYSCLK≤72MHz,等2待周期,。
Flash擦除时间:GD擦除的时间要久一点,官方给出的数据是这样的:GD32F103/101系列Flash 128KB 及以下的型号, Page Erase 典型值100ms, 实际测量60ms 左右。对应的ST 产品Page Erase 典型值 20~40ms。
2.5.功耗
相同主频情况下,GD的运行功耗比STM32小,但是在相同的设置下GD的停机模式、待机模式、睡眠模式比STM32还是要高的。
2.6.串口
GD在连续发送数据的时候每两个字节之间会有一个Bit的Idle,而STM32没有,如下图。
GD的串口在发送的时候停止位只有1/2两种停止位模式,STM32有0.5/1/1.5/2四种停止位模式。GD和STM32 USART的这两个差异对通信基本没有影响,只是GD的通信时间会加长一点。
2.7.ADC差异
GD的输入阻抗和采样时间的设置和ST有一定差异,相同配置GD采样的输入阻抗相对来说要小。