揣孟洋,管 婧,張茜銘 Chuai Mengyang,Guan Jing,Zhang Ximing
基于OSEK的整車CAN網(wǎng)絡(luò)不睡眠問題研究
揣孟洋,管 婧,張茜銘 Chuai Mengyang,Guan Jing,Zhang Ximing
(中國第一汽車集團(tuán)有限公司,吉林 長春 130013)
整車如果發(fā)生CAN網(wǎng)絡(luò)不睡眠的情況會(huì)對(duì)車輛產(chǎn)生十分嚴(yán)重的危害,造成車輛可停放時(shí)間縮短,頻繁出現(xiàn)啟動(dòng)困難問題,導(dǎo)致車輛無法啟動(dòng),甚至使蓄電池報(bào)廢,直接影響到整車的可靠性?;贠SEK(Open System and the Corresponding Interfaces for Automotive Electronics,汽車電子類開放系統(tǒng)和對(duì)應(yīng)接口標(biāo)準(zhǔn))網(wǎng)絡(luò)管理,從實(shí)踐出發(fā)研究整車CAN網(wǎng)絡(luò)不睡眠問題的3種常見原因,即睡眠后被重新喚醒,睡眠條件不滿足和無法穩(wěn)定建環(huán),并制定相關(guān)的排查方法。
CAN網(wǎng)絡(luò);睡眠條件;喚醒;建環(huán)
隨著汽車產(chǎn)業(yè)的不斷發(fā)展,CAN總線在車輛上的運(yùn)用日益增多,同時(shí)整車的擴(kuò)展功能越來越強(qiáng)大,越來越多的新功能新技術(shù)需要車輛在電源關(guān)閉后進(jìn)行一些帶電操作,因此為保證車輛長時(shí)停放后仍能正常起動(dòng),很多CAN節(jié)點(diǎn)都必須具備網(wǎng)絡(luò)睡眠喚醒功能。但如果某個(gè)CAN節(jié)點(diǎn)網(wǎng)絡(luò)睡眠喚醒有問題,整車就無法進(jìn)入網(wǎng)絡(luò)睡眠狀態(tài),以目前應(yīng)用較廣泛的OSEK網(wǎng)絡(luò)管理為基礎(chǔ),研究整車CAN網(wǎng)絡(luò)不睡眠問題的產(chǎn)生原因以及相應(yīng)的排查方法。
實(shí)車排查CAN網(wǎng)絡(luò)不睡眠問題,需要的基礎(chǔ)設(shè)備有總線讀取工具(以CANoe為例)、OBD線、裝有CANoe軟件的筆記本電腦、CAN數(shù)據(jù)庫(dbc)。在連接OBD線時(shí),需要提前與線束/診斷工程師確認(rèn)OBD口的引腳定義和DB9端的端口。
從3個(gè)案例研究基于OSEK(Open System and the Corresponding Interfaces for Automotive Electronics,汽車電子類開放系統(tǒng)和對(duì)應(yīng)接口標(biāo)準(zhǔn))的整車CAN網(wǎng)絡(luò)不睡眠問題的產(chǎn)生原因和排查方法。OSEK NM(Network Management,網(wǎng)絡(luò)管理)報(bào)文結(jié)構(gòu)如圖1所示[1]。
圖1 OSEK NM報(bào)文結(jié)構(gòu)
如果某個(gè)CAN節(jié)點(diǎn)在本地沒有需求的情況下向總線發(fā)送報(bào)文,將會(huì)引起總線頻繁處于睡眠→喚醒→睡眠的循環(huán)當(dāng)中,使整車始終不能進(jìn)入網(wǎng)絡(luò)睡眠狀態(tài)。
產(chǎn)生這個(gè)問題的節(jié)點(diǎn)范圍最廣,無論是否具備網(wǎng)絡(luò)睡眠喚醒功能,只要是CAN節(jié)點(diǎn),就有可能導(dǎo)致這個(gè)問題。
在排查此原因?qū)е碌恼嘋AN網(wǎng)絡(luò)不睡眠問題時(shí),需要重點(diǎn)查看OpCode為03/07的NM報(bào)文發(fā)送完后,是否有某個(gè)CAN節(jié)點(diǎn)再發(fā)送報(bào)文重新喚醒總線[2]。
如圖2所示,在305.7時(shí)刻,ID為481的NM報(bào)文OpCode為03,此時(shí)各CAN節(jié)點(diǎn)進(jìn)入等待總線睡眠狀態(tài),停發(fā)報(bào)文5s準(zhǔn)備正式進(jìn)入網(wǎng)絡(luò)睡眠狀態(tài);但到310.7時(shí)刻總線上出現(xiàn)了ID為1EF的報(bào)文,總線被重新喚醒,導(dǎo)致整車CAN網(wǎng)絡(luò)無法睡眠。借助dbc,可以確認(rèn)1EF這個(gè)報(bào)文是由哪個(gè)CAN節(jié)點(diǎn)所發(fā),完成問題排查。
圖2 網(wǎng)絡(luò)睡眠后被重新喚醒
網(wǎng)絡(luò)管理是一種協(xié)同的理念,如果某個(gè)CAN節(jié)點(diǎn)一直不滿足網(wǎng)絡(luò)睡眠條件,就會(huì)連帶著整個(gè)網(wǎng)段都不能進(jìn)入網(wǎng)絡(luò)睡眠狀態(tài),整車即出現(xiàn)CAN網(wǎng)絡(luò)不睡眠問題[3]。
產(chǎn)生這個(gè)問題的原因一般為控制器外圍的某些配件狀態(tài)較差,難以滿足節(jié)點(diǎn)的網(wǎng)絡(luò)睡眠條件。
在排查此原因?qū)е碌恼嘋AN網(wǎng)絡(luò)不睡眠問題時(shí),需要重點(diǎn)查看約定時(shí)間到達(dá)后,是否有某個(gè)CAN節(jié)點(diǎn)的NM報(bào)文OpCode不是05。
如圖3所示,到達(dá)約定時(shí)間后,ID為480的NM報(bào)文OpCode一直為01,因此可以確定是該CAN節(jié)點(diǎn)的網(wǎng)絡(luò)睡眠條件未滿足,影響了整車CAN網(wǎng)絡(luò)睡眠,完成問題排查。
圖3 節(jié)點(diǎn)未滿足網(wǎng)絡(luò)睡眠條件
建環(huán)是OSEK網(wǎng)絡(luò)管理的核心,如果因某個(gè)CAN節(jié)點(diǎn)問題導(dǎo)致無法穩(wěn)定建環(huán),會(huì)使該網(wǎng)段始終有部分CAN節(jié)點(diǎn)無法發(fā)送正常的NM報(bào)文,進(jìn)而影響整車CAN網(wǎng)絡(luò)睡眠。
這個(gè)問題是OSEK網(wǎng)絡(luò)管理特有的故障因素,報(bào)文上呈現(xiàn)得很復(fù)雜,CAN節(jié)點(diǎn)間的建環(huán)十分混亂,每個(gè)CAN節(jié)點(diǎn)的NM報(bào)文Destination和OpCode都在不斷變化,需要找到問題的本質(zhì)。
在排查此原因?qū)е碌恼嘋AN網(wǎng)絡(luò)不睡眠問題時(shí),需要重點(diǎn)查看建環(huán)過程中,是否有某個(gè)CAN節(jié)點(diǎn)的NM報(bào)文發(fā)送時(shí)機(jī)不合理或者Destination指向不合理。
如圖4所示,ID為481、487、490和496的NM報(bào)文都能夠正常建環(huán),但當(dāng)ID為496的NM報(bào)文Destination指向17時(shí),0x497并沒有繼續(xù)保持建環(huán),約260ms超時(shí)后所有CAN節(jié)點(diǎn)重新建環(huán)。而當(dāng)各CAN節(jié)點(diǎn)發(fā)送alive報(bào)文重新建環(huán)時(shí),0x497發(fā)送出本應(yīng)在保持建環(huán)時(shí)發(fā)送的ring報(bào)文;因此可以確定是0x497的發(fā)送節(jié)點(diǎn)出現(xiàn)問題,導(dǎo)致建環(huán)受到影響,使整車不能進(jìn)入網(wǎng)絡(luò)睡眠狀態(tài)。
驗(yàn)證此原因的方法是在線束工程師的幫助下斷開該節(jié)點(diǎn)的電源熔斷器,使建環(huán)恢復(fù)正常,查看整車能否正常進(jìn)入網(wǎng)絡(luò)睡眠狀態(tài)。
圖4 無法穩(wěn)定建環(huán)
掌握整車CAN網(wǎng)絡(luò)不睡眠問題的產(chǎn)生原因和排查方法需要建立在不斷的實(shí)踐和積累之上,高效、快速排查出導(dǎo)致整車CAN網(wǎng)絡(luò)不睡眠的原因,既能夠幫助問題控制器加強(qiáng)改進(jìn),又能夠提高開發(fā)效率,減少不必要的測試,希望為整車CAN網(wǎng)絡(luò)不睡眠問題的產(chǎn)生原因和排查方法提供參考與幫助。
[1]OSEK/VDX. Network Management Concept and Application Programming Interface[Z].2004.
[2]康拉德.萊夫. BOSCH汽車電氣與電子[M].孫澤昌,等譯. 北京:北京理工大學(xué)出版社,2014:49-76.
[3]初洪超. 網(wǎng)絡(luò)管理在汽車CAN系統(tǒng)的應(yīng)用[J]. 汽車實(shí)用技術(shù),2016(5):114-118.
U463.3
A
10.14175/j.issn.1002-4581.2020.01.005
1002-4581(2020)01-0016-02