汽車CAN節(jié)點的低功耗設計及實現(xiàn)
作者 / 馬建輝1,2,3 張云1,2,3 胡代榮1,2,3 孫常青1,2,3 1、齊魯工業(yè)大學(山東省科學院)(山東 濟南 250353) 2、山東省科學院自動化研究所(山東 濟南 250014) 3、山東省汽車電子技術(shù)重點實驗室(山東 濟南 250014)
本文引用地址:http://www.ex-cimer.com/article/201802/376165.htm*基金項目:山東省重點研發(fā)計劃(重大關鍵技術(shù))(編號:2016ZDJS03A04);山東省科學院創(chuàng)新工程專項《純電動汽車關鍵技術(shù)研究及產(chǎn)業(yè)化應用》;山東省重點研發(fā)計劃(編號:2016GGC01023)
馬建輝(1983-),男,助理研究員,研究方向:嵌入式及汽車電子。
摘要:滿足OSEK NM規(guī)范的CAN節(jié)點進入休眠后,一方面可以被本地喚醒信號喚醒,另一方面可以被總線上的有效顯性位喚醒,當本地喚醒信號的濾波電路濾除不掉雜波時,本地喚醒信號線上的雜波會喚醒本地CAN節(jié)點。當CAN物理層收發(fā)器電路濾除不掉總線上的毛刺時,總線毛刺也會喚醒CAN節(jié)點。為了防止CAN節(jié)點被錯誤喚醒,通過設計臨時喚醒模式和喚醒確認模式,判斷是否存在有效的本地喚醒條件或CAN報文,避免了CAN節(jié)點被誤喚醒進而喚醒,整個網(wǎng)絡,從而大大增加整車電流消耗的問題。
0 引言
隨著汽車功能和電子電氣系統(tǒng)越來越復雜,常電供電節(jié)點也越來越多?,F(xiàn)代汽車CAN網(wǎng)絡大多遵循OSEK直接網(wǎng)絡管理協(xié)議實現(xiàn)常電供電CAN節(jié)點的休眠和喚醒功能[1]。根據(jù)OSEK直接網(wǎng)絡管理協(xié)議,所有常電供電CAN節(jié)點都滿足休眠條件后,整個CAN網(wǎng)絡協(xié)同進入睡眠狀態(tài),當某個CAN節(jié)點被本地喚醒條件喚醒后,它將向CAN網(wǎng)絡上發(fā)送ALIVE報文喚醒整個CAN網(wǎng)絡[2],其它CAN節(jié)點檢測到CAN網(wǎng)絡上出現(xiàn)有效的顯性位時,CAN物理層收發(fā)器向CAN控制器的接收腳輸出一個下拉脈沖,喚醒MCU和CAN節(jié)點,然后,被喚醒的CAN節(jié)點向總線上發(fā)送ALIVE報文,這些節(jié)點通過ALIVE報文完成網(wǎng)絡建環(huán)。一般情況下,整車靜態(tài)電流一般為喚醒狀態(tài)下的幾十分之一,甚至幾百分之一。
在一個實現(xiàn)了OSEK直接網(wǎng)絡管理規(guī)范的CAN網(wǎng)絡中,當CAN網(wǎng)絡進入休眠狀態(tài)后,CAN節(jié)點一方面可以被本地喚醒[3](一般為開關信號),一方面可以被總線喚醒??偩€物理層收發(fā)器及其外圍電路具備濾波功能,當總線上出現(xiàn)比較短的毛刺時,總線物理層收發(fā)器會過濾掉該毛刺,但是,由于CAN物理層規(guī)范對CAN信號的上升沿和下降沿有一定要求,它能過濾掉的雜波一般都只是微秒級,當總線上出現(xiàn)時間長度比較寬的毛刺時,物理層收發(fā)器便會在MCU的CAN控制器的接收引腳上產(chǎn)生一個低有效電平,這樣,該CAN節(jié)點便會被喚醒,根據(jù)直接網(wǎng)絡管理規(guī)范,除了自身被喚醒之外,它還會通過ALIVE報文喚醒其它CAN節(jié)點,使得整個CAN網(wǎng)絡退出休眠狀態(tài),使得整車的電流消耗比休眠狀態(tài)下的整車靜態(tài)電流大幾十倍,甚至上百倍,不僅大大增加了整車的電流消耗,還可能會造成蓄電池虧電無法啟動發(fā)動機的情形[4]。本地喚醒條件也有類似的誤喚醒問題。
為了保證CAN節(jié)點不會被本地喚醒信號或者CAN信號誤喚醒,本文設計了一種方法,只有在確實滿足本地喚醒條件的情況下,或者總線上確實存在有效報文的條件下,節(jié)點才會被喚醒[5]。
1 方案設計
為CAN節(jié)點設計四種工作模式:喚醒模式、休眠模式、臨時喚醒模式[6]和喚醒確認模式。其中,喚醒模式為正常工作模式,CAN節(jié)點電流消耗最大。休眠模式、臨時喚醒模式和喚醒確認模式為低功耗模式,其中,休眠模式下的電流消耗最小。CAN節(jié)點的靜態(tài)電流是指CAN節(jié)點在低功耗模式下的電流消耗[7],即在休眠模式、臨時喚醒模式和喚醒確認模式下的平均電流消耗。四種工作模式跳轉(zhuǎn)如圖1所示。
CAN節(jié)點上電后自動進入喚醒模式,并在休眠條件不滿足的情況下保持喚醒模式。CAN節(jié)點滿足本地休眠條件且整個CAN網(wǎng)絡協(xié)同休眠后,CAN節(jié)點禁能CAN收發(fā)器和控制器[8],設置喚醒源,然后進入休眠模式。
為了保證本地喚醒信號線上的雜波不會誤喚醒CAN節(jié)點,進入休眠模式時只設置兩個喚醒源——CAN信號和內(nèi)部定時器。其中,CAN喚醒源能夠保證當CAN總線上出現(xiàn)一個有效的顯性位時,CAN節(jié)點會馬上喚醒,內(nèi)部定時器喚醒源定時值記為Tsleep,能夠保證CAN節(jié)點被周期喚醒。
臨時喚醒模式保持時間為Ttempwake,在臨時喚醒模式中輪詢本地喚醒條件,不僅可以避免本地喚醒信號線的雜波喚醒MCU,減少了MCU的喚醒次數(shù),降低了靜態(tài)電流,還降低了對MCU喚醒中斷引腳的需求。
Tsleep和Ttempwake時間根據(jù)CAN節(jié)點靜態(tài)電流約束條件和本地喚醒時間定義,為了保證功能的實時性,出現(xiàn)本地喚醒后,CAN節(jié)點要在一定的時間內(nèi)向CAN網(wǎng)絡上發(fā)送ALIVE報文喚醒其它節(jié)點,Tsleep越大,本地喚醒時間越長,Tsleep和Ttempwake的比值越大,CAN節(jié)點靜態(tài)電流越小。
2 喚醒算法設計
為了保證CAN節(jié)點不被總線毛刺和本地喚醒信號毛刺誤喚醒,設計了臨時喚醒模式和喚醒確認模式。在臨時喚醒模式下,CAN節(jié)點輪詢CAN控制器標志位和本地喚醒信號電平,在喚醒確認模式下,CAN節(jié)點查詢CAN報文接收和本地喚醒條件是否有效。喚醒算法流程如圖2所示。
當節(jié)點進入休眠后,CAN信號或者內(nèi)部定時器臨時喚醒節(jié)點,進入臨時喚醒模式,臨時喚醒模式保持時間為Ttempwake,在臨時喚醒模式期間輪詢CAN控制器的喚醒狀態(tài)位和本地喚醒信號的電平,如果CAN控制器喚醒狀態(tài)位和本地喚醒信號電平一直無效,Ttempwake后CAN節(jié)點再次進入休眠模式。如果CAN控制器喚醒狀態(tài)位有效或者本地喚醒信號電平有效,進入喚醒確認模式。
在喚醒確認模式中,如果CAN控制器喚醒標志位有效,使能CAN物理層收發(fā)器和CAN控制器,根據(jù)該CAN網(wǎng)絡的波特率,設定一定的濾波時間(記為Tfilter),檢查該段時間以內(nèi)是否接收到CAN報文,如果接收到,說明這是有效的CAN報文喚醒,CAN節(jié)點進入喚醒模式,如果沒有收到,說明CAN節(jié)點是被總線上的毛刺喚醒的,這時,節(jié)點返回休眠模式。在喚醒確認模式中,如果本地喚醒信號有效,以2 ms為周期,連續(xù)檢測三次本地喚醒信號電平,如果均有效,進入喚醒模式。否則,節(jié)點返回休眠模式。
Tfilter根據(jù)總線網(wǎng)絡的波特率確定,根據(jù)CAN協(xié)議,CAN報文數(shù)據(jù)場的最大長度為8字節(jié),一條數(shù)據(jù)場長度為8字節(jié)的CAN報文包含108個總線位,根據(jù)波特率可以計算出報文數(shù)據(jù)場長度為8字節(jié)的CAN報文的時長,Tfilter設置為最大CAN報文時長的2倍左右。汽車CAN網(wǎng)絡的波特率有500 kbps、250 kbps、125 kbps三種,具體而言:
波特率為500 kbps時,CAN報文最大時長為0.216 ms,Tfilter設置為0.5 ms;
波特率為250 kbps時,CAN報文最大時長為0.432 ms,Tfilter設置為1 ms;
波特率為125 kbps時,CAN報文最大時長為0.864 ms,Tfilter設置為2 ms。
3 結(jié)論
本文設計了一種汽車CAN節(jié)點的低功耗方案,通過設置喚醒確認模式,區(qū)分有效的CAN報文和總線毛刺,區(qū)分有效的本地喚醒條件和信號毛刺,避免了誤喚醒。根據(jù)CAN網(wǎng)絡的波特率確定CAN報文濾波時間,避免了無效等待。本方法應用在為某車型設計的PEPS中,具有較強的實用性。
參考文獻:
[1]蔡營,王永峰,岳意娥,等.基于OSEK標準的整車CAN網(wǎng)絡管理設計及測試驗證[J].汽車電器,2016,(8):38-41,49.
[2]苗斌,王衛(wèi)華,趙永勝,等.具有OSEK功能汽車儀表的睡眠及喚醒管理研究[J].汽車電器,2014,(2):15-18.
[3]劉文英,鄒洪波,王東,等.一種基于CAN總線的低功耗汽車組合開關[J].機電工程,2013,(11):1406-1409,1429.
[4]付國良.整車靜態(tài)電流設計及驗證[J].汽車電器,2015,(11):17-19.
[5]山東省科學院自動化研究所.一種汽車CAN節(jié)點的低功耗設計方法:中國, 201710458567.7 [P].2017-6-16.
[6]馬建輝,劉源楊,候冬冬,等.汽車BCM的低功耗設計及實現(xiàn)[J].電子產(chǎn)品世界,2016,(11):55-56,30.
[7]山東省科學院自動化研究所.一種低功耗車身控制器及其控制方法:中國, 201510125944.6 [P].2015-03-20.
[8]初洪超.網(wǎng)絡管理在汽車CAN系統(tǒng)的應用[J].汽車實用技術(shù),2016,(5):114-118.
本文來源于《電子產(chǎn)品世界》2018年第3期第42頁,歡迎您寫論文時引用,并注明出處。
評論