

摘要:近幾年,隨著新能源電動汽車產(chǎn)業(yè)的迅速發(fā)展,越來越多的車輛電子控制系統(tǒng)和通信系統(tǒng)用于控制車輛的各種運行參數(shù)。隨著控制室數(shù)目的增多,各控制室之間的信息交流也日益頻繁,采用線作為點對點的連接方式難以滿足上述交換所需的數(shù)據(jù)量,所以串行數(shù)據(jù)傳送的方法是必要的。CAN總線可以改變汽車內(nèi)部點與點之間的傳統(tǒng)通信模式,使內(nèi)部電路復雜化。CAN總線是目前汽車電子控制系統(tǒng)中通用的通用總線,它在汽車尤其是在新能源和智能網(wǎng)聯(lián)汽車中得到了廣泛的應用。基于此,以電力機車為例,對其CAN通信故障的檢修方法進行了分析。
關鍵詞:電動汽車;CAN通信故障;檢修
中圖分類號:U472 收稿日期:2023-06-19
DOI:10.19999/j.cnki.1004-0226.2023.11.028
1 前言
當前,我國汽車電子控制技術發(fā)展迅速,具有功能多樣化、技術集成、系統(tǒng)集成、車載網(wǎng)絡化等特點。早在20世紀80年代初,德國博世公司就提出用CAN(局域網(wǎng)控制器)控制局域網(wǎng)來解決機器中復雜的硬件電路。CAN總線是采用ISO11898標準協(xié)議、高頻傳輸、多模式操作和不受控制的套利總線。當兩個ECM同時傳輸信息時,優(yōu)先級較低的節(jié)點會自動終止信息,優(yōu)先級較高的節(jié)點可以不受干擾地傳輸數(shù)據(jù),實現(xiàn)多個ECM之間的通信。CAN總線耦合廣泛應用于汽車,特別是在新能源汽車和控制論汽車中。
2 CAN總線故障機理
2.1 控制單元(ECM)引起的CAN總線故障
汽車CAN總線的關鍵部件是具有通信集成電路的ECM,其工作電壓為10.5~15.0 V。當車輛供電系統(tǒng)運行電壓低于此范圍時,某些需要高工作電壓的電控裝置會暫時停機,導致整個CAN總線暫時不能通信[1]。
2.2 數(shù)據(jù)鏈路故障
汽車CAN總線的數(shù)據(jù)線路(或通信線路)發(fā)生故障,例如,線路短路、斷路、線路物理特性造成信號的衰減、畸變等,將導致多個電子控制裝置不能正常工作,或者由于ECM系統(tǒng)的錯誤操作,CAN總線不能正常工作[2]。
2.3 ECM故障
在CAN總線中,節(jié)點是ECM和總線之間的連接點,其主要表現(xiàn)為CAN通信協(xié)定或軟件程式的不完善或沖突,致使CAN總線通信不暢或不能正常工作,通常是成批發(fā)生的,不能進行修理[3]。
3 干擾源對CAN總線通信干擾機理
在車載計算機發(fā)出命令時,各種開關、繼電器、馬達控制器等感性裝置在執(zhí)行命令時,會因車輛內(nèi)部電路的電流被切斷而產(chǎn)生極高的瞬變電壓,這種電壓會以導電耦合的形式通過車輛供電進入其他電子裝置,使CAN收發(fā)信機的供電電壓受到干擾,使CAN總線的數(shù)據(jù)傳送波形失真。如果該干擾超出了CAN總線的共模電壓容限(-12~7 V),則會產(chǎn)生CAN總線的數(shù)據(jù)傳送誤差。比如,如果電動車的長度超過10 m,那么CAN總線收發(fā)機的工作模式電壓就會達到10 V,這個電壓會導致CAN的收發(fā)機直接燒毀。在電動車的電力系統(tǒng)運行期間,通過DC-AC變換,將電壓輸入馬達驅(qū)動器,馬達驅(qū)動車輛向前行駛,并帶動空調(diào)壓縮機制冷。當電動車在山坡上行駛時,馬達驅(qū)動的能量恢復系統(tǒng)會將DC-AC變換的方式反饋到蓄電池上[4]。
4 監(jiān)控方法概述
4.1 監(jiān)控單元選擇
隨著科技的進步,車載電子產(chǎn)品的種類也在不斷增加,很多電子產(chǎn)品都要進行數(shù)據(jù)交換,使得汽車上的通信節(jié)點數(shù)量不斷增加。如果各節(jié)點共享相同的CAN總線,會導致總線擁塞,所以在CAN總線的設計中,要根據(jù)通信結(jié)構(gòu)、節(jié)點功能和實時性的需求,將CAN總線分為多個節(jié)點。除了通過CAN總線從其他節(jié)點獲取控制決策信息外,還必須通過CAN總線向每個模塊發(fā)送命令,以控制車輛的運行和電源。
4.2 幀接收監(jiān)控方法
每個數(shù)據(jù)幀都是定期傳輸?shù)模匀绻硞€幀沒有在指定的時間段被接收,就表示這個幀發(fā)生了丟失,或者是發(fā)送這個幀的節(jié)點失敗了。本文提出一種為每一幀分別設定計時器的計時器數(shù)目,并共享相同時間周期的計時器。也就是說,除了通過CAN總線從其他節(jié)點獲取決策信息外,還必須通過CAN總線向每個模塊發(fā)送命令,以控制車輛和電源管理。因此,總線控制器(VCU)通常同時存在于CAN總線中,充當CAN網(wǎng)絡的網(wǎng)關,實現(xiàn)總線之間的數(shù)據(jù)交互[5]。
a.接收處理。
當整個車輛控制器收到一定的數(shù)據(jù)幀后,就會脫離當前的工作,進入接收中斷,并在接收中斷中對數(shù)據(jù)進行清零。本文通過表1中4個幀的案例來說明這種監(jiān)測方法。首先判定幀ID,在A幀ID時,描述從MCU(MCU)傳輸?shù)杰囕v控制模塊的幀數(shù)據(jù),并分析和更新幀中數(shù)字的值以清除它們。如果不是A,繼續(xù)定義B的幀ID。請注意,C和D不需要完全控制車輛,所以在接收到這兩個幀時,只需將它們的計數(shù)變量值清零,無需分析。如果有其他的框架,則按照上面的方式來處理[6]。
b.故障診斷。
當整個車輛控制器接收到一定的數(shù)據(jù)幀時,將從目前的工作中分離出來,進入接收中斷,在接收中斷時進行數(shù)據(jù)的清零。本文以表1中4個框為例,對此進行了分析。首先確定幀ID,當A幀ID時,說明該幀數(shù)據(jù)是MCU傳送到整個車輛控制器的電機速度,并對幀A內(nèi)的計數(shù)變量值清零;若不是A,則繼續(xù)確定幀ID是B。注意C和D并不要求進行整個車輛的控制,因此在收到這兩個幀后,不需要進行任何分析,就可以把他們的計數(shù)變量數(shù)值清零。如有其他框架,請遵循上述方法[7]。
4.3 節(jié)點心跳監(jiān)控方法
每個節(jié)點都要建立一個周期的心跳任務,通過增加自己的心率,將心跳信號傳送到CAN中。當一個節(jié)點的心跳信號沒有改變時,就表明這個節(jié)點已經(jīng)出現(xiàn)故障[8]。
a.接收處理。
整車控制器在接收到一定的數(shù)據(jù)幀后,會脫離當前的任務,進入接收中斷對接的接收幀,如果是心跳幀,就會更新對應的心跳值。本文通過表2中4個幀的案例來說明這種監(jiān)測方法。首先判定幀ID,如果幀ID是A,則表示幀數(shù)據(jù)是MCU向整車控制器傳輸?shù)鸟R達速度,而不是心跳,所以僅分析和更新這一幀;如果幀ID是B,則表示這個幀是由MCU向整車控制器傳輸?shù)男奶担苑治鲞@個心跳幀,并對MCU的脈搏值進行更新;如果幀ID是C,則表示幀數(shù)據(jù)是BMS向儀表傳輸?shù)膯卧妷海驗槭欠敲}搏幀,并且不需要整車控制器來獲取,所以對幀進行濾波,而不進行處理。如果有其他的框架,則按照上面的方式來處理[9]。
b.故障診斷。
首先確定節(jié)點A的當前心跳是否與先前的診斷作業(yè)一致。如果這兩個值相同,則節(jié)點AA的心跳率從以前的診斷任務到現(xiàn)在的錯誤診斷沒有變化,則節(jié)點AAA的變量計數(shù)器值將增加1。如果不相等,表示A節(jié)點在此期間收到了新的心跳,那么A節(jié)點還在工作,并能正常工作。如果節(jié)點的心率是正常的,則該變量的數(shù)值會持續(xù)的下降,為了確保該變量的數(shù)值總是大于或等于0,必須對該變量進行處理,即在判定該變量數(shù)值為負的情況下,將該變量的數(shù)值歸為0。在節(jié)點計數(shù)變量完成后,還要進行故障診斷。當它的數(shù)值大于第二個閾值時,A節(jié)點的通信失效級別設置為第二級;當它的數(shù)值大于1級時,通信失效級別設置為第一級;如果它的數(shù)值低于第一個閾值,就表示A節(jié)點通信的異常沒有被監(jiān)測,并且把它的失效級別設為0。如果存在其他節(jié)點,可以按照上面所說的方法進行診斷。但是每個節(jié)點的脈沖周期都會有很大的差異,所以需要對故障閾值做出相應的調(diào)整[10]。
5 軟件驅(qū)動程序設計
在CAN總線受到干擾時,CAN數(shù)據(jù)包的傳輸也會受到干擾,從而造成CAN控制器的傳輸緩存阻塞,使CAN數(shù)據(jù)包的傳輸不能正常進行。傳統(tǒng)的抗干擾軟件設計方法是將CAN控制器的傳輸變?yōu)閱纬虃鬏敚簿褪顷P閉CAN的重傳功能,從而在強干擾情況下進行無阻塞傳輸,CAN控制器利用接收端應用層的應答來確定CAN傳輸包是否已經(jīng)抵達[11]。
5.1 CAN總線錯誤處理軟件設計
通過底層驅(qū)動,實現(xiàn)對CAN總線鏈路的自動重傳和正確的差錯處理,實現(xiàn)實時和訪問的最優(yōu)均衡。為了防止由于自身的原因,比如硬件故障,導致CAN總線中的其他普通節(jié)點的通信受到干擾。CAN總線規(guī)格說明中,每一CAN控制器都有一個傳輸誤差計數(shù)器(TEC:傳輸誤差計數(shù))和一個接收誤差計數(shù)器(REC:接受誤差計數(shù))。CAN控制器依據(jù)計數(shù)值的不同定義錯誤,得出不同設備故障狀態(tài)的CAN節(jié)點。若CAN節(jié)點在強干擾時連續(xù)發(fā)送失敗,則CAN控制器的發(fā)送差錯計數(shù)將會自動增至255。這時CAN控制器會進入“斷開”狀態(tài)。CAN控制器在總線關機狀態(tài)下無法進行發(fā)送和接收。在沒有經(jīng)過處理的情況下,CAN節(jié)點很難再進行正常的收發(fā)。該方案采用智能的循環(huán)快速修復與緩慢復原的過程,并給出了詳細的設計流程。在快速恢復過程中,最多只能進行5次快速恢復,當5次快速恢復后節(jié)點仍處于Bus-off狀態(tài)時,就需要進行緩慢的恢復過程。采用這種智能的錯誤處理方法和快速恢復機制能夠快速地排除由于外界的干擾而造成的總線關機。
5.2 正確發(fā)送CAN報文軟件設計
智能錯誤恢復機制可以防止程序因總線中斷而連續(xù)發(fā)送,增加錯誤傳輸密度,從而提高數(shù)據(jù)傳輸成功的概率。由于CAN控制器底部的自動轉(zhuǎn)發(fā)模式,每個CAN節(jié)點有32次轉(zhuǎn)發(fā),自動轉(zhuǎn)發(fā)間隔僅為3~8 [μs]。因此,系統(tǒng)將以總線第一次關閉的時間作為節(jié)點,并將其作為傳輸失敗的標志,以便判斷是否重新傳輸,確保CAN數(shù)據(jù)包的傳輸成功[12]。
6 結(jié)語
在車輛的故障診斷和處理中,應嚴格遵循安全操作規(guī)程,尤其是新能源汽車的高壓安全和保護工作;在進行維修工作時,應遵循先簡單后復雜、能不拆就不拆、能拆小件不拆組裝、先看故障碼優(yōu)先的原則。在對汽車網(wǎng)絡故障進行維修之前,必須確保與數(shù)據(jù)總線連接的ECM沒有出現(xiàn)任何故障。故障不會對數(shù)據(jù)總線的通信造成直接的影響,但是由于某些信息的丟失,會對整個系統(tǒng)的性能造成一定的影響。
這種功能失效將間接地影響到數(shù)據(jù)總線系統(tǒng),從而影響到ECM的通信。如果出現(xiàn)了功能上的問題,首先要解決這個問題,然后把它記錄下來,最后把所有的ECM都清理掉。當車載網(wǎng)絡出現(xiàn)故障時,通過汽車計算機故障診斷系統(tǒng)的網(wǎng)關,無法找到一臺或多臺ECM,或多臺ECM與一臺ECM失聯(lián),首先要檢查車載網(wǎng)絡的拓撲結(jié)構(gòu),確認ECM是否存在于車載網(wǎng)絡中,然后將ECM的電源保險絲拔下,通過CAN信號的電平,就可以迅速找到問題的根源。
參考文獻:
[1]陳龍華,李洪林,楊漢立,等.基于CAN總線純電動汽車的整車控制器[J].計算機科學,2022,49(增1):802-807.
[2]戴夢萍,紀永秋.電動汽車CAN通信故障檢修[J].內(nèi)燃機與配件,2021(21):154-155.
[3]李繼武.基于CAN總線的電動汽車空調(diào)控制教學平臺設計[J].汽車零部件,2021(10):43-47.
[4]汪俊.2019款比亞迪E5電動汽車CAN網(wǎng)絡系統(tǒng)結(jié)構(gòu)及故障診斷[J].汽車電器,2021(10):68-72.
[5]董碧成,石春,吳剛.基于AUTOSAR的電動汽車中央控制單元CAN通信軟件開發(fā)[J].儀表技術,2021(4):65-70.
[6]王勇,李亞菲,陳雪鴻,等.電動汽車CAN協(xié)議的重放攻擊與防御方法[J].上海電力大學學報,2021,37(4):395-401+406.
[7]劉敏,黃敏思,何蘇利.基于CAN總線的電動汽車抗電磁干擾系統(tǒng)設計[J].自動化與儀器儀表,2021(6):51-54+58.
[8]董碧成.基于AUTOSAR的電動汽車中央控制單元CAN通信模塊研制[D].合肥:中國科學技術大學,2021.
[9]孟鑫,唐妍,謝佶宏,等.電動汽車CAN網(wǎng)絡測試設備研究[J].時代汽車,2020(16):69-70.
[10]孫常林,李琳,邢合理.電動汽車動力CAN總線系統(tǒng)故障分析與研究[J].產(chǎn)業(yè)創(chuàng)新研究,2020(8):109-110.
[11]李瑋,王晶.純電動汽車電機控制器CAN通信丟失故障處理方法[J].北京汽車,2020(1):35-38.
[12]許瑞統(tǒng),臧震,熊保平,等.燃油汽車改制為純電動汽車CAN協(xié)議應用層的開發(fā)與實現(xiàn)[J].科技視界,2019(36):121-124.
作者簡介:
秦航,男,1987年生,講師,研究方向為汽車檢測與維修、職業(yè)技術教育。