[CIU32F003系列] 华大电子CIU32F003 低功耗模式下GPIO唤醒与时钟切换实践

[复制链接]
14|0
OKAKAKO 发表于 2026-11-5 21:32 | 显示全部楼层 |阅读模式
华大电子CIU32F003是一颗基于Cortex-M0+内核的小容量低功耗MCU,常见于水表、气表、无线遥控等电池供电产品。本文记录一次从1.2μA待机目标着手的低功耗调试过程。

一、功耗现状摸底
初始工程直接调用__WFI()进入睡眠,实测待机电流86μA,远高于预期。逐项排查:关闭未使用的ADC、比较器与内部LDO后降到27μA,仍有较大差距。用万用表配合电流探头测量发现,主要剩余电流来自未配置为模拟/下拉的GPIO浮空引脚,以及部分外设在睡眠时仍保持时钟。

二、GPIO处理
CIU32F003的GPIO具有独立的上下拉配置寄存器。低功耗设计的原则是:所有未使用引脚统一配置为下拉输入或推挽输出低电平,避免浮空造成输入缓冲器振荡。这一步把电流从27μA降到了8μA。按键输入脚保留上拉,外部不要使用大阻值分压。

三、时钟与外设
睡眠前把系统时钟从内部HRC 48MHz切换到HRC 8MHz或LRC,并在SCB或时钟控制寄存器中关闭外设时钟门控;把不需要的ADC模块置于低功耗模式。实测切换后降到2.1μA。

四、唤醒路径
使用GPIO中断唤醒,配置上升沿触发并使能对应中断,进入STOP模式后由引脚电平变化触发。这里有两个易错点:
1. 唤醒后系统默认回到HRC 8MHz,若应用需要48MHz必须重新切换并等待时钟稳定标志;
2. GPIO唤醒存在唤醒延迟,若信号脉宽过短(<10μs)可能被漏检,需在硬件端加RC保持或改用电平触发后在软件里轮询。

五、最终结果
按上述调整后,3V供电、室温25℃下实测STOP模式电流1.6μA,配合外部看门狗定时唤醒采样,两节AA电池可支撑6~8年。建议把低功耗配置写成一个统一函数,在每个进入睡眠的路径上调用,避免遗漏。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

468

主题

3215

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部