非常好的问题 👏,你对GD32的低功耗理解已经进入关键点了——
“Deep-sleep vs Standby 模式到底差多少功耗,哪个最省电?”
下面我给你一个工程师视角的深入分析和功耗对比 👇


🧩 一、三种模式功耗对比(从高到低)

模式 CPU状态 1.2V域 SRAM/寄存器 时钟状态 唤醒时间 功耗等级 典型应用
睡眠模式 (Sleep) 停止CPU,外设运行 保持供电 保留 时钟不变 最短 💡最高功耗 等待中断,系统空闲
深度睡眠模式 (Deep-sleep) CPU停止,主时钟关闭 保持供电 保留 IRC16M/HXTAL/PLL关闭 中等 ⚙️中等功耗 低功耗运行,快速唤醒
待机模式 (Standby) 完全掉电 断电(仅备份域供电) 丢失 全部关闭 最长 🔋最低功耗 “关机”状态、RTC唤醒

⚡ 二、功耗差异分析(定量估计)

下表为 GD32F4系列(Cortex-M4, 240MHz)典型估算值
实际功耗依硬件设计、外设开关、IO状态、LDO配置而异。

模式 典型功耗 唤醒时间
Sleep Mode ≈ 2~5 mA(CPU停,外设仍工作) < 1 µs
Deep Sleep Mode ≈ 100~300 µA(LDO低功耗,SRAM保持) 5~50 µs
Standby Mode ≈ 1~5 µA(仅RTC域供电) 1~10 ms

🔍 三、核心区别总结

对比项 深度睡眠 (Deep Sleep) 待机 (Standby)
1.2V域供电 保留 关闭
SRAM/寄存器 保留 丢失(除备份SRAM)
RTC运行 可选(需配置LXTAL) 一般保留(备份域供电)
外设状态 可通过寄存器保留状态唤醒后恢复 全部重启,需软件重新初始化
唤醒后执行点 从睡眠返回点继续执行 系统复位,从main()重新启动
功耗级别 最低
唤醒速度 快(µs级) 慢(ms级)
典型场景 飞控系统待机、周期唤醒传感器 无人机“关机”状态、RTC定时启动

⚙️ 四、在无人机系统中的选择建议

需求 推荐模式 理由
飞行中空闲等待(如任务调度空闲) Sleep 外设继续运行,快速唤醒
停机但保持任务/数据状态(如地面待机、定期唤醒检测) Deep Sleep SRAM保持、唤醒快、功耗低
完全关机状态(例如关机储存电池) Standby 最低功耗,仅RTC运行

🧠 五、一句话总结

功耗排序:Sleep > Deep Sleep ≫ Standby
唤醒速度排序:Standby ≪ Deep Sleep < Sleep

所以:

  • 想“低功耗运行”→ Deep Sleep
  • 想“彻底关机省电”→ Standby

要不要我帮你画一张 三种模式的对比表 + 功耗流向图(标出1.2V域、备份域、外设电源状态)?
这样你能一眼看出 Deep Sleep 和 Standby 在硬件电源分区上的差异。




非常好的追问 👍,这个问题其实是所有做低功耗设计的人最关心的之一。
一句话先说结论:

💡 差别非常大!
不管是功耗、寄存器保留、唤醒机制、系统恢复方式,深度睡眠(Deep-sleep)和待机(Standby)都属于完全不同级别的低功耗模式


🧩 一、总体对比:不是“更省一点”,而是“完全不同层级”

项目 深度睡眠 (Deep-sleep) 待机 (Standby) 差距说明
1.2V内核域供电 ✅ 保持供电 ❌ 断电 ⚠️ 这是根本性差别:Standby彻底断掉核心电源
SRAM/寄存器 ✅ 全部保留 ❌ 全部丢失(除备份域) Standby相当于“掉电重启”
时钟状态 主时钟(PLL/HXTAL)关闭,但IRC16M可唤醒 所有主时钟关闭,仅LXTAL或内部低速时钟可保留 Standby下,几乎只有RTC域在运行
唤醒后执行位置 从睡眠指令后继续运行 0x00000000重新启动(复位启动) Deep-sleep是暂停,Standby是重新开机
功耗等级 中低(约100~300 µA) 极低(约1~5 µA) 相差一个数量级以上
唤醒时间 快(几微秒到几十微秒) 慢(毫秒级,需要上电复位) 约100倍差距
唤醒源 EXTI事件/中断 WKUP引脚、RTC、NRST、看门狗 Standby唤醒源更少、更硬件级
系统状态恢复 内存数据、外设寄存器仍在 全部丢失,需重新初始化系统 Standby无法“继续执行”上次任务
典型用途 MCU周期性休眠、定时唤醒执行任务 完全关机/掉电保存、RTC定时唤醒 深度睡眠用于“低功耗运行”,待机用于“断电保存”

🔋 二、功耗差距到底有多大?

GD32F450 为例(典型值):

模式 功耗(典型) 差距
深度睡眠模式(LDO低功耗) ≈ 150~300 µA
待机模式(仅RTC运行) ≈ 2~5 µA 🔻 低约 50~100 倍

也就是说:

在同样的电池下,进入待机模式的系统理论上可以多待机 数十倍时间


⚙️ 三、工程上的决策思路

需求 推荐模式 理由
想要“低功耗运行”——保留RAM状态、快速唤醒 深度睡眠模式 唤醒快,不丢数据
想要“真正关机”——掉电保存、RTC唤醒 待机模式 最低功耗,但系统重启
想让系统休眠后继续原任务运行(如FreeRTOS唤醒恢复) 深度睡眠 Standby会复位系统
想让电池能放几个月不耗尽 待机 极低电流,仅RTC运行

🧠 四、形象比喻

模式 比喻
睡眠模式 CPU“闭眼休息”,外设还在转
深度睡眠模式 CPU“冬眠”,身体机能停了,但生命维持系统(供电)还在
待机模式 完全“断电关机”,只剩下闹钟能把你叫醒

✅ 五、结论总结

项目 深度睡眠 待机
功耗 中等(百微安级) 极低(微安级)
唤醒 快(µs级) 慢(ms级)
RAM保留 ✅ 是 ❌ 否
系统状态 保持 丢失
RTC运行 可选 通常保持
是否复位
电源域 全保留 仅备份域保留
适用场景 周期性休眠、快速唤醒任务 长时间关机、RTC唤醒启动

🔹总结一句话:

深度睡眠是“低功耗运行”状态,而待机是“彻底关机”状态。
两者差距非常大——不仅功耗差了几十倍,系统行为也完全不同。


如果你愿意,我可以帮你画一张图(显示Deep-sleep和Standby时 1.2V域、备份域、外设电源状态的区别),
一眼就能看出它们电源级别的不同,要不要我帮你画?




在这里插入图片描述

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐