浅谈GD32与STM32之间的区别
一.硬件设计
以我们常用的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之间的区别相关推荐
- 浅谈HashTable, HashMap, ConcurrentHashMap 之间的区别
大家好,今天为大家带来新的知识, HashTable, HashMap, ConcurrentHashMap 之间的区别 ...
- 什么是proxy服务器代理?怎么设置代理服务器?浅谈服务器代理与VPN的区别
服务器 服务器是计算机的一种,它比普通计算机运行更快.负载更高.价格更贵.服务器在网络中为其它客户机(如PC机.智能手机.ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务.服务器具有高速的C ...
- mybatis与php,浅谈mybatis中的#和$的区别
浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...
- 浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解
浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解 本篇文章小编为大家介绍,Android onTouchEvent 与 onInterceptTo ...
- c语言小数转化为十进制小数,浅谈十进制小数和二进制小数之间的转换
一.二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和.这种做法称为"按权相加"法. 二.十进制数转换为二进制 ...
- 浅谈机器学习-回归与分类的区别
前言 机器学习的主要任务便是聚焦于两个问题:分类和回归.本文将浅谈下两者的区别. 区别 回归会给出一个具体的结果,例如房价的数据,根据位置.周边.配套等等这些维度,给出一个房价的预测. ...
- 浅谈云计算与超融合的区别和联系
在项目设计阶段遇到了云计算和超融合的实际运用的问题,虽然自己本身不负责设计,但是对于云计算与超融合的区别也不了解,故查了一些资料,由此谈一下自己的理解,内容干干巴巴不瞎扯,不当之处欢迎交流指正. 在谈 ...
- 浅谈模拟光端机和数字光端机的区别?
光纤和光端机应用在监控领域里主要是为了解决两个问题:一是传输距离,一是环境干扰.双绞线和同轴电缆只能解决短距离.小范围内的监控图象传输问题,如果需要传输数公里甚至上百公里距离的图象信号则需要采用光纤传 ...
- 浅谈Opencl之OpenCL_flush 和 finish区别
Opencl中clfinish和clflush主要用于命令之间的同步,两者之间还是存在区别. clfinish()函数是一直堵塞直到命令队列中的所有命令执行完毕,保证在hos执行下一步之前,命令队列中 ...
最新文章
- 有关FPGA比较好的文章收藏(备忘)
- 计算机网络实验五:虚拟局域网技术
- VTK:vtkCellArray用法实战
- 实时数据处理插件开发flume+kafka+storm:flume
- 查询计算机专业及选修了英语的学生,实验五 数据库综合查询(学生)
- python 生成xml文件
- set和muliset
- python控制台输入代码_Python实现控制台输入密码的方法
- 构建项目AppFuse+QuickStart
- 如何更好对数据做分析
- 《C专家编程》:编译器的金科玉律(一)
- 程序员因接外包坐牢 456 天!两万字揭露心酸经历
- verilog 状态机 三角波 发生器
- 记ubuntu20.04无线网卡驱动安装
- 百度网盘外链采集分析 爬取百度网盘用户分享 自建百度网盘文件链接搜索引擎
- Visual Studio无法下载及安装
- MySQL 5.6.22绿色版安装
- IPVS -三种IP负载均衡技术与八种调度算法
- 电脑公司特别版8.5操作系统出来了;下载地址
- Rasa学习笔记1-rasa响应消息的步骤和名词解释