初识ESP32-S3芯片

0x00 ESP32-S3的背景

ESP32-S3 是乐鑫发布的一款集成 2.4 GHz Wi-Fi 和 Bluetooth 5 (LE) 的 MCU 系统级芯片(SoC),支持远距离模式 (Long Range)。ESP32-S3 搭载 Xtensa® 32 位 LX7 双核处理器,主频高达 240 MHz,内置 512 KB SRAM (TCM),具有 45 个可编程 GPIO 管脚和丰富的通信接口。ESP32-S3 支持更大容量的高速 Octal SPI flash 和片外 RAM,支持用户配置数据缓存与指令缓存。介绍了这么多参数,那我们来看一下这款芯片长什么样子吧:

初识ESP32-S3芯片 - 第1张
ESP32-S3芯片

对于这款芯片,大家可能对其搭载的Xtensa 32位LX7双核处理器有疑问,因为我们平时听说最多的嵌入式芯片大多是ARM内核的芯片。Xtensa是不同于Arm内核的芯片,Xtensa LX系列处理器具有很强的可重构性和可拓展性,是进行复杂密集型数字信号处理应用的理想之选。采用 Xtensa 的技术时,系统设计工程师可以挑选所需的单元架构,再加上自创的新指令与硬件执行单元,就可以设计出比其它传统方式强大数倍的处理器核心。Xtensa 生产器可以针对每一个处理器的特殊组合,自动有效地产生出一套包括操作系统,完善周全的软件工具。可以自由装组的 Xtensa 处理器,其设计方式弹性大,功效高,是所有高合成的单芯片系统的最佳选择。它采用硬件可重构加软件编程的方式,既提升了处理器的运算性能又通过软件便于实现控制。

初识ESP32-S3芯片 - 第2张
Xtensa LX7处理器架构框图

简单夸张点来说,这款芯片处理器的功能就有点像电影《流浪地球2》中550系列量子计算机的功能,可以根据应用场景需要需要实时生成定制的操作系统,然后覆写原系统进行替换,这是一种非常先进的技术,大大提高了计算机的性能和效率。

初识ESP32-S3芯片 - 第3张
550A模型

那这个Xtensa LX系列芯片架构是哪家公司设计的呢?很不幸,可能会让一些国人失望,它最开始是由美国的泰思立达公司(Tensilica)进行研发的,泰思立达公司成立与1997年7月份,Tensilica公司创立的目的则是提供一种可以实现可重构的、核基于ASIC的、拥有对应软件开发工具的专用微处理器解决方法。通过前期技术上的发展以及三轮融资,Xtensa处理器诞生了。

初识ESP32-S3芯片 - 第4张
Tensilica公司初期发展历程

但是Tensilica公司于2013年3月被美国Cadence公司以3.8亿美元的价格收购,为Cadence在当时最大的一次收购。Tensilica公司2012年销售额为4400万美元,收购价超过其营业额的八倍,这也充分显示了Tensilica公司的价值。

最后我们还需要简单来认识一下乐鑫这家公司,首先呢,乐鑫目前的研发中心就在上海的张江高科,很多国人都在纠结的一点是乐鑫芯片到底是不是我们国产的芯片。那按照我的理解呢,如果严格按照对公司的定义来说,乐鑫其实并不是一家中国公司,因为创始人&CEO是新加坡籍华人,本硕都是毕业于新加坡国立大学电子工程专业,也是一位地地道道的电子工程师。但是我们不要那么严格来定义这家公司,乐鑫是注册在上海张江,老板现在也住在上海浦东,员工大多数都是国人,当然也有国外分部。纳税也是在上海,培养的工程师都是国人,那还管那些严格的公司定义干嘛呢?

在知乎上其实也可以找到乐鑫CEO,可以看出来其实也是一位工程师出身,没有说过什么不靠谱的大话厥词,我认为他也是喜欢国内上海这边的研发氛围,总体来说乐鑫是一家踏踏实实做研发的公司,反正我是挺喜欢乐鑫这家公司的。

初识ESP32-S3芯片 - 第5张
TEO SWEE ANN先生知乎页面
初识ESP32-S3芯片 - 第6张
大家以后别纠结这些问题了,没什么意义

0x01 应用领域有哪些?

低功耗芯片ESP32-S3是专门为物联网(IOT)设备而设计的,应用范围非常广,不夸张的说,基本上我们现在市面上用的所有消费类电子产品基本上都可以用它。家里旧版空调不能联网,以后更新换代时用它,就可以让你的空调联网,进行远程控制。电饭锅不能联网,以后加上它,电饭锅就能远程控制。要具体举例说的话,那就太多了,如果归类一下的话,应用领域就包括:

初识ESP32-S3芯片 - 第7张
ESP32-S3应用领域

按照我的理解的话,它就是stm32芯片的升级版本,当然现在从一些芯片性能、散热、功耗、稳定性上可能还没办法跟stm32正面硬刚,但是我认为ESP32系列的芯片,从战略上已经先人一步,走在了stm32前面。不是说stm32芯片做不了ESP32芯片的事,但是用起来就没有ESP32那么方便,因为ESP32芯片在设计时就加了WIFI、BT功能。因为现在新电子类产品,如果你都不能联网或没有蓝牙,那就会被认为跟不上这个时代的步伐。

乐鑫出的这款SoC就与时俱进,把现在大家电子产品中都常用的WIFI和Bluetooth也都给加到SoC上,我们可以通过芯片的功能框图来做对比就可以知道了(ESP32-S3和STM32F103XX):

初识ESP32-S3芯片 - 第8张
ESP32-S3功能框图
初识ESP32-S3芯片 - 第9张
STM32F103XX芯片内部资源框图

0x02 使用SoC制作单片机板

我们仅有这么一颗SoC芯片还是不能直接做成产品的,还是需要将其封装起来,加一些外围电路、加上通信用的IO口才能跟外部设备进行通信。例如我们想制作一个人脸识别的门禁设备,那么就需要加上一个摄像头排线接口才能外接摄像头进行图像获取和处理,加上天线电路才能连接到WIFI或蓝牙设备,加上SPI flash才能储存大容量数据。所以说还是有很多工作要做才能使这颗SoC芯片正常工作,官方给出一个ESP32-S3芯片的核心电路原理图可以参考,核心电路需要 20 个左右的电阻电容电感、1 个无源晶振及 1 个 SPI flash:

初识ESP32-S3芯片 - 第10张
ESP32-S3系列芯片参考设计原理图

如果你要是感觉自己设计这些电路有点麻烦,也可以选择设计封装好的ESP32-S3模组。模组就是把芯片的这些工作外围电路都给你搭建好,做成一个小板子,板边设计有邮票孔,我们可以很方便的将这个小板子焊接到我们的电路板上,这样我们只需要设计非常少的外围电路就可以,基本上只要是供上电就可以啦,大大减轻了我们的开发周期,那是相当的方便,但是缺点也有,就是成本会稍微高一点。当然其实也可以自己开发模组,因为电路原理图都给你了,我们只需要按照人家官方给的原理图,自己画PCB layout一下就可以了,乐鑫官方发布的模组如下图所示:

初识ESP32-S3芯片 - 第11张
ESP32-S3-WROOM-1模组(自带天线)
初识ESP32-S3芯片 - 第12张
ESP32-S3-WROOM-1U模组(需要外接天线)

对于乐鑫发布的模组会有不同的型号,其实核心芯片都是一样的都是ESP32-S3,不同型号不同之处在于片外Flash和PSRAM大小,官方发布的配置最高的型号是ESP32-S3-WROOM-1-N16R8,它有16MB的Flash和8MB的PSRAM,我认为这个配置已经足够我们做开发用了:

初识ESP32-S3芯片 - 第13张
ESP32-S3-WROOM-1U型号列表与此相同

我们利用这些封装好的模组来设计有具体功能的单片机板就可以了,如果要想做一款通用功能的开发板,那常用的做法就是把模组的IO全部引出来,让用户根据需要自己外接设备就可以了,那我自己设计的一款通用功能的ESP32-S3迷你开发板,如下图所示:

0x03 设计扩展板

不是所有的开发板都需要设计扩展板,你只需要在设计开发板的时候直接将对应的外部接口设计好就可以了。但是这样就会造成一个问题,如果我们需要做其他产品的话,那整个开发板又需要重新设计,这样做就会造成一些时间和硬件成本上的浪费。我的想法是我们的核心开发板不变,我们可以根据产品需要设计一些有对应接口的扩展板,这样我们在开发时间上就会快很多,因为设计外部接口板是很容易的。还有一个原因是如果我们核心板上的某些功能失效,没法修理,我们只需要更好核心板就行,我们与外部设备连接的扩展板都不用做任何变动。

这里为了方便我们进行学习ESP32-S3的开发,我们会用到不同的功能,不可能把这些所有的功能都放在一款开发板上,这样会造成成本太高。如果我们根据不同的学习需要,我们选择对应成本较低的只有特定功能的扩展板,那就会方便很多。这里方便我们入门学习,我先设计了一款连接各种传感器的扩展板,如下图所示:

初识ESP32-S3芯片 - 第28张

有了这款简单易用的扩展板,我们就可以方便的外接一些传感器。当然后面我会一边开发一些新的扩展板,一边来发布教程,这样方便我们来学习ESP32-S3的开发。我认为刚入门学习,拿这一款扩展板就很方便。

0x04 参考资料

[0].乐鑫信息科技(上海)股份有限公司官网. https://www.espressif.com.cn/zh-hans

[1].Cadence官网Xtensa LX 处理器平台介绍. https://www.cadence.com/zh_CN/home/tools/ip/tensilica-ip/tensilica-xtensa-controllers-and-extensible-processors/xtensa-lx-processor-platform.html

[2].XTENSA处理器介绍. https://blog.csdn.net/whatday/article/details/87268727

[3].ESP32-S3系列芯片技术规格书. https://www.espressif.com/documentation/esp32-s3_datasheet_cn.pdf

[4].ESP32-S3系列硬件设计指南. https://espressif.com/documentation/esp32-s3_hardware_design_guidelines_cn.pdf

[5].ESP32-S3-WROOM-1/1U模组技术规格书. https://www.espressif.com/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_cn.pdf

[6]. ESP32-S3技术参考手册. https://www.espressif.com/documentation/esp32-s3_technical_reference_manual_cn.pdf

本文原创,作者:corvin_zhang,其版权均为ROS小课堂所有。
如需转载,请注明出处:https://www.corvin.cn/3161.html