睡眠模式:CAN 节点的 “低功耗待机状态”
扫描二维码
随时随地手机看文章
睡眠模式是 CAN 控制器的 “低功耗” 模式,在该模式下,控制器关闭大部分内部电路(如发送电路、接收电路、时钟电路),仅保留 “唤醒检测电路”,功耗降至微安级(如 SJA1000 睡眠模式功耗 < 10μA),远低于正常模式(通常为 mA 级)。睡眠模式的核心目标是 “降低节点待机功耗”,适用于电池供电的 CAN 节点(如无线 CAN 传感器、便携式诊断设备),延长电池续航时间。
(一)睡眠模式的技术细节:低功耗设计与唤醒机制
睡眠模式的实现依赖 “功耗控制逻辑” 与 “唤醒检测电路” 的协同:当 MCU 向 CAN 控制器写入 “睡眠位”(如 CAN_CR 寄存器中的 SLP 位)时,控制器关闭发送 / 接收电路、内部时钟,仅保留唤醒检测电路与状态寄存器;此时,控制器不与总线交互,也不响应 MCU 的发送 / 接收指令,仅监测 “唤醒事件”。
睡眠模式的 “唤醒事件” 主要有三种:
总线唤醒:若控制器配置为 “总线唤醒使能”,当总线上出现显性位(如其他节点发送的帧起始位)时,唤醒检测电路会触发唤醒信号,控制器自动退出睡眠模式,恢复正常电路工作;
软件唤醒:MCU 通过写入 “唤醒位”(如 CAN_CR 寄存器中的 WUP 位),强制控制器退出睡眠模式;
硬件唤醒:部分 CAN 控制器支持外部硬件唤醒(如通过 GPIO 引脚输入高电平),适用于需要外部触发的场景(如便携式诊断设备通过按键唤醒)。
唤醒过程中,控制器会逐步恢复内部电路:首先启动时钟电路,同步总线时钟;然后初始化发送 / 接收电路;最后清零睡眠标志,切换至正常模式(或之前的模式,如静默模式),并通知 MCU 唤醒完成。唤醒时间通常为微秒级(如 < 100μs),确保节点能快速响应总线事件,避免错过关键数据。
(二)睡眠模式的应用场景:低功耗待机与电池供电
睡眠模式主要用于 “电池供电的 CAN 节点” 与 “间歇性通信的场景”,核心需求是 “延长续航”。在无线 CAN 传感器中,传感器采用锂电池供电,需要每 10 秒采集一次数据并发送到 CAN 总线:在两次采集之间,传感器的 CAN 控制器配置为睡眠模式,功耗从正常模式的 5mA 降至 5μA,续航时间从 1 天延长至 1 个月;当到达采集时间时,MCU 通过软件唤醒 CAN 控制器,发送数据后再次进入睡眠模式,兼顾通信需求与低功耗。
在便携式 CAN 诊断设备中,睡眠模式同样关键:诊断设备平时处于睡眠模式,仅通过按键唤醒;唤醒后,设备工作在静默模式接收总线数据,诊断完成后,若 5 分钟无操作,自动进入睡眠模式,避免电池电量浪费。这种 “唤醒 - 工作 - 睡眠” 的循环,确保设备在不使用时功耗最低,使用时能快速响应。
在汽车 CAN 节点中,部分非核心节点(如车载娱乐系统的 CAN 模块)也支持睡眠模式:当汽车熄火后,车载娱乐系统的 CAN 控制器进入睡眠模式,停止与总线交互,降低汽车蓄电池的功耗,避免长时间停放导致电池亏电;当汽车点火时,通过总线唤醒(总线上出现唤醒帧),恢复正常通信。





