王紅霞,苗青,馮慧娟,王鐵成
(1.天津工業(yè)大學工程教學實習訓練中心,天津 300387;2.河北工業(yè)大學,天津 300401)
WANG Hong-xia1,MIAO Qing2,F(xiàn)ENG Hui-juan2,WANG Tie-cheng2
(1.Engineering Practice and Teaching Training Center,Tianjin Polytechnic University,Tianjin 300387;2.Engineering Training Center,Hebei University of Technology,Tianjin 300040)
基于CANoe和CANScope的CAN總線故障診斷及分析應(yīng)用
王紅霞1,苗青2,馮慧娟2,王鐵成2
(1.天津工業(yè)大學工程教學實習訓練中心,天津 300387;2.河北工業(yè)大學,天津 300401)
隨著汽車電子技術(shù)的發(fā)展,更多的電子控制單元(ECU)應(yīng)用到汽車上。電子控制單元在汽車上需要共享和傳遞大量信息,CAN總線網(wǎng)絡(luò)具有非破壞性的網(wǎng)絡(luò)機制、比較高的通信速率,越來越多的汽車、電池管理系統(tǒng)等制造商把CAN總線應(yīng)用于汽車控制方面。CAN總線網(wǎng)絡(luò)可將各個模塊電子控制單元連接起來,實現(xiàn)數(shù)據(jù)共享,完成復雜的智能控制和故障診斷,這樣就大大提高整車的性能[1]。
由于汽車電控系統(tǒng)日益復雜,在CAN總線網(wǎng)絡(luò)的開發(fā)流程中,需要提前對設(shè)計結(jié)果進行仿真評價和故障分析,以確定所設(shè)計的總線網(wǎng)絡(luò)是否完善、設(shè)計的協(xié)議是否能夠符合要求。CANoe和CANScope是總線仿真和故障分析的工具,可以幫助設(shè)計人員進行完整的各項總線網(wǎng)絡(luò)的系統(tǒng)仿真和故障分析,從而確保CAN總線網(wǎng)絡(luò)達到更好效果[2-3]。
1.1CANoe、CANScope 簡介
CANoe是由德國Vector公司開發(fā)并行的總線工具,它除具有網(wǎng)絡(luò)監(jiān)測和分析兩項功能外,還可以實現(xiàn)系統(tǒng)仿真的功能。CANoe自身帶數(shù)據(jù)管理工具CAN-db++,通過CANdb++可以創(chuàng)建和修改數(shù)據(jù)庫。由于CANoe偏重的是一個仿真和監(jiān)控CAN總線狀態(tài)的工具,如果子網(wǎng)LECU出現(xiàn)故障時,它就不能對故障進行分析,這時要借助CANScope來分析[4]。
CANScope是分析、記錄和評估CAN總線上的電壓值的測量儀器??梢酝ㄟ^CANScope分析影響CAN總線的一些因,還可以通過設(shè)置各種觸發(fā)條件顯示記錄總線的CAN-H、CAN-L及差壓電壓的波形,觀察CAN信號的瞬變情況,分析噪聲的特性,從而對具體模塊進行調(diào)試[4]。
1.2測試系統(tǒng)平臺的構(gòu)建
整個測試系統(tǒng)主要由電池管理系統(tǒng)的BMU及LECU電路板、CANoe軟硬件模塊、穩(wěn)壓電源和PC機等組成,其中CANoe的硬件模塊CANcaseXL支持兩路CAN通道一路與電池管理系統(tǒng)的BMU(高速CAN)網(wǎng)絡(luò)接口相連,另一路則與電池管理系統(tǒng)的LECU的中速CAN網(wǎng)絡(luò)接口相連。
接入CANoe環(huán)境的可以是虛擬的仿真節(jié)點,也可以是實際的物理節(jié)點。經(jīng)過系統(tǒng)分析和網(wǎng)絡(luò)設(shè)計的建模仿真階段后,可以將部分仿真節(jié)點用已有的物理節(jié)點代替,進行系統(tǒng)測試的半實物仿真階段,最后進入完全由物理節(jié)點組成的實物仿真階段。
在CANoe集成操作環(huán)境中 建立子網(wǎng)Local CAN總線的構(gòu)成 (圖1),其中是由9個LECU節(jié)點和1個BMU節(jié)點,以及1個CANoe的監(jiān)控節(jié)點構(gòu)成[5];
圖1 Local CAN總線的構(gòu)成
在對圖1采用CANoe監(jiān)控過程中,出現(xiàn)的故障現(xiàn)象描述:①LocalCAN總線偶爾出現(xiàn)故障幀;②在上電過程或者下電后再上電過程中,1個或數(shù)個模塊丟失CAN總線數(shù)據(jù),但采用BMU睡眠和喚醒指令的模式下,原有的CAN信息不丟失;
2.1子網(wǎng)出現(xiàn)故障幀分析
使用CANScope,對Local CAN總線偶爾出現(xiàn)故障幀進行分析。在通過反復上電,保證所有CAN節(jié)點都能發(fā)出信息的狀態(tài)下,利用CANScope抓取完整的一幀CAN信息,如圖2所示:
圖2 9個模塊的Local_CAN波形
由圖2的波形看出CAN-L出現(xiàn)負電平尖峰,CANH的高電平被拉低到約1V,偏低;造成這種波形的典型原因有兩種,一種是CAN節(jié)點過多,另一種是硬件設(shè)計不規(guī)范;
為了確定造成故障的具體原因,做了如下幾個實驗:
(1)首先確定是否是CAN節(jié)點過多引起的故障,這樣將第6、7、8號模塊在線從CAN總線上移出,然后采用CANScope抓取同一禎的完整CAN信息,CAN總線狀態(tài)如圖3所示:
圖3 去除模塊6、7、8號后的Local_CAN波形
從圖3的波形可以看出,此時CAN總線狀態(tài)非常好,這樣初步推斷可能是掛入的模塊過多造成的通訊故障。
(2)此時,應(yīng)該確定再掛入多少模塊,就會產(chǎn)生故障,這樣將把7號模塊在線接入CAN總線,此時共7個模塊,采用CANScope抓取同一禎的完整CAN信息,CAN總線狀態(tài)也如圖3所示,接著再把8號模塊也在線接入CAN總線,用CANScope抓取的CAN總線狀態(tài)也如圖3所示,沒有問題,最后將6號模塊在線接入CAN總線,采用CANScope抓取同一禎的完整CAN信息時,CAN總線狀態(tài)又變化為如圖2所示的波形,故障再次出現(xiàn)。
(3)由于在接入6號模塊之后,故障波形再次出現(xiàn),從而可以推斷出或者是6號模塊的硬件設(shè)計有問題或者是超過10個節(jié)點會導致CAN總線狀態(tài)失常;為了確認故障是否發(fā)生在6號模塊,又做了如下實驗:把1~5、7~9這8個模塊從總線上移出,單獨分析第6個模塊的波形;采用CANScope抓取同一禎的完整CAN信息,CAN總線狀態(tài)如圖4所示:
圖4 第6個模塊的單獨CAN波形
從圖4可以確認,確實是第6個模塊的硬件出現(xiàn)了故障,造成CAN總線狀態(tài)失常。
更換第6個模塊的LECU,仍就單獨分析第6個模塊的波形,得到的波形如圖5所示;從圖5可以看出,更換后的LECU硬件無問題
圖5 更換LECU后的第6個模塊單獨CAN波形
(4)在保證所有電控部分的硬件無問題后,將Local CAN恢復成初始狀態(tài),來驗證是否CAN總線超過10個節(jié)點會失常,采用CANScope抓取同一禎的完整CAN信息,CAN總線狀態(tài)如圖3所示,此時CAN總線狀態(tài)正常,再利用CANoe工具監(jiān)控總線信息一段時間,不再出現(xiàn)故障禎。至此,Local CAN總線偶爾出現(xiàn)故障禎的問題得到解決。
2.2上下電CAN信息丟失分析
在把子網(wǎng)Local CAN總線偶爾出現(xiàn)故障禎后,開始分析在上電過程或者下電后再上電過程中,1個或數(shù)個模塊丟失CAN總線數(shù)據(jù)的原因。初步認為是該模塊的MCU未能正常工作造成的;而在上下電過程中,造成MCU未能正常工作的原因一般是復位電路的上電延時不夠或下電的延時太長;在出現(xiàn)該故障狀態(tài)的情況下,將出現(xiàn)該故障MCU的復位管腳與0電平短路再移除,發(fā)現(xiàn)此時該MCU能夠正常工作;再對照設(shè)計的復位電路如下圖七進行分析;發(fā)現(xiàn)該MCU的上電復位電路R值太小,才51歐姆,一般該R的設(shè)定值為2K~4.7K,所以判斷確實是上電復位延時太短造成了MCU不能正常工作;解決的方法是將該R值更換成2K的電阻后,反復頻繁的上電,不再出現(xiàn)上電MCU不工作的情況;
圖6 MCU的復位電路
但從圖6可以看出,如果電阻改為2K后,該電路在下電時,MCU的復位管腳下電延時太長導致重啟,使MCU也不能正常工作;典型的MCU復位電路如圖八所示;通過在VCC和MCU/REST間跨接一個二極管,可以保證下電時,電容上的電量通過二極管快速瀉放掉;
圖7 典型的MCU復位電路
將復位電路改成圖7所示電路后,重復給MCU上下電,發(fā)現(xiàn)仍然出現(xiàn)掉電再上電,MCU工作不正常;再分析VCC端的電路,發(fā)現(xiàn)VCC端的電容量太大,造成0.1uF電容上的電量瀉放時間被VCC端的電解電容電量瀉放時間限定;VCC端的電容量如圖8所示;
圖8 D和R的兩端電容示意圖
因此在VCC對地端并聯(lián)了120歐姆/1W的電阻,重復該試驗,電阻并聯(lián)如圖9所示;再重復上下電,MCU不再出現(xiàn)不工作的故障情況;但考慮在硬件電路已經(jīng)做好的情況下,外接120歐姆/1W的電阻如果不用開關(guān)電路控制,會造成電路的功耗增大,所以最終的解決方法是在BMU中設(shè)定LECU斷電再上電的延時時間,將該延時時間設(shè)定在500ms,BMU控制LECU的電源重復通斷電,通過CANOE監(jiān)控LECU的信息是否丟失;發(fā)現(xiàn)LECU在試驗過程中信息完整,至此,在上下電過程中數(shù)據(jù)丟失的故障排除。
圖9 并聯(lián)電阻示意圖
在電池管理系統(tǒng)中,子網(wǎng)LECU采集數(shù)據(jù)必須要準確,否則影響B(tài)MU數(shù)據(jù),影響SOC的估算等。當汽車跑車、充電過程中,子網(wǎng)出現(xiàn)故障導致采集數(shù)據(jù)不準確時,如果把LECU板子換下來測試板子問題,這樣需要的時間會比較長,而采用CANoe和CANScope進行仿真測試時可以有效的縮短故障處理時間,并能有效地指導工程師對系統(tǒng)進行修改和完善,以保證系統(tǒng)的開發(fā)質(zhì)量與進度,同時也保證了在對整車性能進行測試時,使整個系統(tǒng)安全、穩(wěn)定高效地運行。
[1]王旭芳.基于SAEJ1939協(xié)議的汽車CAN總線控制系統(tǒng)的設(shè)計與測試[D].重慶郵電大學,2008.6.
[2]張宏,詹德凱.基于CAN總線的汽車故障診斷系統(tǒng)研究與設(shè)計[J].汽車工程,2008,30(10):934-937.
[3]李頂根,曹晶.基于CANoe-MATLAB的車輛CAN總線的聯(lián)合仿真[J].計算機應(yīng)用,2009,11,10(6):57-61.
[4]Vector Informatik GmbH.CANoe Installation Guide,CANoe User Guide,CANdb++User Guide[M].Eb-erdingen:SATZTEAM Fotosatz &NeueMedienGm-bh,2002
[5]南金瑞,孫逢春,王建群.純電動汽車電池管理系統(tǒng)的設(shè)計及應(yīng)用[J].清華大學學報(自然科學版),2007,47(22):l831-1834.
WANG Hong-xia1,MIAO Qing2,F(xiàn)ENG Hui-juan2,WANG Tie-cheng2
(1.Engineering Practice and Teaching Training Center,Tianjin Polytechnic University,Tianjin 300387;2.Engineering Training Center,Hebei University of Technology,Tianjin 300040)
CANoe;CANScope;Simulation Test;Fault Analysis
Fault Diagnose and Analysis of CAN Bus Based on CANoe and CANScope
1007-1423(2015)31-0061-05
10.3969/j.issn.1007-1423.2015.31.016
2015-10-20
2015-11-02
利用CAN總線分析工具CANoe構(gòu)建CAN系統(tǒng)測試平臺,在集成環(huán)境中建立子網(wǎng)LocalCAN總線的模擬網(wǎng)絡(luò)節(jié)點,通過CANoe提供的總線接口硬件對真實網(wǎng)絡(luò)和CANoe模擬的虛擬網(wǎng)絡(luò)節(jié)點進行聯(lián)網(wǎng)調(diào)試,在調(diào)試過程中用CANoe監(jiān)控總線的故障,用CANScope記錄故障數(shù)據(jù)進行采集和分析,并利用分析結(jié)果對CAN總線進行重新修正和完善,以達到更好的效果。
CANoe;CANScope;仿真測試;故障分析
The CAN bus analysis tools CANoe is used to construct the CAN system test platform.The subnet LocalCAN bus simulation network nodes are established in this integrated environment.This platform is debugging on the real network and virtual network nodes,its bus interface hardware is provided by the CANoe.The CANoe monitors the bus fault in the debugging process.The fault data is recorded by the CANScope,it is also collected for analysis by the CANScope.Then uses the collection results to correct and revamp the CAN bus for achieving a better effect.