【摘" 要】總線報文的發(fā)送周期有嚴格要求,如果發(fā)送周期不一致容易導致總線信號異?;蛘邅G幀的情況,也不利于控制器模塊的功能執(zhí)行。組合儀表作為車輛中重要的控制器,當儀表發(fā)送的數(shù)據(jù)出現(xiàn)周期不穩(wěn)定的情況時,將直接影響儀表的顯示功能。文章針對研發(fā)過程中出現(xiàn)的儀表CAN報文發(fā)送周期異常問題,進行系統(tǒng)深入的研究,并采用魚骨圖方法枚舉可能原因,并通過模擬仿真分析出問題的根本原因,最后修改軟件后進行測試驗證,確認問題已經完全解決。
【關鍵詞】控制器;報文周期;儀表;魚骨圖
中圖分類號:U463.6" " 文獻標識碼:A" " 文章編號:1003-8639( 2024 )12-0066-02
Research on the Problem of Abnormal Sending Cycle of Instrument CAN Packets
【Abstract】The transmission cycle of bus messages has strict requirements. If the transmission cycle is inconsistent,it can easily lead to abnormal bus signals or frame loss,which is not conducive to the functional execution of the controller module. As an important controller in vehicles,the combination instrument,when the data sent by the instrument is unstable,it will directly affect the display function of the instrument. This article conducts a systematic and in-depth study on the issue of abnormal CAN message transmission cycle in the development process of the instrument,and uses fishbone diagram method to enumerate possible reasons. The root cause of the problem is analyzed through simulation. Finally,after modifying the software,testing and verification are carried out to confirm that the problem has been completely solved.
【Key words】controller;message cycle;instrument;fishbone diagram
隨著汽車智能網聯(lián)化技術的不斷發(fā)展,整車上的CAN節(jié)點也越來越多。目前整車的功能主要是通過CAN通信方式實現(xiàn)系統(tǒng)之間交互,CAN總線廣泛應用于汽車電子行業(yè)實時通信和數(shù)據(jù)傳輸。另外,總線上的CAN控制器報文的發(fā)送要求比較高,如果整車上發(fā)送的數(shù)據(jù)不穩(wěn)定或者異常,對整車功能交互影響較大。比如某個控制器節(jié)點發(fā)送周期不準,很可能導致整車出現(xiàn)通信中斷、數(shù)據(jù)丟失或系統(tǒng)錯誤等CAN通信故障問題,直接影響功能的實現(xiàn)效果,甚至導致功能失效。因此,當整車出現(xiàn)通信不穩(wěn)定問題時,利用CAN總線分析方法對于電子電器故障診斷十分重要。
1" 問題現(xiàn)象
某車型在開發(fā)過程中出現(xiàn)儀表發(fā)送的信號報文不穩(wěn)定的問題,同時讀取故障碼,發(fā)動機控制器節(jié)點報燃油液位傳感器信號校驗錯誤,其他節(jié)點報儀表通信節(jié)點丟失歷史故障碼。采集整車的一段總線數(shù)據(jù)(圖1)分析發(fā)現(xiàn),儀表發(fā)送的Rolling Counter信號出現(xiàn)異常,同時發(fā)現(xiàn)儀表發(fā)送的信號周期不穩(wěn)定。另外采集數(shù)據(jù)確認總線沒有錯誤幀的情況,排除儀表被其他模塊干擾總線產生錯誤幀的情況,初步分析屬于總線異常故障問題。
2" 魚骨圖方法分析
針對上述信號發(fā)送周期不穩(wěn)定的問題,展開頭腦風暴深入分析潛在的故障原因,將所有可能的原因進行枚舉。
1)CAN通道硬件問題。硬件問題導致CAN發(fā)送不穩(wěn)定,存在發(fā)送失敗情況,最終導致總線發(fā)送周期不穩(wěn)定。
2)系統(tǒng)TASK運行周期不穩(wěn)定問題。發(fā)送CAN信號的TASK運行周期不穩(wěn),導致實際的CAN報文發(fā)送周期不穩(wěn)定。
3)CAN模塊驅動問題。CAN模塊的底層驅動存在問題,所以導致CAN報文發(fā)送周期不準。
4)CAN模塊發(fā)送邏輯問題。兩路CAN的發(fā)送邏輯存在干擾現(xiàn)象,所以導致CAN報文發(fā)送周期不穩(wěn)定。
綜上分析,以上4種原因均可能導致儀表報文發(fā)送周期穩(wěn)定性差,從而周期發(fā)送不穩(wěn)定。為了確認這個問題產生的原因,針對以上各個可能的潛在原因進行測試驗證分析,并最終分析出根本原因。儀表報文周期問題魚骨圖如圖2所示。
3" 問題測試驗證
3.1" CAN通道硬件問題分析
為了分析這個問題,搭建臺架進行測試,通過腳本仿真分析,并在多個儀表上采集數(shù)據(jù)發(fā)現(xiàn),所有儀表均存在周期不穩(wěn)定的問題。同時也檢查了硬件的接口CAN收發(fā)器,未發(fā)現(xiàn)異常的情況,初步排除個別儀表硬件存在問題。
3.2" 系統(tǒng)TASK運行周期不穩(wěn)定分析
在搭建的臺架上進行測試仿真驗證,采集CAN總線數(shù)據(jù)進行分析確認,發(fā)現(xiàn)CAN報文發(fā)送TASK運行周期穩(wěn)定,排除該原因導致故障出現(xiàn)。
3.3" CAN模塊驅動問題
在排查問題的過程中,通過修改底層軟件,屏蔽了私有CAN的數(shù)據(jù)發(fā)送,并在臺架上采集數(shù)據(jù)分析,發(fā)現(xiàn)公有CAN不會再出現(xiàn)發(fā)送周期不穩(wěn)的現(xiàn)象,排除CAN驅動的問題,并且根據(jù)試驗現(xiàn)象懷疑是兩路CAN的發(fā)送代碼存在干擾,導致CAN報文發(fā)送周期不穩(wěn)。
3.4" CAN模塊發(fā)送邏輯問題
由于儀表模塊硬件連接了兩路CAN接口,其中一路公共CAN,另外一路私有CAN。兩路CAN的CAN1和CAN2存在干擾,導致CAN1報文存在漏發(fā)的情景。核對代碼發(fā)現(xiàn)兩路CAN共用了一個全局變量(用于保存CAN ID),當其中一路CAN發(fā)送完成進入中斷后會清除CAN ID,導致另一路CAN發(fā)送完成中斷時無法調用CAN發(fā)送完成中斷回調函數(shù),從而導致下次進入CAN發(fā)送完成中斷會判斷CAN處于發(fā)送狀態(tài),則會執(zhí)行取消發(fā)送操作,從而導致不能繼續(xù)發(fā)送CAN報文。圖3為理想發(fā)送邏輯,圖4為實際發(fā)送邏輯。
報文周期不穩(wěn)定的根本原因:第1路CAN和第2路CAN在發(fā)送中斷函數(shù)中使用了同一全局變量儲存發(fā)送報文的ID,第2路CAN發(fā)送報文會立刻清零該全局變量,導致第1路CAN發(fā)送中斷判斷該全局變量被清零,不會進入回調函數(shù),觸發(fā)下一幀報文發(fā)送,導致報文周期不穩(wěn)定。
4" 問題解決方案和測試驗證
修改軟件代碼,將第1路CAN和第2路CAN分別使用不同的全局變量保存CAN ID,這樣就可以避免兩路CAN的互相干擾問題,有效解決了儀表發(fā)送的數(shù)據(jù)周期不穩(wěn)定的問題。同時針對周期是否穩(wěn)定的問題,通過測試腳本建立分析工程,通過監(jiān)控試儀發(fā)送0X510報文,并對比實際發(fā)送的報文周期和信號矩陣定義是否一致,儀表報文周期測試工程如圖5所示,圖6為修改軟件后儀表發(fā)送報文情況。
經過仿真測試分析發(fā)現(xiàn),儀表報文測試結果和DBC定義內容完全一致。儀表發(fā)送0X510報文周期100ms持續(xù)穩(wěn)定發(fā)送,未出現(xiàn)不穩(wěn)定的情況,確認儀表發(fā)送的Rolling Counter發(fā)送穩(wěn)定,軟件修改后問題徹底解決。
5nbsp; 結論
針對某車型研發(fā)過程中儀表報文發(fā)送周期不穩(wěn)定的問題,采用魚骨分析法對問題進行拆解,分析引發(fā)故障出現(xiàn)的潛在原因,并逐個進行測試仿真分析驗證復現(xiàn)故障,分析出問題的根本原因,在修改軟件后基于CANoe建立測試工程測試驗證修改后的儀表軟件,測試結果表明周期發(fā)送正常。修改儀表軟件后,有效解決了儀表CAN數(shù)據(jù)發(fā)送周期不穩(wěn)定的問題,為整車高品質投產奠定堅實基礎。
參考文獻:
[1] 欒輝,張茜銘. 魚骨分析法在解決試驗車電氣問題中的應用[J]. 汽車電器,2017(1):36-38,43.
[2] 肖珍,王詩豪,吳磊. 基于CAN總線的乘用車電子電器故障分析方法[J]. 汽車電器,2018(2):55-57.
[3] 楊曦. 基于CAN總線的汽車事件數(shù)據(jù)記錄系統(tǒng)開發(fā)方案研究[J]. 汽車電器,2021(4):50-51,54.
[4] 陳支,蔣瑞斌. 新能源汽車CAN總線異常仿真分析及試驗驗證[J]. 電子器件,2023,46(4):965-972.
[5] 廖建造,王磊,毛藝. 基于CAPL的CAN總線故障注入自動化測試系統(tǒng)設計[J]. 上海汽車,2023(4):21-26,37.
[6] 賈延林,林浩杰,許俊杰. 新能源汽車高壓部件CAN總線故障診斷分析[J]. 汽車電器,2023(8):14-16.
[7] 李臻. 動力驅動CAN總線故障診斷測試與分析[J]. 汽車實用技術,2015(4):87-91,100.