睡眠模式是器件的节能工作模式。在此模式下,器件可以从 CAN 总线、LIN 总线、WAKEx 引脚或 SW 引脚(如果已编程)唤醒。如果存在 VCC1,则 SPI 可用于更改模式,并且 nRST 为高电平。如果由于故障条件而进入睡眠模式,则 INT_2 寄存器 8'h52[7] (SMS) 设置为 1b。图 8-28 展示了进入和退出睡眠模式的各种方式。
当器件处于睡眠模式时,存在以下状况。
- 禁用 LIN 总线驱动器,关闭内部 LIN 总线终端(从而在 LIN 对地短路时更大限度地减少功率损耗)。但是,弱电流上拉处于活动状态,防止在与 LIN 总线的外部连接丢失时出现错误的唤醒事件。
- CAN 总线驱动程序被禁用,内部 CAN 总线终端切换至弱接地。
- CAN 和 LIN 收发器接收器被禁用。
- CAN 和 LIN 低功耗唤醒接收器符合编程要求。
- 唤醒引脚符合编程设置。
- 如果启用了循环检测,则 HSS4 会定期开启。
- 如果编程为数字唤醒输入,则 SW 引脚开启。
- 如果在睡眠模式下启用循环唤醒,器件将唤醒并转换为重启模式,然后在 VCC1 > UVCC1R 时切换为待机模式。如果在长窗口期间未触发看门狗,或故障仍然存在,则器件会切换回睡眠模式。
- 当 VCC1 配置为在睡眠模式下开启时,请考虑以下情况:
- 看门狗可作为超时看门狗启用
- 看门狗故障会导致器件进入重启模式,最后进入待机模式。这也会设置 SME 中断
- 现在会监测 SBC 故障,这些故障可能导致器件自动更改模式,从而将 INT_2 寄存器 8'h52[0] 处的睡眠模式退出 (SME) 中断设置为 1b
- 如果启用了失效防护模式,则 TSD、OVCC1 或 VCC1SC 故障会导致器件切换为失效防护模式并关闭 VCC1。
- 如果禁用了失效防护模式、则 TSD、OVCC1 或 VCC1SC 故障会导致 VCC1 关闭 300ms,然后重新导通。如果故障已清除,器件将切换为重启,最后进入待机模式。
- 如果发生 UVCC1 事件,则器件会转换到切换至重启模式,最后进入待机模式。这也会设置 SME 中断。
要成功进入睡眠模式,必须满足以下条件:
- 所有现有的唤醒中断都必须清除
- 若未能执行操作,会导致使用 SBC 重启进入待机模式,从而立即从 SBC 睡眠模式唤醒。
- 必须至少有一种唤醒方法可用
- 如果在进入睡眠模式之前禁用了所有唤醒方法,则器件不会进入睡眠模式并设置 MODE_ERR 中断 8'h5A[3]。
- 如果 VCC1_CFG = 10b(VCC1 在睡眠模式下关闭)且 WAKEx 引脚阈值设置为基于 VCC1 (WAKEx_LEVEL = 00b),则器件会在进入睡眠模式之前将 CAN 和 LIN 设置为支持唤醒