-
2021-09-23 16:36:07
一.硬件设计
以我们常用的STM32与GD32单片机为例,做一下对比。
比较GD32E230C8(M0),GD32F103C8(M3),GD32F303CG(M4),STM32F103C8(M3),STM32F303C8T6(M4)硬件管脚的区别。
从上图中可以看出:
- GD32E230C8(M0)与STM32G030C8(M0)管脚不兼容;
- GD32F103C8(M3)与STM32F103C8(M3)管脚兼容;
- GD32F303CG(M4)与STM32F303C8T6(M4)管脚兼容。
GD32E230C8(M0),GD32F103C8(M3),GD32F303CG(M4)有两个引脚(35脚和36脚)硬件电气不兼容,可以加电阻,用于切换,实现PCB板兼容。
下表是GD32E230C8单片机35和36管脚定义:
下表是GD32F103C8(M3)单片机35和36管脚定义:
*可以看出这两个管脚不兼容,若想实现PCB管脚兼容,可以加电阻。
下图是GD32E230C8单片机原理图:
从上图可以看出,在35和36脚加了3个电阻,2个上拉电阻和1个下拉电阻。
- 当使用GD32E230C8T6单片机时,35脚和36脚默认是普通IO口,可以按照上图所示连接电阻。
- 当使用GD32F103C8单片机时,35脚和36脚是电源口,此时可以把R6换成0欧姆的电阻,R7不焊接,R8焊接0欧姆的电阻。
二.设计中的不同点
1.工作电压不同:STM32的工作电压在2.0~ 3.6V或1.65~3.6V,GD32F的工作电压在 2.6~3.6V,工作范围相对要窄。
电压范围不同: GD32F: 2.6-3.6V STM32F: 2.0-3.6V(外部电压) GD32F: 1.2V(内核电压)STM32F: 1.8V(内核电压)
GD32的内核电压比STM32的内核电压要低,所以GD32的芯片在运行的时候运行功耗更低。
2.GD32F303/F103主频比STM32F103主频要高,GD32F10 系列主频: 108MHZ , STM32F10 系列主频 :72MHZ 。
3.启动时间:GD32 启动时间相同,由于 GD32 运行稍快,需要延长上电时间 ,配置(2ms) 。
4.GD32提高了相同工作频率下的代码执行速度,所以GD32的_NOP()时间比STM32更加短,所以不使用定时器做延时时要注意修改。
5.GD32的flash擦除时间要比STM32更长。
Flash 擦除时间: GD32 是 60ms/page,STM32 30ms/page
6.功耗上GD32的静态功耗要相对高一点
功耗区别(以128k以下容量的作为参考)
a: 睡眠模式 Sleep:GD32F: 12.4mA STM32F10X: 7.5mA
b:深度睡眠模式 Deep Sleep: GD32F: 1.4mA STM32F10X: 24uA
c:待机模式 Stand By: GD32F: 10.5uA STM32F10X: 3.4uA
d:运行功耗: GD32F: 32.4mA/72M STM32F10X: 52mA/72M
7.GD32的BOOT0必须接10K下拉或接GND,ST可悬空。
BOOT0 管脚: Flash 程序运行时,BOOT0 在 STM32 上可悬空,GD32 必须外部下拉(从 Flash 运行,BOOT0 必须下拉地)。
8.RC复位电路必须要有,否则MCU可能不能正常工作,STM32有时候可以不要。
9.GD32的SWD接口驱动能力比STM32弱,可以有如下几种方式解决:
a:线尽可能短一些;
b:降低SWD通讯速率;
c: SWDIO接10k上拉,SWCLK接10k下拉。
10.GD32对时序要求严格,配置外设需要先打开时钟,否则可能导致外设无法配置成功;STM32的可以先配置再开时钟。
11.修改外部晶振起振超时时间,不用外部晶振可跳过这步。
原因:GD32与STM32的启动时间存在差异,为了让GD32 MCU更准确复位(不修改可能无法复位)。
12.串口通信不同点: GD32在连续发送数据的时候每两个字节之间会有一个Bit的Idle,而STM32没有。
GD32的串口在发送的时候停止位只有1/2两种停止位模式。STM32有0.5/1/1.5/2四种停止位模式。
13.ADC不同点: GD32的输入阻抗和采样时间的设置和STM32有一定差异,相同配置GD32采样的输入阻抗相对来说要小。
14.FSMC不同点: STM32只有100Pin以上的大容量(256K及以上)才有FSMC,GD32所有的100Pin或100Pin以上的都有FSMC。
更多相关内容 -
GD32与STM32的区别.doc
2021-06-17 01:05:29GD32与STM32的区别 -
软件识别GD32和STM32.zip
2021-05-11 09:37:13通过软件识别GD32和STM32 -
使用GD32替换STM32
2022-02-22 10:14:09使用GD32替换STM32 -
GD32和STM32的区别.docx
2021-09-13 11:59:38GD32和STM32的区别.docx -
GD32替换STM32注意事项.pdf
2020-04-12 17:25:28GD32 介绍与 STM32 兼容性汇总。STM32的代码直接在GD32上运行需要小部分的修改。按教程做对应修改就行哈。 -
GD32和STM32的区别
2019-11-26 21:23:37所以GD32和STM32有很多地方都是一样的,不过GD32毕竟是不同的产品,不可能所有东西都沿用STM32,有些自主开发的东西还是有区别的。相同的地方我们就不说了,下面我给大家讲一下不同的地方。 二、区别 1、内核 GD32...一、前言
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。
好了,关于GD32和STM32的区别就讲到这里,后续我还会继续给大家讲我将STM32移植到GD32的过程和一些细节。如果还有什么问题或者文中有错误的地方,请一定要联系我,谢谢!
-
GD32F450和STM32F4xx兼容性说明.pdf
2020-07-15 10:50:162、GDF450和STF4xx是否硬件pin to pin? 3、GDF450和STF4xx是否软件兼容? 4、为什么GDF450要跟STF4xx兼容而不是和GDF10x、GDF20x兼容? 5、STF4xx不支持,GDF450支持的功能(推广亮点)。 6、STF4xx支持,GDF450不... -
【GD32】GD32和STM32的区别
2020-07-28 21:35:06版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接...所以GD32和STM32有很多地方都是一样的,不过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。
-
GD32F330替换STM32F301做逆变电源经验.pdf
2021-03-01 14:20:40STM32 三相逆变器 国产芯片 -
GD32 与 STM32 差异,以及解决方法.pdf
2021-04-08 08:57:49GD32 与 STM32 差异,以及解决方法 -
GD32仿照STM32的led,key,timer,delay模板.rar
2020-04-13 11:36:22GD32仿照STM32的led,key,timer,delay模板 -
GD32&STM32异同--2014
2014-12-02 17:52:38GD32 VS STM32差异资料:ADC差异,Flash差异,I2C差异,内核差异。 -
GD32F4xx与STM32F4差异文档.pdf
2019-05-08 23:18:04STM32F407与GD32F407软件差异说明,GD32技术支持提供。 -
从STM32F4xx系列移植到GD32F4xx系列移值的差异.pdf
2021-06-16 08:56:38ARM M4 STM32F407的国产化替代 发 V1.1 -
STM32移植到GD32的注意事项
2018-06-04 10:31:10GD32的性价比和稳定性都很高。我更喜欢用GD32.。但不是100%兼容的。需要注意一些细节。 -
从STM32F030移植到GD32E230.pdf
2021-03-23 17:35:58从STM32F030移植到GD32E230心得 -
从STM32F4xx系列移植到GD32F4xx系列_V1.1 - 副本.pdf
2020-06-22 09:21:28GD32F4xxGD32F4xx GD32F4xx系列 MCU 是基于 ARM® Cortex™ ARM® Cortex™ ARM® Cortex™ ARM® Cortex™ ARM® Cortex™ ARM® Cortex™ -M4 处理器的 处理器的 处理器的 32 位通用微控制器 位通用微控制器 位... -
GD32F103C8T6代替STM32F103C8T6操作记录-Chain.rar
2021-07-23 14:07:59本资源详尽讲述了使用GD32F103C8T6芯片替换STM32F103C8T6芯片的全部过程,并附有实操全过程及过程截图和必备软件。 -
从STM32F10x系列移植到GD32F10x系列.pdf
2021-07-16 16:43:25stm32f10x系列移植到gd32f10x系列 -
GD32替换STM32,有哪些区别?这些坑你别踩...
2022-03-26 00:58:10点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦,昨天ST又发涨价涵了,GD32作为一款替换STM32的国产芯片,和STM32有哪些区别,有哪些需要注意的地方呢?下面我们来看看吧。...点击上方“小麦大叔”,选择“置顶/星标公众号”
福利干货,第一时间送达
大家好,我是小麦,昨天ST又发涨价涵了,GD32作为一款替换STM32的国产芯片,和STM32有哪些区别,有哪些需要注意的地方呢?下面我们来看看吧。
一、前言
什么是GD32?
GD32是国内兆易创新公司开发的一款单片机。
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.6~3.6V,STM32外部供电范围是2~3.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。
转自公众号:技术让梦想更伟大
版权声明:本文来源网络,版权归原作者所有。版权问题,请联系删除。
—— The End ——
往期推荐
你点的每个好看,我都认真当成了喜欢
-
STM32学习之adc_stm32_gd32adc采集电压_adc_stm32adc端口_STM32ADC端口_
2021-10-04 02:53:18adc采集端口的电压,基础练习适合新手观看,各个文件单独分开易于移植 -
STM32F103与GD的异同.pdf
2019-08-27 16:48:54本文档对STM32与GD32的基本性能进行对比,得出的一些结论。 -
从STM32F10x系列移植到GD32F30x系列_V1.0
2020-12-02 16:55:04STM32F10x系列移植到GD32F30x系列中文手册,将原有的ST的10x的库替换成我们GD的库(可以从demo中找到),包括系统头文件、外设库文件以及启动文件等,当前给客户提供的库都是以stm32f0xx命名,这是我们在ST的10x和0... -
STM32F10x到GD32F1x0 软件移植说明.pdf
2020-01-22 22:07:11该文档详细总结了从STM32F10x 移植到 GD32F1x0程序代码,以及工程注意事项,图文并茂,非常详细,亲测文档方案可行 -
国民技术MCU G45x系列与 STM32、GD32硬件PintoPin兼容性列表.pdf
2021-08-29 14:21:27国民技术MCU G45x系列与 STM32、GD32硬件PintoPin兼容性列表 -
从STM32F4xx移植到GD32F4xx_V1.0.pdf
2021-11-15 16:02:00从STM32F4xx移植到GD32F4xx_V1.0 -
「必看干货」浅谈GD32与STM32之间的区别
2021-09-26 18:25:55比较GD32E230C8(M0),GD32F103C8(M3),GD32F303CG(M4),STM32F103C8(M3),STM32F303C8T6(M4)硬件管脚的区别。 从上图中可以看出: GD32E230C8(M0)与STM32G030C8(M0)管脚不兼容; GD32F103C8... -
STM32和GD32有什么区别?
2021-01-11 15:32:45所以GD32和STM32有很多地方都是一样的,不过GD32毕竟是不同的产品,不可能所有东西都沿用STM32,有些自主开发的东西还是有区别的。相同的地方我们就不说了,下面我给大家讲一下不同的地方。 二、区别 1、内核 GD32... -
stm32与GD32 CAN的差异
2022-03-07 14:41:22使用ST的CUBEMX生成STM32工程,后下载到GD32中遇到如下问题: CAN可以发送,无法进入接收中断。 CAN初始化代码如下: void CAN_User_Init(CAN_HandleTypeDef* hcan) //用户初始化函数 { CAN_FilterTypeDef ...