GD32和STM32区别
作者:快盘下载 人气:今天也来卷一卷 说说国产单片机~~
GD32是国内开发的一款单片机;据说开发的人员是来自ST公司的;GD32也是以STM32作为模板做出来的。所以GD32和STM32有很多地方都是一样的;不过GD32毕竟是不同的产品;不可能所有东西都沿用STM32;有些自主开发的东西还是有区别的。相同的地方我们就不说了;下面我给大家讲一下不同的地方。
区别
1 内核
GD32采用二代的M3内核;STM32主要采用一代M3内核;下图是ARM公司的M3内核勘误表;GD使用的内核只有752419这一个BUG。
2 主频
使用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 功耗
从下面的表可以看出GD的产品在相同主频情况下;GD的运行功耗比STM32小;但是在相同的设置下GD的停机模式、待机模式、睡眠模式比STM32还是要高的。
6 串口
GD在连续发送数据的时候每两个字节之间会有一个Bit的Idle;而STM32没有;如下图。
GD的串口在发送的时候停止位只有1/2两种停止位模式。STM32有0.5/1/1.5/2四种停止位模式。
GD 和STM32 USART的这两个差异对通信基本没有影响;只是GD的通信时间会加长一点。
7 ADC差异
GD的输入阻抗和采样时间的设置和ST有一定差异;相同配置GD采样的输入阻抗相对来说要小。具体情况见下表这是跑在72M的主频下;ADC的采样时钟为14M的输入阻抗和采样周期的关系;
8 FSMC
STM32只有100Pin以上的大容量;256K及以上;才有FSMC;GD32所有的100Pin或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依然保证了通讯的正常;而GD不行;这在一定程度上说明了GD的抗干扰能力不如STM32。
最后这个实际本人也没用过~~ 哈哈whaosoft aiot http://143ai.com
加载全部内容