硬件:RT685 + PCA9420,PMIC_IRQ_N 连接到 RT685 专用引脚。
问题: POWER_EnterDeepPowerDown(exclude_from_pd={0,0,0,0}) → MCU 断电(VDDCORE 关闭)。将 PMIC_IRQ_N 拉低 → 无法唤醒。手动将 PMIC_IRQ_N 短接到 GND 约 1 秒也无法唤醒。
入口前需输入代码 :
BOARD_InitPmic(); BOARD_ConfigPMICModes(); BOARD_SetPmicVoltageBeforeDeepPowerDown(); POWER_EnableInterrupts(kPMC_INT_INTRPAD); EnableDeepSleepIRQ(PMC_PMIC_IRQn); BOARD_EnterDeepPowerDown(exclude_from_pd);
```
PMC->FLAGS 唤醒失败后:0x60170000,DEEPPDF(位31)= 0。 WAKE_UP_WITH_PMIC_IRQ_N = 1.
问题 :
是否需要额外的 RT685 端配置才能使 PMIC_IRQ_N 成为有效的 DPD 唤醒源?
当通过 DPD 切断 VDDCORE 时,PCA9420 是否会停止驱动 PMIC_IRQ_N?
有人成功使用 PMIC_IRQ_N 从 DPD 唤醒 RT685 吗?配置可行吗?
嗨@wx1 ,
关于唤醒失败后的 PMC->FLAGS :0x60170000,DEEPPDF(位31)= 0。 WAKE_UP_WITH_PMIC_IRQ_N = 1. 出现此结果的原因是,只有当 MCU 成功完成一个完整的 DPD 周期并从中唤醒时, DEEPPDF ( PMC->FLAGS的第 31 位)才会设置。值为 0 表示 MCU 从未干净地进入 DPD。共存的WAKE_UP_WITH_PMIC_IRQ_N = 1表示 PMC检测到 PMIC_IRQ_N 上的低脉冲,但 DPD 状态从未被提交。这种模式几乎总是意味着在尝试进入 DPD 时 PMIC_IRQ_N 已经钳位(逻辑低) ,导致在 DPD 锁存之前立即出现幻觉唤醒。
当 PMIC_MODE[1:0] 过渡到 0b10(DPD 模式,VDDCORE 关闭)时,PCA9420 内部检测到 SW1_OUT 正在下降。由于 PCA9420 的电压监控逻辑在 SW1 输出端触发,这可能会触发短暂的 INTB 脉冲。如果该脉冲在 DPD 完全执行之前到达 PMC,就会出现你现在看到的情况。
是否需要额外的 RT685 端配置才能使 PMIC_IRQ_N 成为有效的 DPD 唤醒源?
在启用 DPD 之前,清除所有待处理的 PCA9420 中断,以便在 DPD 锁存时 INTB 被取消置位(高电平)。
当通过 DPD 切断 VDDCORE 时,PCA9420 是否会停止驱动 PMIC_IRQ_N?
PMIC_IRQ_N 位于 VDD_AO1V8 始终开启功能域中,在整个 DPD 期间保持通电状态。PCA9420 INTB 输出为开漏输出,由 VIN 供电,因此只要 VIN(您的系统电源)存在,PCA9420 仍然可以将 INTB 拉低。
希望我解释清楚了。
祝你有美好的一天,
坎
-------------------------------------------------------------------------------
笔记:
- 如果此回复解答了您的问题,请点击“标记为正确答案”按钮。谢谢你!
- 我们会持续关注帖子,从最后一条回复发出后持续7周,之后的回复将被忽略。
如果您之后有相关问题,请另开新帖并引用已关闭的帖子。
-------------------------------------------------------------------------------