news 2026/5/26 8:25:50

TG1WDT_SYS_RST / RTC_SW_SYS_RST 这类复位原因

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TG1WDT_SYS_RST / RTC_SW_SYS_RST 这类复位原因

有很大可能和供电相关,而且你看到的TG1WDT_SYS_RST/RTC_SW_SYS_RST这类复位原因,常见就是“电源不稳 → CPU/任务跑飞/卡死 → 看门狗触发”或“电源波动导致某段代码主动调用 esp_restart()(例如检测到异常)”。在供电稳定后现象消失,这个相关性非常强。

下面给你一套从机理 → 证据 → 规避方案的实战排查/改进清单(ESP32-C3 适用)。


1) 这两种复位通常意味着什么

  • TG1WDT_SYS_RST:Timer Group 1 的看门狗触发复位
    常见原因:高负载时某个任务长期得不到调度、临界区太久、禁中断太久、SPI Flash 访问异常卡住、Wi-Fi/BLE 驱动卡住等。供电抖动会放大这些问题(尤其是 Flash/射频瞬态电流导致电压下陷)。

  • RTC_SW_SYS_RST:软件触发系统复位
    典型来源:代码调用esp_restart()/abort()导致重启,或者某些组件检测到异常后触发重启。供电异常也可能触发异常路径(例如 NVS/Flash 读写失败、Wi-Fi 启动失败反复重试最后重启)。


2) “临界电压/电流”下为什么会表现成 WDT/软件复位,而不是 Brownout?

因为电源问题不一定是“持续低压”,更常见是瞬态压降/纹波/尖峰

  • Wi-Fi 发射瞬间、CPU 提频、Flash 读写瞬间,电流脉冲很大

  • 电源路径阻抗(线太长、DC/DC 响应慢、LDO 余量不足、走线太细、地弹跳)→ 造成VDD 瞬间下陷

  • 下陷短到没触发 brownout,但足以让 Flash/QSPI 或总线出现错误、任务卡住、驱动异常,最终WDT 或软件自恢复重启

所以“换稳定供电就好了”完全符合这个机理。


3) 你该怎么快速确认是不是供电

A. 直接抓波形(最有效)

用示波器在模组 3V3 引脚附近测:

  • 触发条件:跌落到 3.0V/2.9V 附近(你们系统门限不同)

  • 重点看:Wi-Fi启动、连接、发包时是否有明显下陷/振铃

注意:探头接地要短(弹簧地),否则你会看到假的振铃。

B. 软件侧打印更细的复位信息

  • 打印esp_reset_reason()

  • 打印启动时的rtc_get_reset_reason()(如果你们有)

  • 开启 WDT 触发时的 backtrace/任务名(如果可用)

C. 人为制造负载验证

  • 提高 Wi-Fi 发包功率/频繁扫描

  • 提高 CPU 频率

  • 连续 Flash 读写
    如果这些动作更容易复位,基本锁定供电/瞬态。


4) 规避方案(工程上最常用、最有效)

方案 1:把“电源瞬态能力”做足(优先级最高)

  1. 就近去耦/储能(贴在模组 3V3 pin 附近)

  • 0.1µF + 1µF(高频去耦)

  • 再加10µF ~ 47µF(低频/瞬态储能)

  • 如果你现在只有 10µF,建议提升到 22µF/47µF 试试(低 ESR)

  1. 电源芯片选型/余量

  • LDO:确保在峰值电流下仍有足够压差;注意温升会降能力

  • DC/DC:看瞬态响应(load step response),必要时加输出电容/补偿

  1. 降低电源路径阻抗

  • 3V3 走线加宽、缩短

  • 地回路完整、避免细长地线导致地弹跳

  • 如果是线束供电,线束压降非常常见(尤其 500mA 级脉冲)

方案 2:开启/校准 Brownout,让复位更“可控”

  • 如果你现在 brownout 被关闭或门限太低,建议开启并设置合适门限
    这样电压下陷时会直接 brownout reset,而不是跑飞卡死触发 WDT,现象更可诊断,也更安全。

(门限要结合你们 3V3 最低工作电压与系统余量来定,别设太高导致误复位。)

方案 3:降低峰值电流 & 负载突变

  • Wi-Fi 发射功率适当降低(esp_wifi_set_max_tx_power

  • 避免“Wi-Fi 启动同时大量外设上电/LED 全亮/电机启动”

  • 把耗电动作分散:上电后延迟启动 Wi-Fi,或分阶段初始化

方案 4:软件侧让 WDT 更不容易误杀(但别当根因解决)

  • 检查是否有长时间关中断/长临界区

  • 大循环里加vTaskDelay(1)或喂狗点

  • 避免在高负载期间同步阻塞 Flash/IO 太久

  • 如果有 PSRAM/Flash 操作,确保在电源抖动时不会进入死循环重试

但如果根因是供电,软件只能“缓解”,不能根治。


5) 建议你先做的 3 个动作(最快出结果)

  1. 在模组 3V3 就近加 47µF + 1µF + 0.1µF(低 ESR)

  2. 示波器抓一次 Wi-Fi 连接/发包时 3V3 波形

  3. 降低 Wi-Fi Tx Power + 上电延迟启动 Wi-Fi(例如延迟 1~2 秒)做对比实验

只要这三步做完,基本就能判断:是不是瞬态压降导致。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 3:23:27

考研408冲刺备考高分策略:30天高效提分实战指南

在考研408计算机专业课程的冲刺备考阶段,科学的学习策略和高效的资源利用是取得理想成绩的关键。本文基于GitHub_Trending/cs/cs-408项目资源,为你提供一套完整的30天提分计划,帮助你在最后阶段实现质的飞跃。 【免费下载链接】cs-408 计算机…

作者头像 李华
网站建设 2026/5/25 5:26:15

34、Linux 命令与脚本使用指南

Linux 命令与脚本使用指南 1. 基础命令与符号 1.1 常用命令符号 在 Linux 系统中,有许多特殊符号具有重要作用。例如: - $ 符号相关: $” 用于本地化翻译扩展; $Author$ 、 $Date$ 等是 CVS 关键字,用于版本控制相关操作。 - 命令历史相关: ! 可用于浏览命…

作者头像 李华
网站建设 2026/5/26 0:16:18

如何高效部署饥荒服务器:跨平台管理工具深度解析

如何高效部署饥荒服务器:跨平台管理工具深度解析 【免费下载链接】dst-admin-go Dont Starve Together server panel. Manage room with ease, featuring visual world and mod management, player log collection。饥荒联机服务器面板。轻松管理房间,支…

作者头像 李华
网站建设 2026/5/25 23:18:13

rclone云存储同步完全指南:跨平台数据迁移的终极解决方案

rclone云存储同步完全指南:跨平台数据迁移的终极解决方案 【免费下载链接】rclone 项目地址: https://gitcode.com/gh_mirrors/rcl/rclone 还在为不同设备间的文件同步而烦恼吗?rclone云存储同步工具能够帮你轻松解决跨平台数据迁移的难题。作为…

作者头像 李华
网站建设 2026/5/26 5:22:53

基于Web的新能源汽车销售网站的设计与实现开题报告

毕业设计(论文)开题报告姓名黄超健学院信息工程学院专业计算机应用工程班级21级计算机应用工程8班学号202141440821联系方式15915254959题目基于Web的新能源汽车销售网站的设计与实现开题申请(包括选题目的意义、研究现状、成果提纲、文献综述…

作者头像 李华
网站建设 2026/5/26 0:32:04

基于web的在线考试和评估系统的设计与实现开题报告艾玉红(1)

青岛黄海学院毕业设计(论文)开题报告题目名称:基于Web的在线考试和评估系统设计与实现学 院:大数据专 业:计算机科学与技术学生姓名:学 号:202103021135指导教师:李翠职称/…

作者头像 李华