Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
409 lines
23 KiB
JavaScript
409 lines
23 KiB
JavaScript
/**
|
||
* ESP32 技术术语表的结构化数据。
|
||
* 涵盖乐鑫全部芯片系列(ESP32、S2、S3、S31、C2、C3、C5、C6、C61、H2、H4、P4)
|
||
* 及其硬件、外设、无线、安全与软件特性。
|
||
*/
|
||
|
||
export const categoriasGlossario = [
|
||
{
|
||
id: "processamento",
|
||
nome: "处理器、CPU 与芯片",
|
||
icone: "Cpu",
|
||
emoji: "🧠",
|
||
cor: "blue",
|
||
descricao: "Xtensa 与 RISC-V 架构、内核、ULP 协处理器、AI 向量加速器和浮点运算单元。",
|
||
termos: [
|
||
{
|
||
termo: "Xtensa 与 RISC-V 架构",
|
||
definicao: "处理器的基础指令集。经典 ESP32、S2 和 S3 使用 Tensilica 的专有 Xtensa 内核(LX6/LX7);较新的 C 系列(C2、C3、C5、C6、C61)、H 系列(H2、H4)和 P 系列(P4)则采用开放、模块化且高能效的 32 位 RISC-V 架构。",
|
||
exemplo: "ESP32-S3 使用双核 Xtensa LX7,ESP32-C6 使用单核 RISC-V,ESP32-P4 使用 400 MHz 的双核 RISC-V。",
|
||
},
|
||
{
|
||
termo: "CPU 内核(双核与单核)",
|
||
definicao: "彼此独立的中央处理单元。双核芯片可以让一个内核(Core 0)专门负责 Wi-Fi/蓝牙射频和 FreeRTOS 调度,把第二个内核(Core 1)完全留给用户应用和计算。",
|
||
exemplo: "ESP32、ESP32-S3 和 ESP32-P4 是双核;ESP32-S2、C2、C3、C6 和 H2 是单核。",
|
||
},
|
||
{
|
||
termo: "时钟频率(MHz)",
|
||
definicao: "以兆赫兹(MHz)衡量的处理速度。ESP-IDF 会动态调整频率(动态频率调节,DFS),在空闲时节省电能。",
|
||
exemplo: "ESP32-C2 最高运行在 120 MHz;ESP32、S2、S3 和 C6 可达 160/240 MHz;ESP32-P4 可达 400 MHz。",
|
||
},
|
||
{
|
||
termo: "ULP(超低功耗协处理器)",
|
||
definicao: "独立的超低功耗辅助处理器。在主内核处于深度睡眠(Deep Sleep)时,它仍可继续执行指令,读取模拟传感器(ADC)、I2C 和 GPIO 引脚。",
|
||
exemplo: "初代 ESP32 带有 ULP FSM;ESP32-S2、S3 和 C6 带有可用 C 语言编程的 ULP RISC-V;ESP32-P4 带有专用的低功耗 ULP。",
|
||
},
|
||
{
|
||
termo: "AI 向量扩展(Vector Extension / ESP-NN)",
|
||
definicao: "芯片中的专用指令,可并行执行整数(int8/int16)向量与矩阵运算,加速卷积神经网络(CNN)和信号处理。",
|
||
exemplo: "ESP32-S3 和 ESP32-P4 可加速人脸识别、语音检测以及 TensorFlow Lite for Microcontrollers 模型的推理。",
|
||
},
|
||
{
|
||
termo: "FPU(浮点运算单元)",
|
||
definicao: "硬件浮点运算单元,可在一个时钟周期内完成小数(`float`)的加、乘、除运算,没有软件开销。",
|
||
exemplo: "ESP32 和 ESP32-S3 的 Xtensa 内核带有 FPU,ESP32-P4 的高性能 RISC-V 内核同样带有。",
|
||
},
|
||
{
|
||
termo: "PPA(像素处理加速器)",
|
||
definicao: "ESP32-P4 独有的 2D 图形硬件加速器,用于加速图像处理:帧旋转、缩放、Alpha 通道混合和颜色转换(RGB565、ARGB8888、YUV420)。",
|
||
exemplo: "以 60 FPS 渲染复杂图形界面(LVGL),且不占用主 CPU 内核的时间。",
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "seguranca",
|
||
nome: "安全、加密与 eFuse",
|
||
icone: "ShieldCheck",
|
||
emoji: "🔒",
|
||
cor: "red",
|
||
descricao: "防篡改 eFuse、安全启动 V2(Secure Boot V2)、XTS-AES 闪存加密、密钥管理器(Key Manager)、ECC 以及 DPA 防护。",
|
||
termos: [
|
||
{
|
||
termo: "eFuse(电子熔丝)",
|
||
definicao: "由微型硅熔丝构成、只能一次性且不可逆写入的存储(OTP,一次性可编程)。用于保存加密密钥、出厂 MAC 地址,并在商用产品中锁定调试接口。",
|
||
exemplo: "配合 `espefuse.py` 工具烧写安全启动密钥,并在产品出货前禁用 JTAG 端口。",
|
||
},
|
||
{
|
||
termo: "安全启动(Secure Boot,V1 与 V2)",
|
||
definicao: "一种安全启动协议:ROM 代码先对引导加载程序和固件的 RSA-3072 或 ECDSA 签名做密码学校验,通过后才允许执行,从而阻止被篡改的代码注入。",
|
||
exemplo: "经典 ESP32 使用安全启动 V1;从 ESP32-S2 起全部采用支持多组签名密钥的安全启动 V2。",
|
||
},
|
||
{
|
||
termo: "闪存加密(Flash Encryption)",
|
||
definicao: "硬件机制,使用 XTS-AES 算法对外部 SPI 闪存的内容进行实时加密和解密。即使开发板被盗或闪存被拆焊,也无法直接读取固件。",
|
||
exemplo: "大多数芯片使用 XTS-AES-128;ESP32-S3、C5、P4 和 H4 还支持 XTS-AES-256。",
|
||
},
|
||
{
|
||
termo: "密钥管理器(Key Manager)",
|
||
definicao: "高级安全模块,在芯片内部生成、存储并使用密钥,密钥不会暴露给 SRAM 或固件,因此即使软件存在漏洞也无法提取密钥。",
|
||
exemplo: "见于 ESP32-S31、ESP32-C5 和 ESP32-P4 等高安全性系列。",
|
||
},
|
||
{
|
||
termo: "硬件 ECC 与 ECDSA",
|
||
definicao: "在芯片中实现的椭圆曲线加速器(如 P-256 和 P-384)和 ECDSA 数字签名算法,对于快速安全地连接云端以及满足 Matter 标准的认证要求至关重要。",
|
||
exemplo: "ESP32-S31、C5、C61、P4、H2 和 H4 带有 ECDSA 硬件加速器。",
|
||
},
|
||
{
|
||
termo: "HMAC 与数字签名(DS)",
|
||
definicao: "密码学认证外设,使用烧写在 eFuse 中、对固件不可见的密钥来计算 HMAC 并对消息签名。",
|
||
exemplo: "无需以明文保存证书,即可与 AWS IoT Core 和 Microsoft Azure IoT 进行安全、快速的认证。",
|
||
},
|
||
{
|
||
termo: "TRNG(真随机数发生器)",
|
||
definicao: "基于射频与硅电路的模拟热噪声的真随机数发生器,对于在 TLS/HTTPS 握手中生成会话密钥至关重要。",
|
||
exemplo: "ESP32 全系列均提供,为 HTTPS/MbedTLS 连接提供可靠的熵源。",
|
||
},
|
||
{
|
||
termo: "DPA 防护(差分功耗分析)",
|
||
definicao: "硬件层面的物理机制,通过在芯片电流消耗中加入噪声并做平衡,防止攻击者用示波器测量功耗来推断密钥。",
|
||
exemplo: "见于 ESP32-C5、C6、C61 和 H2 系列。",
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "memoria",
|
||
nome: "内存、总线与存储",
|
||
icone: "Database",
|
||
emoji: "💾",
|
||
cor: "purple",
|
||
descricao: "内部 SRAM、启动 ROM、SPI 闪存、QSPI/Octal PSRAM、RTC 内存与 DMA 分配。",
|
||
termos: [
|
||
{
|
||
termo: "内部 SRAM",
|
||
definicao: "直接集成在 CPU 芯片内的超高速易失性存储器,用于程序变量、FreeRTOS 数据结构、驱动缓冲区和运行栈。断电后数据丢失。",
|
||
exemplo: "经典 ESP32 有 520 KB SRAM;ESP32-S3 为 512 KB;ESP32-C3 为 400 KB;ESP32-C6 为 512 KB;ESP32-P4 为 768 KB。",
|
||
},
|
||
{
|
||
termo: "启动 ROM",
|
||
definicao: "乐鑫在出厂时永久写入的只读存储器,包含一级引导加载程序(First-Stage Bootloader)、数学表和基础初始化例程,永远无法修改。",
|
||
exemplo: "上电后 ROM 最先运行,检查 启动配置引脚,然后从闪存加载用户的引导加载程序。",
|
||
},
|
||
{
|
||
termo: "SPI 闪存(Quad-SPI 与 Octal-SPI)",
|
||
definicao: "存放应用固件的外部非易失性存储器。通过 4 线(Quad SPI / QSPI)或 8 位数据线(Octal SPI / OPI / OSPI)连接,后者的带宽和传输速率是前者的两倍。",
|
||
exemplo: "ESP32-S3 和 ESP32-P4 支持最高 120 MHz 的 Octal SPI 闪存与 PSRAM,可获得最快的纹理和代码加载速度。",
|
||
},
|
||
{
|
||
termo: "PSRAM(外部伪静态 RAM)",
|
||
definicao: "通过 SPI/QSPI/OPI 连接的高密度外部 RAM,可把微控制器的内存扩展到数十 MB,适用于需要超大缓冲区的应用。",
|
||
exemplo: "ESP32-WROVER 和 ESP32-S3-WROOM-1 配备 8 MB 外部 PSRAM,用于摄像头的 JPEG 解码和 TFT 显示屏的图形缓冲。",
|
||
},
|
||
{
|
||
termo: "RTC 快速与慢速 SRAM",
|
||
definicao: "专属于实时时钟(RTC)供电域的 SRAM 块。在深度睡眠(Deep Sleep)期间保持供电,用于存放 ULP 代码和标记为 `RTC_DATA_ATTR` 的变量。",
|
||
exemplo: "在 ESP32 以 10 µA 的功耗进入深度睡眠期间,保持读数计数器或校准数据不丢失。",
|
||
},
|
||
{
|
||
termo: "DMA 内存分配(MALLOC_CAP_DMA)",
|
||
definicao: "兼容直接内存访问(DMA)的内存,使外设(SPI、I2S、LCD、SDMMC)可以直接向 RAM 传输数据,而不占用 CPU 时间。",
|
||
exemplo: "在大多数 ESP32 芯片上,DMA 必须通过 `MALLOC_CAP_DMA | MALLOC_CAP_INTERNAL` 标志在内部 SRAM 中分配。",
|
||
},
|
||
{
|
||
termo: "堆碎片化(Heap Fragmentation)",
|
||
definicao: "经过多次分配与释放后,动态内存被拆成零散的小块(使用 Arduino 的 `String` 对象时很常见),导致无法为 TLS/Wi-Fi 分配大块连续内存。",
|
||
exemplo: "在 ESP-IDF 中通过 `heap_caps_get_largest_free_block()` 监测,以避免 HTTPS 连接失败。",
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "conectividade",
|
||
nome: "无线连接与协议",
|
||
icone: "Wifi",
|
||
emoji: "📡",
|
||
cor: "emerald",
|
||
descricao: "Wi-Fi 4/6、5 GHz 双频、OFDMA、TWT、经典蓝牙、BLE 5.x、LE Audio、Zigbee 3.0、Thread 与 Matter。",
|
||
termos: [
|
||
{
|
||
termo: "Wi-Fi 6(802.11ax)",
|
||
definicao: "新一代无线网络标准,支持 OFDMA(并行通信,延迟更低)、1024-QAM 调制,以及 TWT(目标唤醒时间)功能,可大幅延长 IoT 传感器的电池寿命。",
|
||
exemplo: "见于 ESP32-C6、ESP32-C61 和 ESP32-C5。",
|
||
},
|
||
{
|
||
termo: "Wi-Fi 双频(2.4 GHz 与 5 GHz)",
|
||
definicao: "既能工作在传统的 2.4 GHz 频段,也能工作在电磁拥塞更少的 5 GHz 频段,支持 20 MHz / 40 MHz 信道,连接更稳定。",
|
||
exemplo: "ESP32-C5 是乐鑫首款集成 Wi-Fi 6 双频射频的芯片。",
|
||
},
|
||
{
|
||
termo: "OFDMA(正交频分多址)",
|
||
definicao: "Wi-Fi 6 的技术,把单个射频信道划分为几十个更小的子载波(资源单元,Resource Unit),让路由器同时服务多个 ESP32 设备而不产生冲突。",
|
||
exemplo: "在有数十个节点相连的密集家庭或工业环境中,降低响应延迟。",
|
||
},
|
||
{
|
||
termo: "TWT(目标唤醒时间)",
|
||
definicao: "Wi-Fi 6 的协议:ESP32 与路由器约定好交换数据包的确切时间,使微控制器可以长时间完全关闭射频,同时不断开网络连接。",
|
||
exemplo: "由电池供电的 ESP32-C6 传感器可连接 Wi-Fi 6 运行数年,且不丢失同步。",
|
||
},
|
||
{
|
||
termo: "经典蓝牙(Bluetooth Classic,BR/EDR)",
|
||
definicao: "传统蓝牙协议,用于连续传输立体声音频(A2DP)、虚拟串口(SPP),以及需要持续高传输速率的设备。",
|
||
exemplo: "在经典 ESP32 上实现蓝牙音箱、音频接收器和 HID 键盘。",
|
||
},
|
||
{
|
||
termo: "低功耗蓝牙(BLE 5.0 至 5.4)",
|
||
definicao: "蓝牙的低功耗版本,支持 2 Mbps 速率(2M PHY)、可达数百米的远距离(Coded PHY / Long Range)、广播扩展以及蓝牙 Mesh 网络。",
|
||
exemplo: "ESP32-S3 支持 BLE 5.0;ESP32-C6 和 ESP32-H2 支持蓝牙 5.4 LE。",
|
||
},
|
||
{
|
||
termo: "蓝牙 LE Audio 与 Auracast",
|
||
definicao: "新一代高保真、超低功耗的蓝牙音频,采用 LC3 编解码器,并支持向多个听众同时广播音频(Broadcast Audio / Auracast)。",
|
||
exemplo: "ESP32-H4 系列支持,面向新的音频生态和智能耳机。",
|
||
},
|
||
{
|
||
termo: "IEEE 802.15.4(Zigbee 3.0 与 Thread)",
|
||
definicao: "2.4 GHz 的低功耗、低数据速率射频标准,是 Zigbee 3.0 和 Thread 1.3 这类工业与家用 Mesh 网络的物理层基础。",
|
||
exemplo: "ESP32-C6、ESP32-H2 和 ESP32-H4 在芯片内集成了 IEEE 802.15.4 收发器。",
|
||
},
|
||
{
|
||
termo: "Matter 协议",
|
||
definicao: "由 CSA 维护的通用开放式智能家居连接标准,可运行在 Wi-Fi、以太网和 Thread 网络上,原生兼容 Apple Home、Google Home、Alexa 和 Home Assistant。",
|
||
exemplo: "使用 ESP-Matter 在 ESP32-C6 或 ESP32-H2 上开发智能灯泡和插座,无需依赖专有云。",
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "perifericos",
|
||
nome: "输入输出与外设",
|
||
icone: "Sliders",
|
||
emoji: "🔌",
|
||
cor: "amber",
|
||
descricao: "GPIO 引脚、启动配置引脚、ADC/DAC 转换器、PWM/LEDC、MCPWM、RMT、PCNT、TWAI®/CAN、I2C、SPI 与 I2S。",
|
||
termos: [
|
||
{
|
||
termo: "GPIO(通用输入输出)",
|
||
definicao: "多功能引脚,可配置为数字输入或输出,带有可选的内部上拉/下拉电阻,任意引脚都支持外部中断。",
|
||
exemplo: "用 `gpio_set_level()` 或 `digitalWrite()` 读取按键、控制继电器和 LED。",
|
||
},
|
||
{
|
||
termo: "启动配置引脚(Strapping)",
|
||
definicao: "特定的 GPIO 引脚,芯片在复位释放的那一毫秒由硬件采样,以决定启动模式(UART 下载与 SPI 闪存启动)和电压电平。",
|
||
exemplo: "经典 ESP32/S3 的 GPIO 0 或 ESP32-C3 的 GPIO 9:复位期间若被拉低,芯片会进入固件烧录模式。",
|
||
},
|
||
{
|
||
termo: "ADC(模数转换器)",
|
||
definicao: "把连续的模拟电压(0 至 3.3V)转换为 12 位数字值的转换器(ESP32-S2 输出 13 位,其中 12 位有效),可通过衰减器配置(0dB、2.5dB、6dB、11dB/12dB)。",
|
||
exemplo: "读取 LDR 光敏电阻、电位器、热敏电阻,以及测量锂电池电量。",
|
||
},
|
||
{
|
||
termo: "DAC(数模转换器)",
|
||
definicao: "根据软件生成的数字值产生连续比例模拟电压的转换器,无需外部电路。",
|
||
exemplo: "经典 ESP32 和 ESP32-S2 提供,可合成模拟音频或直接输出控制信号。",
|
||
},
|
||
{
|
||
termo: "LEDC(LED PWM 控制器)",
|
||
definicao: "专用于产生多路脉宽调制(PWM)信号的外设,可控制频率,分辨率最高 14-20 位,并支持硬件渐变(fade),不占用 CPU。",
|
||
exemplo: "平滑调节 RGBW LED 灯带的亮度,以及舵机定位。",
|
||
},
|
||
{
|
||
termo: "MCPWM(电机控制 PWM)",
|
||
definicao: "为驱动电机设计的高级 PWM 控制器,适用于三相变频器、可配置死区时间(dead-time)的 H 桥,并可采集正交编码器信号。",
|
||
exemplo: "在经典 ESP32、S3 和 P4 上精确控制无刷电机(BLDC)和移动机器人。",
|
||
},
|
||
{
|
||
termo: "RMT(远程控制外设)",
|
||
definicao: "可精确到微秒级时序的脉冲收发与生成器,最初为红外遥控(NEC、RC5、Sony)设计,被广泛用于驱动 WS2812B / NeoPixel 数字 LED 灯带。",
|
||
exemplo: "刷新数百颗 NeoPixel LED,而无需关闭系统中断。",
|
||
},
|
||
{
|
||
termo: "PCNT(脉冲计数器)",
|
||
definicao: "硬件脉冲计数器,可对外部高频信号的上升/下降沿计数,而无需软件为 CPU 产生中断。",
|
||
exemplo: "读取工业旋转编码器、转速计和水流量计。",
|
||
},
|
||
{
|
||
termo: "TWAI®(双线汽车接口 / CAN 总线)",
|
||
definicao: "芯片内集成的、符合 ISO 11898-1 标准的 CAN 2.0B 车载与工业总线控制器,只需外接一个物理收发器(如 SN65HVD230)。",
|
||
exemplo: "OBD-II 汽车诊断、电动车遥测以及稳健的工业自动化。",
|
||
},
|
||
{
|
||
termo: "电容触摸(Touch)",
|
||
definicao: "专用引脚,用于测量手指靠近时静电电容的变化,可隔着玻璃或亚克力制作触摸按键和滑条。",
|
||
exemplo: "ESP32-S2 和 S3 最多提供 14 个通道,可做现代触摸控制面板。",
|
||
},
|
||
{
|
||
termo: "PARLIO(并行 IO 控制器)",
|
||
definicao: "较新系列(C6、H2、P4)提供的可配置高速并行总线,使用自定义时钟向 LCD 显示屏、摄像头和外部传感器同步传输数据。",
|
||
exemplo: "与外围芯片进行高效并行通信,无需让 CPU 用位操作(bit-banging)模拟。",
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "multimidia",
|
||
nome: "多媒体、USB 与高级接口",
|
||
icone: "Sparkles",
|
||
emoji: "✨",
|
||
cor: "pink",
|
||
descricao: "原生 USB OTG、USB Serial/JTAG、USB 高速 480Mbps、MIPI CSI/DSI、H.264 编码器与以太网 MAC。",
|
||
termos: [
|
||
{
|
||
termo: "原生 USB OTG(On-The-Go)",
|
||
definicao: "芯片内置的全速(12 Mbps)USB 控制器,使 ESP32 既可作为外设(HID 键盘、鼠标、Mass Storage 优盘),也可作为 USB 主机(读取优盘或外设)。",
|
||
exemplo: "ESP32-S2 和 ESP32-S3 原生提供,可用于制作自定义键盘和模拟器。",
|
||
},
|
||
{
|
||
termo: "原生 USB Serial/JTAG",
|
||
definicao: "芯片内集成的 USB 接口,同时提供用于控制台的串口和完整的 JTAG 调试探针,无需外接转换芯片(CH340/CP2102)。",
|
||
exemplo: "在 ESP32-C3、S3、C6 和 H2 上,只需把 USB 线接到 D+/D- 引脚,就能烧录固件并在 VS Code 中用断点调试。",
|
||
},
|
||
{
|
||
termo: "USB 2.0 高速(480 Mbps)",
|
||
definicao: "高速 USB 2.0 控制器,集成 PHY,传输速率最高 480 Mbps,带宽是全速 USB 的 40 倍。",
|
||
exemplo: "ESP32-P4 独有,用于高清视频流和大批量数据传输。",
|
||
},
|
||
{
|
||
termo: "MIPI CSI 与 MIPI DSI",
|
||
definicao: "智能手机行业的标准高速差分串行接口:MIPI-CSI(摄像头串行接口)用于高分辨率摄像头传感器,MIPI-DSI(显示串行接口)用于触摸屏。",
|
||
exemplo: "在 ESP32-P4 SoC 上连接 1080p 屏幕和高帧率摄像头。",
|
||
},
|
||
{
|
||
termo: "硬件 H.264 视频编码器",
|
||
definicao: "专用加速模块,可实时把摄像头的原始视频流压缩为标准 H.264(AVC)格式,分辨率最高 1080p、30 FPS,不增加 CPU 负担。",
|
||
exemplo: "在 ESP32-P4 上用高效压缩实现智能安防摄像头和电子门铃。",
|
||
},
|
||
{
|
||
termo: "以太网 MAC 10/100 Mbps",
|
||
definicao: "芯片内集成的有线网络数据链路层(Media Access Control)控制器,只需通过 RMII 接口外接一颗物理层收发芯片(PHY,如 LAN8720 或 IP101)。",
|
||
exemplo: "在经典 ESP32 和 ESP32-P4 上,提供不受射频噪声影响、稳定的 RJ45 以太网连接,用于楼宇自动化。",
|
||
},
|
||
{
|
||
termo: "DVP 摄像头接口(8 位 / 16 位)",
|
||
definicao: "并行总线,包含 VSYNC、HREF、PCLK 信号和数据总线,支持 DMA,可直接从常见摄像头模组(OV2640、OV5640)采集帧。",
|
||
exemplo: "用于 ESP32-CAM 和 ESP32-S3-CAM 开发板,拍照并传输 MJPEG 视频流。",
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "energia",
|
||
nome: "电源管理与睡眠模式",
|
||
icone: "BatteryCharging",
|
||
emoji: "🔋",
|
||
cor: "teal",
|
||
descricao: "Active 模式、Modem Sleep、Light Sleep、Deep Sleep、Hibernation、欠压检测器(Brownout Detector)与唤醒源。",
|
||
termos: [
|
||
{
|
||
termo: "Active 模式",
|
||
definicao: "正常运行模式:CPU 以最高频率执行指令,所有外设和射频随时可用,电流消耗在 30 mA 到约 240 mA 之间(Wi-Fi 发射期间)。",
|
||
exemplo: "ESP32 处理音频、刷新显示屏或实时传输传感器数据。",
|
||
},
|
||
{
|
||
termo: "Modem Sleep",
|
||
definicao: "在两次发射的间隔里暂时关闭 Wi-Fi 和蓝牙射频电路,而 CPU 继续正常运行代码,把电流降到约 20 至 40 mA。",
|
||
exemplo: "连接 Wi-Fi 的应用在等待网络事件时的默认模式,不会丢失与路由器的关联。",
|
||
},
|
||
{
|
||
termo: "Light Sleep",
|
||
definicao: "中间级别的节能模式:CPU 时钟暂停、射频关闭,但内部 SRAM、外设和任务状态完整保留。芯片可在 1 ms 内唤醒。",
|
||
exemplo: "需要被按键中断或定时器快速唤醒的设备,电流约 0.8 mA。",
|
||
},
|
||
{
|
||
termo: "Deep Sleep",
|
||
definicao: "深度睡眠模式:所有数字电源域和 CPU 都被关闭,仅保留 RTC 域供电(可选保留 RTC 内存和 ULP)。电流降到 5 至 15 µA,芯片唤醒后从头开始执行。",
|
||
exemplo: "由电池和太阳能板供电的远程气象站,每小时测量一次。",
|
||
},
|
||
{
|
||
termo: "Hibernation 模式",
|
||
definicao: "芯片中功耗最低的状态:连 RTC 的晶振和慢速域都被关闭,只保留一个模拟恢复电路,可由外部按键或复位唤醒。",
|
||
exemplo: "使用 CR2032 纽扣电池、可运行数年的设备,残余电流约 5 µA。",
|
||
},
|
||
{
|
||
termo: "唤醒源(Wakeup Sources)",
|
||
definicao: "用于把 ESP32 从深度睡眠或浅睡眠中唤醒的硬件事件:RTC 定时器、外部 GPIO 引脚(EXT0 / EXT1)、电容触摸,或 ULP 协处理器的信号。",
|
||
exemplo: "`esp_sleep_enable_timer_wakeup(60 * 1000000)` 可让芯片每 60 秒准时唤醒。",
|
||
},
|
||
{
|
||
termo: "欠压检测器(Brownout Detector)",
|
||
definicao: "内部的模拟比较器硬件电路,监测 3V3 引脚的供电电压,当电压降到约 2.8V 以下时强制安全复位,防止闪存数据损坏。",
|
||
exemplo: "避免电源不足的供电在射频发射峰值期间引起部分复位,保护微控制器。",
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "desenvolvimento",
|
||
nome: "固件、启动与操作系统",
|
||
icone: "Code2",
|
||
emoji: "🚀",
|
||
cor: "rose",
|
||
descricao: "引导加载程序、FreeRTOS、IRAM_ATTR 宏、闪存分区、带回滚的 OTA 升级与 NVS 存储。",
|
||
termos: [
|
||
{
|
||
termo: "引导加载程序(Bootloader,一级与二级)",
|
||
definicao: "电气复位后立即执行的代码。一级位于芯片 ROM 中;二级位于闪存中,负责校验分区表、检查安全签名,并加载用户固件。",
|
||
exemplo: "控制 OTA 分区之间的切换,并在 `app_main` 之前初始化 PSRAM 内存。",
|
||
},
|
||
{
|
||
termo: "FreeRTOS(实时操作系统)",
|
||
definicao: "ESP-IDF 默认的抢占式多任务内核,在多个任务(Task)、消息队列(Queue)、信号量、互斥量和软件定时器之间划分 CPU,并支持优先级控制。",
|
||
exemplo: "用 `xTaskCreatePinnedToCore()` 把繁重的任务分配到指定的 CPU 内核上。",
|
||
},
|
||
{
|
||
termo: "IRAM_ATTR 与 DRAM_ATTR",
|
||
definicao: "ESP32 的 GCC 编译器专用属性,强制函数和变量驻留在内部超高速 IRAM/DRAM 中,而不是外部闪存,对中断服务例程(ISR)是必需的。",
|
||
exemplo: "避免在闪存忙于写入数据时,中断引发崩溃(*Cache Error*)。",
|
||
},
|
||
{
|
||
termo: "分区表(partitions.csv)",
|
||
definicao: "配置文件,把闪存的存储空间映射为多个逻辑块,分别用于引导加载程序、NVS 数据、LittleFS 文件和多个固件镜像(Factory、OTA_0、OTA_1)。",
|
||
exemplo: "可自定义,以容纳带有蓝牙、Wi-Fi 和加密库的大型固件。",
|
||
},
|
||
{
|
||
termo: "带回滚的 OTA(空中升级)",
|
||
definicao: "无线固件升级:新版本被写入另一个分区。若新固件启动失败,系统会自动回滚(*Rollback*)到之前可用的版本。",
|
||
exemplo: "`esp_ota_mark_app_valid_cancel_rollback()` 用于确认现场的新升级运行正常。",
|
||
},
|
||
{
|
||
termo: "NVS(非易失性存储)与 NVS 加密",
|
||
definicao: "闪存中的结构化键值机制,用于持久保存网络凭据、校准参数和计数器,并支持通过 eFuse 中的 AES 密钥进行硬件加密。",
|
||
exemplo: "保存 Wi-Fi 名称和加密后的密码,以便断电后自动重连。",
|
||
},
|
||
{
|
||
termo: "LittleFS 与 SPIFFS",
|
||
definicao: "为闪存设计的文件系统,带磨损均衡(*wear leveling*),使应用可以读写 HTML 页面、SSL 证书和日志等文件。",
|
||
exemplo: "保存 ESP32 内置网页服务器的 HTML/CSS 页面,用于通过浏览器配置网络。",
|
||
},
|
||
{
|
||
termo: "JTAG 与 OpenOCD",
|
||
definicao: "硬件级调试标准,可通过 USB-JTAG 探针在 VS Code 或 Eclipse 中暂停 CPU、设置断点,并实时查看寄存器和变量。",
|
||
exemplo: "调试复杂崩溃和空指针问题,而不必只依赖 `Serial.println()`。",
|
||
},
|
||
],
|
||
},
|
||
];
|