一、esp端
ESP32 由 Espressif Systems 打造,是一款低成本、低功耗的系统 具有Wi-Fi和双模蓝牙功能的片上(SoC)系列!ESP32 系列包括芯片 ESP32-D0WDQ6(和 ESP32-D0WD), ESP32-D2WD 电子版, ESP32-S0WD系列, 以及系统级封装 (SiP) ESP32-PICO-D4。 它的核心是双核或单核 Tensilica Xtensa LX6 微处理器,时钟频率高达 240 MHz。 ESP32 高度集成内置天线开关、射频巴伦、 功率放大器、低噪声接收放大器、滤波器和电源 管理模块。专为移动设备、可穿戴电子产品、 和物联网应用,ESP32 通过以下方式实现超低功耗 省电功能,包括高分辨率时钟门控、多个时钟门控 电源模式和动态电源缩放。
模块有如下:
- 处理器:
- 主处理器:Tensilica Xtensa 32 位 LX6 微处理器
- 核心:2 或 1(取决于变化) ESP32 系列的所有芯片均为双核 除了ESP32-S0WD是单核的。
- 时钟频率:高达 240 MHz
- 性能:高达 600 DMIPS
- 超低功耗协处理器:允许您进行ADC转换、计算和电平 深度睡眠时的阈值。
- 主处理器:Tensilica Xtensa 32 位 LX6 微处理器
- 无线连接:
- Wi-Fi:802.11 b/g/n/e/i(802.11n @ 2.4 GHz,高达 150 Mbit/s)
- 蓝牙:v4.2 BR/EDR 和低功耗蓝牙 (BLE)
- 记忆:
- 内部存储器:
- ROM值: 448 KiB 用于启动和核心功能。
- SRAM:520 KiB 用于数据和说明。
- RTC快速SRAM:8 KiB 用于从深度睡眠模式启动 RTC 期间的数据存储和主 CPU。
- RTC 慢速 SRAM:8 KiB 用于在深度睡眠模式下进行协处理器访问。
- 电子保险丝:1 Kibit 其中 256 位用于系统 (MAC地址和芯片配置)和其余部分 768 位保留用于客户应用程序,包括 闪存加密和芯片 ID。
- 嵌入式闪存:
闪存通过 ESP32-D2WD 和 ESP32-PICO-D4 上的 IO16、IO17、SD_CMD、SD_CLK、SD_DATA_0 和 SD_DATA_1 进行内部连接。
- 0 MiB(ESP32-D0WDQ6、ESP32-D0WD 和 ESP32-S0WD 芯片)
- 2 MiB (ESP32-D2WD 芯片)
- 4 MiB(ESP32-PICO-D4 SiP 模组)
- 外部闪存和SRAM:ESP32 支持多达 4 个 16 MiB 外接 QSPI 闪存和 具有基于AES的硬件加密的SRAM来保护 开发人员的程序和数据。ESP32 可以访问 通过高速缓存实现外部QSPI闪存和SRAM。
- 高达 16 MiB 的外部闪存具有内存映射 到 CPU 代码空间,支持 8 位、16 位和 32 位访问。支持代码执行。
- 映射高达 8 MiB 的外部闪存/SRAM 存储器 到 CPU 数据空间,支持 8 位、16 位 和 32 位访问。数据读取在 闪存和 SRAM。SRAM支持数据写入。
- 内部存储器:
- 外设输入/输出:带DMA的丰富外设接口 包括电容式触摸、ADC(模数转换器)、 DAC(数模转换器)、I²C(内部集成电路)、 UART(通用异步接收器/发射器), CAN 2.0(控制器局域网)、SPI(串行外设接口)、 I²S(集成IC间声音),RMII(减少介质独立性) 接口)、PWM(脉宽调制)等。
- 安全:
- 支持 IEEE 802.11 标准安全功能,包括 WFA、WPA/WPA2 和 WAPI
- 安全启动
- 闪存加密
- 1024 位 OTP,最高 768 位(适用于客户)
- 加密硬件加速:AES、SHA-2、RSA、椭圆 曲线密码学 (ECC)、随机数生成器 (RNG)
二、实做部分
学习了ESP32的引脚部分后,了解各个引脚的作用,焊接一块电路板,并将ESP32-C3连接,安装好Arduino软件以及相关的库。做一些小实验,流水灯的点亮。例如:
/*
Blink
*/
// ledPin refers to ESP32 GPIO 23
const int ledPin = 23;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin ledPin as an output.
pinMode(ledPin, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage
level)
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // turn the LED off by making the voltage
LOW
delay(1000); // wait for a second
}
注意:配置好相应的库与端口。
标签:闪存,芯片,SRAM,esp32,MiB,C3,ledPin,ESP32 From: https://blog.csdn.net/qq_58739767/article/details/137520911