RT10XX 降低唤醒时冲击电流
近来有客户反馈,当使用RT1060从suspend mode唤醒时,会在VDD_HIGH_IN观测到一个较大电流。与此同时,电压也会产生一个较大的跌落,下降到RT1060的临界数值3.0V附近。在一些极端情况下可能会引起MCU异常无法正常工作。
本文引用地址:https://www.eepw.com.cn/article/202503/467788.htm如下图所示,VDD_HIGH_IN主要为芯片内部的analog部分供电,主要包括各类PLL,晶振,fuse,以及LDO。
经过查阅应用笔记,Suspend模式下,芯片内部的LDO_2P5和LDO_1P1会被关闭以降低功耗,当唤醒时,这两个LDO将会被启动为芯片内部的电路供电。另外,这两个LDO还外接了电容,在进入Suspend的时候LDO关闭,电容放电;在唤醒时,LDO开启,电容充电。那么引起问题的冲击电流很可能就是来自于这个两个外接电容。
为了验证这个猜想,在进入Suspend之前不关闭这两个LDO,然后唤醒MCU,问题消失。但随之而来的是带来不必要的一些功耗。那么有没有什么办法既能在Suspend下关闭LDO节省功耗,又能在唤醒时减缓冲击电流呢?答案必须有!
LDO有限流功能,以LDO_1P1为例,将bit2置1即可使能这个功能。在LDO_2P5的寄存器中也有相同功能,也是bit2写1即可。我们同时将这两个bit写1,再进行电流测试。
PMU->REG_2P5_SET |= 1<<2;
PMU->REG_1P1_SET |= 1<<2;
测试结果见下图,峰值冲击电流由原来高达2A减低到了400mA 。最低电压由临界值3.0V变成了3.25V左右。改善效果非常明显。
如果你也遇到过类似情况,建议尝试。
评论