廣東樂源數字技術有限公司 李 斌
廣州西門子變壓器有限公司 趙偉娟
基于CAN總線的車載導航主機開機方案的優化
廣東樂源數字技術有限公司 李 斌
廣州西門子變壓器有限公司 趙偉娟
采用CAN總線喚醒機制,使用CAN總線上的數據喚醒車載導航主機;在用戶進入車內前,必然發出撤防指令,及解除鎖車狀態,車身控制單元喚醒CAN總線,開始傳輸數據,在車載導航收到第一幀CAN數據時,立即使車載導航主機進入后臺開機模式,這樣達到提前開機效果,用戶上車點火后,導航屏幕打開,此時導航主機已經開機一段時間或完全開機,用戶感覺導航主機開機速度快,提高了開機速度的效果,優化了客戶使用體驗。
汽車電子;音響主機;車載導航;開機速度
隨著汽車電子產品的發展迅速,車載導航系統的使用頻率越來越高,不少中低端車型上都配備的車載導航主機,或稱車載音響主機,傳統的車載導航主機是基于WIN-CE系統,其CPU相對落后,不支持WIFI上網,HDMI顯示,語音識別等智能應用,且可讓用戶自行安裝的應用程序較少。基于安卓系統的車載導航主機由于其開放性、易用性,再加上美觀的UI及其克自定義的桌面,豐富的軟件資源,熱門應用的優勢,使其市場占有率越來越高。[1][6]
但是目前基于安卓系統的車載導航主機中,由于需要在點火時才能啟動電源模塊,進而啟動車載導航主機,因此存在開機速度慢的問題。目前基于安卓系統的車載導航主機的開機速度約為10-30秒,若想達到5-15秒的開機速度,則必須采用速度很快的CPU,這必然導致較高的成本。
CAN是控制器局域網絡(Controller Area Network,CAN)的簡稱,是由研發和生產汽車電子產品著稱的德國BOSCH公司開發了的,并最終成為國際標準(ISO11898),是國際上應用最廣泛的現場總線之一[1][6]。在北美和西歐,CAN總線協議已經成為汽車計算機控制系統和嵌入式工業控制局域網的標準總線,并且擁有以CAN為底層協議專為大型貨車和重工機械車輛設計的J1939協議。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統和環境溫度惡劣、電磁輻射強和振動大的工業環境。
CAN總線原理是通過CAN總線、傳感器、控制器和執行器由串行數據線連接起來。它不僅僅是將電纜按樹形結構連接起來,其通信協議相當于ISO/OSI參考模型中的數據鏈路層,網絡可根據協議探測和糾正數據傳輸過程中因電磁干擾而產生的數據錯誤。CAN網絡的配制比較容易,允許任何站之間直接進行通信,而無需將所有數據全部匯總到主計算機后再行處理。當CAN總線上的一個節點(站)發送數據時,它以報文形式廣播給網絡中所有節點。對每個節點來說,無論數據是否是發給自己的,都對其進行接收。每組報文開頭的11位字符為標識符,定義了報文的優先級,這種報文格式稱為面向內容的編址方案。
CAN總線上的每一個節點設備,都可以向總線上發送數據,也可以接收總線上的數據,這就為本文提供的優化方法提供了數據基礎。
汽車上的CAN總線用于傳輸汽車各個電氣模塊數據和控制信號,汽車在喚醒時,CAN總線上數據或控制信號一直持續不斷的在傳輸,任何一個動作都會產生CAN數據幀,比如開關車門,換擋,啟動,開關空調、雨刮等等,這些數據幀直到汽車休眠后才會停止,汽車休眠時間約為用戶對車輛設防(鎖車)后2~5分鐘,汽車喚醒則為用戶對車輛撤防(開鎖車門),這個動作會給車輛產生第一個CAN總線數據幀,隨后持續產生各種信號的數據幀,這些數據也為本文提供的優化方法提供了數據基礎。[2]
如圖1所示,車載導航主機主要由CPU、微型控制單元、電源模塊、CAN收發器、狀態檢測模塊和其他功能模塊組成[4][5]。
CPU主要處理系統軟件、應用程序等上層軟件;微型控制單元主要處理一些輸入輸出控制,如對各個模塊電源的控制,檢測模塊發來的檢測信息等等;電源模塊主要為各個模塊提供穩定可靠的電源;CAN收發器負責收發CAN總線上的數據;狀態監測模塊負責實時檢測汽車狀態,如熄火、點火等。

圖1 導航主機原理圖框圖
如圖2所示,汽車各項數據和控制信號由車身控制單元在CAN總線上傳輸,導航主機的CAN收發器即可獲得這些數據,微型控制單元將有用的數據提取出來,并結合檢測模塊檢測到的汽車狀態做出相應的處理,控制電源模塊或其他模塊的工作,如顯示、聲音、開關機等操作。

圖2 導航主機與CAN總線

圖3 改進方案流程圖
本文在車載導航主機上的優化方案如圖3所示,用戶在開車門前,需用遙控器對車輛撤防,即開鎖車門,這時車輛的車身控制單元就會在CAN總線上發出撤防消息,然后各種車輛信息開始在CAN總線上傳輸,導航主機的CAN收發器接收到CAN總線的第一幀數據時,立即向微型控制單元發出指令,微型控制單元收到指令后立刻進行后臺開機,打開各個模塊電源,但屏幕保持不亮,音響保持靜音等;在用戶上車后進行ACC ON操作或發動機點火操作后,狀態檢測單元發出相應指令給微型控制單元,微型控制單元再將剩余未開機部分打開,如屏幕,聲音等。此時導航主機其實已開機一段時間,這樣便讓用戶感覺導航主機開機時間變快。預計,用戶撤防車輛,到上車點火時間約為5-20秒或更長,因此相當于導航主機開機時間縮短至少5秒以上。
也就是說使用此方案,當用戶上車點火時導航主機其實已經開機5-20秒時間,實現了導航提前開機的功能,在不提升任何成本的基礎上提升了主機開機速度。
更值得一提的是,在使用過程中,只要CAN總線上有數據,導航主機就一直處于喚醒狀態,若用戶熄火車輛后,在車輛完全休眠前(約2-5分鐘內)又再次打火,導航主機后臺其實一直保持開機狀態的,這時候車輛打火,主機開機直接進入主界面,用戶感覺主機開機時間為0秒,極大改善了用戶使用體。
本文對開機時間較長車載導航主機,如基于安卓系統的主機的開機系統進行了優化,針對汽車CAN總線上的數據傳輸特性,使車載導航主機隨汽車CAN總線的喚醒而同步后臺開機,使用戶感覺導航開機時間變短或為0秒。
(1)本文采用CAN總線喚醒機制,使用CAN總線上的數據喚醒車載導航主機后臺開機,相當于導航主機提前在后臺開機,用戶上車ACC ON后,再打開導航主機的屏幕和聲音,這樣便讓用戶感覺開機時間縮短,達到提高開機速度的目的。
(2)CAN總線是只要有數據,即車輛未休眠,車載導航主機就處于開機狀態,只是有ACC信號來控制打開和關閉屏幕和聲音,此時用戶ACC ON,導航主機直接打開屏幕和聲音,用戶感覺開機時間為0秒,大大提高用戶體驗。
[1]農麗萍,王力虎,黃一平.Android在嵌入式車載導航系統的應用研究[J].計算機工程與設計,2010,31(11):2473-2476.
[2]吳鵬,傅成華,干樹川.CAN總線接口電路設計[J].中國西部科技,2009(13).
[3]付亮,李偉.CAN總線技術及其在現代汽車中的應用[J].中國汽車制造,2006(01).
[4]康迂福,馮桑,陳興彬.車載DVD導航一體機的技術分析與展望[J].汽車電器,2010(8):1-6.
[5]王施恩.基于WINCE的車載信息系統設計[D].華南理工大學,2011.
[6]李斌.一種基于CAN總線的車載導航主機開機優化系統[P].中國:204821409U,2015-12-02.
李斌【通訊作者】(1988—),湖南長沙人,男,碩士,現工作與廣東樂源數字技術有限公司。
趙偉娟(1989—),山東菏澤人,碩士,現工作于廣州西門子變壓器有限公司。