我遇到了一个问题、在深度睡眠期间 VDDR 调节似乎变得不稳定。 以下是事件的顺序以及我的错误理论:
- CC1350间歇性运行、并在每次唤醒之间关闭所有电源域几百毫秒后进入深度睡眠模式
- 返回到活动操作后、 调用 SysCtrlAdjustRechargeAfterPowerDown (0);因此在再充电裕量调整上没有裕量
- 然后、发生一个事件、我们更改 SSI1配置并在返回深度睡眠之前切换几个位。 为了避免从深度睡眠状态返回时重置 SSI1、这次我们不会关闭 Periph 域、因此我们保留状态。
- 当我们进入深度睡眠模式时、VDDR 电压会急剧下降(降至0.7V)、VDDR 稳压器似乎难以恢复控制。 系统在此之后运行不稳定。
我认为、增加的电流消耗加上不进行再充电裕度调节会导致稳压器发生故障。 (这是一个可能的假设吗?) 该稳压器还使用低于参考设计建议值的电容器运行、这可能会增加问题。
为了解决这个问题、我想将再充电参数重置为一个周期较短的值、这样它就会调整到较高的电流、所以我:
SysCtrlSetRechargeBeforePowerDown (XOSC_IN_HIGH_POWER_MODE);
HWREG (AON_WUC_BASE + AON_WUC_O_RECHARGECFG)=
(0x80A4E700)|
(1 << AON_WuC_RECHARGECFG_PER_M_S);
将再充电周期重置为大约1ms (在 sys_ctrl.c 中受到 SysCtrlSeteRechbeforePowerDown 的强烈启发)。
这似乎效果良好。 当深度睡眠周期开始时、稳压器以较低的再充电间隔启动、然后对其进行调节、直到在 VDDR 达到合理的锯齿幅值。
我的问题是、这是一种合理的处理方式、还是您有其他更可取的建议解决方案?