ESP32——【基础知识】

一、ESP32-S3

1、比较一下ESP32-S3的优势

1,在内核数量方面:S 系列的ESP32 系列支持单核和双核处理器,而 C 系列和 H 系列仅
支持单核处理器。这意味着 S 系列和 ESP32 系列在处理多任务和高强度计算方面具有更强的性
能。对于需要高效能、多任务处理的应用场景,如复杂算法处理、大数据分析等,S 系列和 ES
P32 系列可能更合适。
2,在时钟频率方面,S 系列和 ESP32 系列的时钟频率范围为 80~240MHz,而 C 系列和 H
系列的时钟频率分别为 120MHz 96MHz较高的时钟频率意味着更快的处理速度和更高的性
。对于需要高速处理的应用场景,如实时信号处理、高速数据采集等,S 系列和 ESP32 系列
可能更合适。
3,在引出编程 IO 方面,S 系列和 ESP32 系列的引出编程 IO 数量较多,而 C 系列和 H
列的引出编程 IO 数量较少。这表明 S 系列和 ESP32 系列在编程接口的多样性和灵活性方面具
有优势。对于需要连接多种外设和传感器的应用场景,S 系列和 ESP32 系列可能更合适。
4,在神经网络加速方面,只有 S 系列支持神经网络加速功能。这意味着选择 S 系列可以
更好地满足深度学习、图像识别等应用场景的需求。对于需要加速神经网络运算的应用场景,
如智能家居控制、智能安防等,S 系列可能更合适。
5,在通信协议方面,所有系列都支持 2.4G Wi-Fi 和蓝牙(BLE),这意味着它们在无线通
信方面具有良好的兼容性。
6,在存储器方面,各系列 MCU SRAM ROM 大小有所不同。较大的存储器可以提供
更多的程序运行空间和数据存储空间,以满足更复杂的应用需求。对于需要处理大量数据和运
行复杂程序的应用场景,如物联网网关、智能仪表等,S 系列和 ESP32 系列可能更合适。
综上所述,乐鑫推出的各系列 MCU 在硬件方面各有特点,选择哪个系列取决于具体的应
用场景和需求。对于需要高性能、多核处理和神经网络加速的应用场景,S 系列可能是更好的
选择;而对于简单的物联网应用场景,C 系列或 H 系列可能更合适。

2、ESP32-S3资源简介

选用模组如下:ESP32-s3-wroom-1-n16r8

命名规则如下:

ESP32-S3主要特性如下:

ESP32-S3 架构概述

  • CPU 架构:采用 哈佛结构 的 Xtensa® LX7 CPU,构成双核系统,支持指令和数据的并行处理。
  • 总线结构:内部存储器、外部存储器及外设均分布在 CPU 总线上,实现高效数据交互。
  • 主要特性整理

    1. 地址空间

    ESP32-S3 拥有独立的地址空间,支持芯片各模块的高效运行:

  • 内部存储器
    • 数据地址空间
    •  指令地址空间
  • 外设地址空间:用于连接各类外设模块。
  • 外部存储器
    • 指令虚地址空间
    • 数据虚地址空间
  • DMA 地址空间
    • 内部 DMA 地址空间
    • 外部 DMA 地址空间
2. 内部存储器

3. 外部存储器
  • 片外 FLASH:最大支持 1 GB,用于存储大量程序代码和非易失性数据。
  • 片外 RAM:最大支持 1 GB,扩展动态数据存储能力,满足复杂应用需求。
4. 外设空间
  • 模块数量:总计 45 个模块 / 外设,包括 GPIO、UART、SPI、I²C、ADC、DAC 等。
  • 功能:提供丰富的输入输出接口和特殊功能(如蓝牙、Wi-Fi 等),支持多样化应用场景。
5. GDMA(通用 DMA)
  • 支持模块:11 个模块 / 外设具备 GDMA 功能(如 I²S、SPI、ADC 等)。
  • 作用:实现数据块的直接存储器传输,减轻 CPU 负载,提升系统整体性能。

3、GPIO管教配置

1.物理管脚总数
芯片原生具备 45 个物理通用输入输出管脚(GPIO Pin),编号为 0~21、26~48(注意跳过了 22~25,通常这些编号可能用于内部特殊功能或未引出)。
  • 特点:每个管脚可作为通用输入 / 输出(GPIO),也可通过 GPIO 交换矩阵IO MUX(复用选择器)和 RTC IO MUX 连接到内部外设(如 UART、SPI、I²C 等),实现灵活的管脚复用。
2.管脚复用机制
通过 IO MUX 和 GPIO 交换矩阵,外设的输入 / 输出信号可映射到任意 GPIO 管脚,例如
  • 串口(UART)的发送信号(TX)可配置到 GPIO5,也可重新映射到 GPIO10。
  • 这种设计提高了硬件灵活性,但需注意同一管脚在同一时刻只能用于一种功能(GPIO 或外设)。
3.正点原子模组(ESP32-S3-WROOM-1-N16R8)的 GPIO 数量差异
1. 原生 45 个 GPIO 为何模组仅提供 36 个?
核心原因:模组的硬件设计占用了部分 GPIO 管脚用于外部存储器(Flash/PSRAM)通信,导致无法作为通用 GPIO 使用。具体分析:
  • Octal SPI 模式占用管脚
    该模组的 片外 Flash 和 PSRAM(如有)使用 八线 SPI(Octal SPI)模式通信。Octal SPI 需要更多的信号线(相比普通 SPI 的 4 线),通常包括:

    • 1 个 时钟线(SCK)
    • 1 个 片选线(CS)
    • 8 个 数据线(D0~D7)
    • 总计占用 10~12 个 GPIO 管脚(不同设计可能略有差异,原文提到占用 12 个)。
    • 影响:这些被占用的管脚在模组中固定用于 Flash/PSRAM 通信,无法再作为通用 GPIO 使用。
  • 模组额外引出的管脚
    原文提到模组 “将 IO35、IO36、IO37 引出”,即这 3 个管脚原本可能因内部设计未默认引出,但模组中特意保留为可用 GPIO。

2. 数量计算逻辑

模组可用 GPIO 数=芯片原生 GPIO 总数−Octal SPI 占用数+额外引出数
代入原文数据:45−12+3=36 个

4、关键概念补充

  1. Octal SPI 模式

    • 一种高速 SPI 通信协议,支持 8 位数据并行传输,比普通 SPI(4 线)快一倍,常用于需要高频访问外部存储器的场景(如运行大型程序或存储大量数据)。
    • 代价:占用更多 GPIO 管脚,牺牲部分通用 IO 资源。
  2. RTC IO MUX

    • 用于 RTC(实时时钟)域的管脚复用,即使芯片进入低功耗睡眠模式,RTC 域的管脚仍可保持工作(如唤醒信号输入)。
### 实现ESP32上的神经网络推理 要在ESP32上实现神经网络推理,可以采用多种框架或库。以下是几种常用的解决方案及其特点: #### TensorFlow Lite for Microcontrollers (TFLM) TensorFlow Lite for Microcontrollers 是专门为资源受限设备设计的轻量级机器学习框架。它允许开发者将经过训练的模型部署到微控制器上运行。对于ESP32来说,该框架提供了良好的支持。 - **优点**: 支持广泛的模型转换工具链,能够处理常见的深度学习架构[^3]。 - **缺点**: 需要对内存管理进行额外配置,例如静态分配策略可能需要调整兼容性头文件设置。 代码示例展示如何加载并执行一个简单的模型: ```cpp #include "tensorflow/lite/micro/all_ops_resolver.h" #include "tensorflow/lite/micro/micro_interpreter.h" // 定义全局变量用于存储上下文信息 tflite::AllOpsResolver resolver; static tflite::MicroInterpreter interpreter( model, resolver, tensor_arena, kTensorArenaSize); TfLiteStatus allocate_status = interpreter.AllocateTensors(); if (allocate_status != kTfLiteOk){ // 错误处理逻辑 } interpreter.Invoke(); // 调用模型推断函数 ``` #### ESP-DL 库 由Espressif官方推出的ESP-DL库专为ESP系列芯片定制开发,特别适合于像人体动作识别这样的应用场景[^2]。此方案简化了从传感器采集数据直至完成预测整个流程的操作复杂度。 - **优势**: 更贴近硬件特性优化;提供易于使用的API接口便于快速原型验证[^2]。 - **局限性**: 可能缺乏某些高级功能或者特定类型的层支持相比其他通用型框架而言[^2]。 实际应用片段如下所示: ```c++ ACTIVITY model; dl::tool::Latency latency; latency.start(); model.forward(input); latency.end(); latency.print("\nActivity model", "forward"); ``` #### Seeed Studio EdgeLab 这是一个面向边缘计算领域内的开源项目集合体,其中包含了针对不同平台适配后的预训练模型以及相应SDK文档说明等内容[^4]。借助该项目成果可以帮助加速产品落地过程同时降低技术门槛。 - **特色亮点**: 不仅限于理论探讨还注重实践操作指南分享给社区成员共同进步成长[^4]。 综上所述,基于具体需求可以选择最适合自己的那款工具集来进行下一步工作规划安排考虑因素包括但不限于性能指标要求、易用程度评估等方面综合权衡决定最终选型方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值