睡眠模式:CAN 節(jié)點(diǎn)的 “低功耗待機(jī)狀態(tài)”
睡眠模式是 CAN 控制器的 “低功耗” 模式,在該模式下,控制器關(guān)閉大部分內(nèi)部電路(如發(fā)送電路、接收電路、時(shí)鐘電路),僅保留 “喚醒檢測(cè)電路”,功耗降至微安級(jí)(如 SJA1000 睡眠模式功耗 < 10μA),遠(yuǎn)低于正常模式(通常為 mA 級(jí))。睡眠模式的核心目標(biāo)是 “降低節(jié)點(diǎn)待機(jī)功耗”,適用于電池供電的 CAN 節(jié)點(diǎn)(如無(wú)線(xiàn) CAN 傳感器、便攜式診斷設(shè)備),延長(zhǎng)電池續(xù)航時(shí)間。
(一)睡眠模式的技術(shù)細(xì)節(jié):低功耗設(shè)計(jì)與喚醒機(jī)制
睡眠模式的實(shí)現(xiàn)依賴(lài) “功耗控制邏輯” 與 “喚醒檢測(cè)電路” 的協(xié)同:當(dāng) MCU 向 CAN 控制器寫(xiě)入 “睡眠位”(如 CAN_CR 寄存器中的 SLP 位)時(shí),控制器關(guān)閉發(fā)送 / 接收電路、內(nèi)部時(shí)鐘,僅保留喚醒檢測(cè)電路與狀態(tài)寄存器;此時(shí),控制器不與總線(xiàn)交互,也不響應(yīng) MCU 的發(fā)送 / 接收指令,僅監(jiān)測(cè) “喚醒事件”。
睡眠模式的 “喚醒事件” 主要有三種:
總線(xiàn)喚醒:若控制器配置為 “總線(xiàn)喚醒使能”,當(dāng)總線(xiàn)上出現(xiàn)顯性位(如其他節(jié)點(diǎn)發(fā)送的幀起始位)時(shí),喚醒檢測(cè)電路會(huì)觸發(fā)喚醒信號(hào),控制器自動(dòng)退出睡眠模式,恢復(fù)正常電路工作;
軟件喚醒:MCU 通過(guò)寫(xiě)入 “喚醒位”(如 CAN_CR 寄存器中的 WUP 位),強(qiáng)制控制器退出睡眠模式;
硬件喚醒:部分 CAN 控制器支持外部硬件喚醒(如通過(guò) GPIO 引腳輸入高電平),適用于需要外部觸發(fā)的場(chǎng)景(如便攜式診斷設(shè)備通過(guò)按鍵喚醒)。
喚醒過(guò)程中,控制器會(huì)逐步恢復(fù)內(nèi)部電路:首先啟動(dòng)時(shí)鐘電路,同步總線(xiàn)時(shí)鐘;然后初始化發(fā)送 / 接收電路;最后清零睡眠標(biāo)志,切換至正常模式(或之前的模式,如靜默模式),并通知 MCU 喚醒完成。喚醒時(shí)間通常為微秒級(jí)(如 < 100μs),確保節(jié)點(diǎn)能快速響應(yīng)總線(xiàn)事件,避免錯(cuò)過(guò)關(guān)鍵數(shù)據(jù)。
(二)睡眠模式的應(yīng)用場(chǎng)景:低功耗待機(jī)與電池供電
睡眠模式主要用于 “電池供電的 CAN 節(jié)點(diǎn)” 與 “間歇性通信的場(chǎng)景”,核心需求是 “延長(zhǎng)續(xù)航”。在無(wú)線(xiàn) CAN 傳感器中,傳感器采用鋰電池供電,需要每 10 秒采集一次數(shù)據(jù)并發(fā)送到 CAN 總線(xiàn):在兩次采集之間,傳感器的 CAN 控制器配置為睡眠模式,功耗從正常模式的 5mA 降至 5μA,續(xù)航時(shí)間從 1 天延長(zhǎng)至 1 個(gè)月;當(dāng)?shù)竭_(dá)采集時(shí)間時(shí),MCU 通過(guò)軟件喚醒 CAN 控制器,發(fā)送數(shù)據(jù)后再次進(jìn)入睡眠模式,兼顧通信需求與低功耗。
在便攜式 CAN 診斷設(shè)備中,睡眠模式同樣關(guān)鍵:診斷設(shè)備平時(shí)處于睡眠模式,僅通過(guò)按鍵喚醒;喚醒后,設(shè)備工作在靜默模式接收總線(xiàn)數(shù)據(jù),診斷完成后,若 5 分鐘無(wú)操作,自動(dòng)進(jìn)入睡眠模式,避免電池電量浪費(fèi)。這種 “喚醒 - 工作 - 睡眠” 的循環(huán),確保設(shè)備在不使用時(shí)功耗最低,使用時(shí)能快速響應(yīng)。
在汽車(chē) CAN 節(jié)點(diǎn)中,部分非核心節(jié)點(diǎn)(如車(chē)載娛樂(lè)系統(tǒng)的 CAN 模塊)也支持睡眠模式:當(dāng)汽車(chē)熄火后,車(chē)載娛樂(lè)系統(tǒng)的 CAN 控制器進(jìn)入睡眠模式,停止與總線(xiàn)交互,降低汽車(chē)蓄電池的功耗,避免長(zhǎng)時(shí)間停放導(dǎo)致電池虧電;當(dāng)汽車(chē)點(diǎn)火時(shí),通過(guò)總線(xiàn)喚醒(總線(xiàn)上出現(xiàn)喚醒幀),恢復(fù)正常通信。





