stm32系列简介与stm32 esp32性能比较

发布者:Leishan最新更新时间:2024-07-18 来源: elecfans关键字:stm32系列  esp32  性能比较 手机看文章 扫描二维码
随时随地手机看文章

STM32应该是比较熟悉的一个系列的单片机,而ESP32相对陌生一些。但是从名字看,两者应该都是32位单片机。那么两者之间到底有什么关联,或者性能哪个好一些,哪个差一些呢?


STM32系列

意法半导体 (STMicroelectronics) 集团于1987年6月成立,是由意大利的SGS 微电子公司和法国Thomson 半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司,意法半导体是世界最大的半导体公司之一。

STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核(ST‘s product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex®-M0 and M0+, Cortex®-M3, Cortex®-M4 Flash microcontrollers with a great choice of peripherals. ST has also extended this range to include an ultra-low-power MCU platform) 。

按内核架构分为不同产品:主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)

今天,做为爱思考的单片机爱好者,简单的分析一下。

首先说STM32,这个大家应该是比较熟悉了。意法半导体在2007年6月11日发布了全球首款STM32产品,也就是F1系列,基于ARM-CORTEX内核。在其后的几年,陆陆续续发布了不同定位、不同方向的多款产品。有面向低功耗的L系列,有高性能的F2和F4系列,有低价的F0系列,有高速的F7系列等等。我们可以通过下面的这个图,有一个大致的了解:


所以,你会发现,STM32不是一个具体的单片机型号,而是一个或者多个系列的,基于ARM内核的单片机家族的统称。

那么,ESP32是什么?

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

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

那么,两者之间该如何对比?先看ESP32的硬件,我直接放官方数据手册里的配置:

功能框图如下:

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

你会发现,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对比?或者说,我们用STM32的哪一款来和ESP32进行对比呢?

这里,我关注的因素是价格!也就是说,选择和ESP32模块价格接近的STM32芯片来对比!

为什么选ESP32模块而不是芯片?因为国内的厂家安信可对乐鑫公司的芯片做了一个比较成熟的模块封装,而国内工程师更熟悉的都是模块。

ESP32-S的模块在安信可淘宝店的售价是18.9元(注意,模块形式的ESP32有一片外挂的FLASH,大小是4MB),如下:


所以,这里我们找一个STM32系列里,价格在20元左右的芯片。这里,我选了STM32F407VET6,关于该芯片的配置,我直接放个图,大家体验一下(ps:这是一个100管脚的芯片)。

对比这两者,你会发现STM32F407有以下几个特点:

1、GPIO非常多,82个,UART、IIC、SPI、PWM、AD、DA等功能也很多,但不会出现ESP32那种GPIO不够用的情况。

2、主频168MHZ,比ESP32的240HMZ低了一些。运算能力210DMIPS,也低了一些。

3、flash和ram都相对小一些。

4、有线网口,不能无线上网。

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

所以,两者的定位并不相同,做为工程师的你,一定要根据自己的项目需求来进行芯片的选型。

ESP32对比ESP8266

在你的项目中使用ESP32或ESP8266吗?ESP32和ESP8266有什么区别?在本文中,我们将通过比较ESP32和ESP8266来回答这些问题,并涵盖每个板的优缺点。

ESP32和ESP8266是性价比非常高的Wi-Fi模块,非常适合物联网(IoT)领域的DIY项目。

两款芯片都属于32位处理器。ESP32是双核160MHz至240MHz CPU,而ESP8266是单核处理器,运行频率为80MHz。

这些WiFi模块都带有GPIO,支持SPI,I2C,UART等各种协议。最好的部分是它们带有无线网络,这使得它们与Arduino等其他微控制器区别开来。这意味着你可以通过Wi-Fi或蓝牙(ESP32)以极低的价格轻松地远程控制和监控设备。

规格:ESP32 vs ESP8266

该ESP32是ESP8266继任者。它增加了额外的CPU内核,更快的Wi-Fi,更多的GPIO,并支持蓝牙4.2和蓝牙低功耗。此外,ESP32配有触摸感应针脚,可用于唤醒ESP32深度睡眠,内置霍尔效应传感器和内置温度传感器。

两块板都非常便宜,但ESP32的成本略高。虽然ESP32的售价大约在6美元到12美元之间,但ESP8266的售价却在4美元到6美元之间(但这取决于你获得它们的位置)。

ESP32上有更多GPIO

该ESP32有更多的GPIO比ESP8266,你可以决定哪些引脚UART,I2C,SPI -你只需要设置的代码。这是可能的,因为ESP32芯片的多路复用功能允许你为同一个引脚分配多个功能。

如果你没有在代码上设置它们,它们将位于默认定义的引脚上,如下图所示(这是ESP32 DEVKIT V1 DOIT板的示例 - 引脚位置可能因制造商而异)。


PWM,ADC等

你可以在任何GPIO中设置PWM信号,并在代码上设置可配置的频率和占空比。

对于模拟引脚,这些是静态的,但ESP32支持18个通道(模拟使能引脚)上的测量,而ESP8266只有一个10位ADC引脚。ESP32还支持两个8位DAC通道。

此外,ESP32包含10个电容感应GPIO,可检测触摸并可用于触发事件,或唤醒ESP32深度睡眠。

Arduino IDE - ESP32 vs ESP8266

ESP32和ESP8266板的编程方法有很多种。目前,可以使用Arduino IDE编程环境对两个板进行编程。

这是一件好事,特别适合那些习惯Arduino编程并熟悉Arduino编程语言的人。

使用Arduino IDE开始使用ESP32或ESP8266并让你的第一个项目运行非常简单。网上有非常多的指南操作:比如在Arduino IDE中安装ESP32板(Windows说明);在Arduino IDE中安装ESP32板(Mac和Linux说明书);如何在Arduino IDE中安装ESP8266板等。

虽然你可以使用Arduino IDE对两个板进行编程,但它们可能与相同的库和命令不兼容。有些库只与其中一个板兼容。这意味着大多数时候你的ESP8266代码与ESP32不兼容。但是,通常你只需要进行一些修改。

MicroPython Firwmare - ESP32 vs ESP8266

另一种对ESP32和ESP8266板进行编程的流行方法是使用MicroPython固件。

MicroPython是针对微控制器和嵌入式系统的Python 3的重新实现。MicroPython与常规Python非常相似。因此,如果你已经知道如何使用Python编程,那么你也知道如何在MicroPython中编程。

在MicroPython中,大多数Python脚本都与两个板兼容(与使用Arduino IDE时不同)。这意味着大多数时候你可以为ESP32和ESP8266使用相同的脚本。

所以,此时你应该问: 我应该买ESP8266还是ESP32?

这真的取决于你想做什么。两块板都有使用的价值,两者都有利有弊。

ESP8266比ESP32便宜。虽然它没有那么多的功能,但对大多数简单的DIY物联网项目来说效果都不错。此外,由于它“较旧”,因此在软件方面受到更多支持,你可能会更容易找到帮助。但是,它在GPIO映射方面有一些限制,它可能没有足够的引脚用于你打算执行的操作。如果是这种情况,你应该使用ESP32。

ESP32比ESP8266 功能更强大,包含更多具有多种功能的GPIO,更快的Wi-Fi,并且还支持蓝牙。很多人认为ESP32比ESP8266更难处理,因为它更复杂。在我们看来,ESP32编程与ESP8266一样容易,特别是如果你打算用Arduino语言或MicroPython编程它。

另一方面,ESP32也有一些缺点。首先,它比ESP8266贵。因此,如果你正在制作一个简单的物联网项目,那么ESP8266可能会以更低的价格成功。此外,由于它比ESP8266更新,并非所有软件都是为了充分利用ESP32功能而开发的,因此支持更少,错误更多。但从长远来看,这些问题将得到解决,两个开发板都将有各自应用的空间。


关键字:stm32系列  esp32  性能比较 引用地址:stm32系列简介与stm32 esp32性能比较

上一篇:CubeMX配置stm32的DAC
下一篇:STM32系列DAC的介绍与使用

推荐阅读最新更新时间:2024-11-12 23:45

STM32 基础系列教程 1- CubeMX+GPIO
前言 学习stm32 GPIO 的使用,设置某一GPIO引脚为输出功能,将对应引脚拉高或拉低输出,同时学会初步认识STM32最新的HAL库的使用, 用代码实现控制GPIO引脚输出产生周期出1s 占空比为50%的PWM波。 示例详解 基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。 本示例所用的最小系统板原理图: 新建STM32 CUBEMX 工程, 双击桌面STM32CubeMX工具 在CubeMX中菜单中点 File à New Project … 在新弹出的界面
[单片机]
<font color='red'>STM32</font> 基础<font color='red'>系列</font>教程 1- CubeMX+GPIO
STM32 Cotex-M3处理器系列编程】按键灯亮
//分别按下S1~S4,D1~D4分别点亮 #include stm32f10x.h void Delay(unsigned int x); int main(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE,ENABLE);//IO口使能设置 GPIO_InitTypeDef GPIO_InitStructure; //定义结构体 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; //LED管脚
[单片机]
STM32入门系列-库帮助文档使用
在前面文件夹介绍时,提到了stm32f10x_stdperiph_lib_um.chm文件,此文件是库函数使用帮助文档,可以直接打开如下图。 因为STM32库函数非常多,我们不可能把所有的外设函数都记住,那么这个帮助文档就是学习STM32库函数时所必备的, 所以要学会如何在这个帮助文档内查找函数。使用的库函数全部都在如下图所示列表里。 要查找哪个外设的库函数,只需要找到对应的外设名称即可。比如要查找对GPIO外设操作的库函数,我们可以在这个列表下往下拉找到GPIO栏,其中Functions列表下就是GPIO所有操作的库函数。 假如要查找GPIO_Init函数的功能说明及使用方法, 可以在下拉列表中点击这个函
[单片机]
Cortex-M3与ARM7TDMI-S内核运算性能比较
自从STM32推出后,我对它很感兴趣,由于它采用了ARM的Cortex-M3内核,所以很想了解一下其性能和ARM7相比究竟如何?很巧的机会知道了EDNCHINA,参加了EDN这次的团购活动,我得到了一块STM32开发板,使得我有机会测试一下这2种内核CPU的性能。 在测试之前先简单测试的2个平台,编译环境和测试方法。 Cortex-M3:ARM公司为要求高性能(1.25 Dhrystone MIPS/MHz)、低成本、低功耗的嵌入式应用专门设计的内核。Cortex-M3内核主打存储器和处理器的尺寸对产品成本影响极大的各种应用市场,是针对这些市场的低成本需求,专门开发设计的微处理器内核。Cortex-M3内核增强了芯片上集成
[单片机]
Cortex-M3与ARM7TDMI-S内核运算<font color='red'>性能</font><font color='red'>比较</font>
一文解析STM32、GD32、ESP32差异
前言 STM32:意法半导体在 2007 年 6 月 11 日发布的产品,32位单片机。 GD32:兆易创新 2013 年发布的产品,在芯片开发、配置、命名上基本模仿 STM32,甚至 GPIO 和 STM32 都是 pin to pin 的,封装不改焊上去直接用。有时候 STM32 的源码不修改,重新编译烧写到 GD32 上就可以跑。当然也有很多不同,比如串口驱动、USB 、库文件等。 ESP32:乐鑫公司 2017 年开发的产品,和 STM32、GD32 不同,ESP32 主要面向物联网领域,支持功能很多,但引出 GPIO pin 脚很少,因此大多数 GPIO 都有很多复用功能。出厂就集成蓝牙、WiFi 等物联网必备功能
[单片机]
一文解析<font color='red'>STM32</font>、GD32、<font color='red'>ESP32</font>差异
意法半导体STM32 F4系列中最小的微控制器产品已投入量产
意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)宣布旗下STM32F4系列的STM32F410基本型微控制器已投入量产,配备新的开发板NUCLEO-F410RB,实现尺寸更小、功耗及成本更低的高性能STM32 F4系列入门级产品。 STM32F410搭载ARM Cortex -M4F处理器内核,在100MHz时,运算速度可达125 DMIPS,并在EEMBC CoreMark 测试中取得339分的优异成绩。具有功耗敏感(Power-conscious)的STM32 Dynamic Efficiency 特性,例如意法半导体的ART Accelerator 和电压调节,可将动态功
[单片机]
STM32与LPC系列ARM资源比较
由于有周立公开发板的影响,LPC系列的开发板在工程师心目中一般是入门的最好型号之一。这次刚好有STM32的竞赛,正好将两者的资源进行比较一下(LPC系列以LPC213X为例)。 LPC213X包括LPC2131、2132、2138等, 是基于一个支持实时仿真和跟踪的16/32 位ARM7TDMI-STM CPU,并带有32kB、64kB 和512kB 嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16 位Thumb 模式将代码规模降低超过30%,而性能的损失却很小。 而 STM32 则大致分为两类,一种是基本型,一种是增强型。这同51内
[单片机]
乐鑫ESP32开发板正式通过Amazon FreeRTOS的验证
AWS(Amazon Web Service - 亚马逊公司旗下云计算服务平台)宣布乐鑫 Espressif 的两款开发板 ESP32-DevKitC 和 ESP-WROVER-KIT 正式通过 Amazon FreeRTOS 的验证。 这样,您就可以安全且简单地将您的 ESP32 开发板联入到 AWS 的云服务了。 例如 AWS IoT Core,或者使用 AWS Greengrass 的边缘设备。以下是一个如何将 ESP32 开发板联入到 AWS 的例子。 为何选择 ESP32 乐鑫与 AWS 的技术合作可以追溯到 2016年的12月,乐鑫受邀参加 AWS re:Invent 2016 大会,并宣布乐鑫
[半导体设计/制造]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved