良许Linux教程网 干货合集 STM32、GD32、ESP32 的区别

STM32、GD32、ESP32 的区别

STM32是意法半导体在2007年6月11日发布的产品,它是一款32位单片机。

GD32是兆易创新在2013年发布的产品,在芯片开发、配置和命名上基本模仿了STM32,甚至GPIO和STM32是一致的,可以直接焊接使用。有时候,只需要重新编译不修改STM32的源代码,就可以将程序烧写到GD32上运行。当然,它们之间也存在很多不同之处,比如串口驱动、USB和库文件等。

ESP32是乐鑫公司在2017年开发的产品,与STM32和GD32不同,ESP32主要面向物联网领域,支持多种功能。然而,它的GPIO引脚较少,大部分GPIO具有多个复用功能。ESP32出厂时已经集成了蓝牙、WiFi等物联网必备功能,而且其开发板也很小巧,非常适用于物联网应用。

GD32与STM32的区别

GD32是国产单片机,据说其开发人员来自ST公司,GD32是基于STM32模板开发的。因此,GD32与STM32在许多方面都是相似的,但毕竟GD32是一个独立的产品,不可能完全沿用STM32的所有内容,它们之间还存在一些差异。以下是它们的不同之处:

1. 内核

GD32采用了第二代的M3内核,而STM32主要采用了第一代M3内核。下图是ARM公司M3内核的勘误表,GD32使用的内核只有一个错误编号为752419的BUG。

image-20240113194125044
image-20240113194125044

2、主频

使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M

使用HSI(高速内部时钟):GD32的主频最大108M,STM32的主频最大64M

主频大意味着单片机代码运行的速度会更快,项目中如果需要进行刷屏,开方运算,电机控制等操作,GD 是一个不错的选择。

3、供电

外部供电:GD32 外部供电范围是 2.6~3.6V,STM32 外部供电范围是2.0~ 3.6V或1.65~ 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

Flash 擦除时间:GD 擦除的时间要久一点,官方给出的数据是这样的:GD32F103/101 系列 Flash 128KB 及以下的型号, Page Erase 典型值 100ms, 实际测量 60ms 左右。对应的 ST 产品 Page Erase 典型值 20~40ms。

5、功耗

从下面的表可以看出 GD 的产品在相同主频情况下,GD 的运行功耗比 STM32小,但是在相同的设置下 GD 的停机模式、待机模式、睡眠模式比 STM32 还是要高的。

image-20240113194129626
image-20240113194129626

6、串口

GD 在连续发送数据的时候每两个字节之间会有一个 Bit 的 Idle,而 STM32 没有,如下图:

image-20240113194132502
image-20240113194132502

GD 的串口在发送的时候停止位只有 1/2 两种停止位模式。STM32 有 0.5/1/1.5/2 四种停止位模式。

GD 和 STM32 USART 的这两个差异对通信基本没有影响,只是 GD 的通信时间会加长一点。

7、ADC 差异

GD 的输入阻抗和采样时间的设置和 ST 有一定差异,相同配置 GD 采样的输入阻抗相对来说要小。具体情况见下表这是跑在 72M 的主频下,ADC 的采样时钟为 14M 的输入阻抗和采样周期的关系:

image-20240113194135019
image-20240113194135019

8、FSMC

STM32 只有 100Pin 以上的大容量(256K及以上)才有 FSMC,GD32 所有的 100Pin 或 100Pin 以上的都有 FSMC。

9、103 系列 RAM&FLASH 大小差别

GD103 系列和 ST103 系列的 ram 和 flash 对比如下图:

image-20240113194137340
image-20240113194137340

10、105&107系列STM32和GD的差别

GD的105/107的选择比ST的多很多,具体见下表:

image-20240113194140108
image-20240113194140108

11、抗干扰能力

GD 的抗干扰能力不如 STM32,还需要一定打磨。

ESP32 和 STM32

ESP32 是乐鑫公司推出的一款采用两个哈佛结构 Xtensa LX6 CPU 构成的拥有双核系统的芯片。所有的片上存储器、片外存储器以及外设都分布在两个 CPU 的数据总线和/或指令总线上。

相比于 STM32 的一个大家族,ESP32 虽然也代表一个系列,但目前来说,这个系列的成员还是比较少的,我们看下:

image-20240113194306957
image-20240113194306957

资源如下:

image-20240113194311488
image-20240113194311488
image-20240113194156689
image-20240113194156689
image-20240113194200138
image-20240113194200138

功能框图如下:

image-20240113194202985
image-20240113194202985

模块(非芯片)的引脚分布如下:

image-20240113194205807
image-20240113194205807

ESP32 这个模块的 IO 并不多,估计也就 30 个左右(芯片有34个,但是模块中外接 FLASH 用掉了一些)。但是你会发现它有几个特点:

1、集成了非常多的外设接口,SPI、IIC、IIS、AD、DA、PWM、IR、UART、CAN等等。IO 数量有限,所以基本上每个 IO 都有多个功能。

2、片内flash和ram很大,flash有448KB,ram有520KB。而模块上直接挂了一个4MB的flash。

3、速度快!虽然外接晶体的频率只有40MHZ,但通过内部主频可以支持80MHZ、160MHZ、240MHZ,运算能力高达600MIPS。

4、有wifi和蓝牙!当前两者不能同时使用。

STM32 和 ESP32 基本是有各自不同的定位。ESP32 偏向体积小巧、速度超快、功能强大,通过 wifi 接入网络,专门为物联网而生;而 STM32 偏向管脚丰富、功能全面,虽然没有 wifi 和蓝牙,速度也没有 ESP32 快,但是可以通过网口接入网络,可以控制更多的外设,为消费电子和工业控制而生。

总结

STM32 和 GD32 是同质化产品,区别一个是国外,一个是国产,最近流行国产化替代,所以 GD32 还是很有发展前景的。物联网也是一个好方向,因此 ESP32 也是很有前景的。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部