□鄧 寧
(一)CAN總線概述??刂破骶钟蚓W(wǎng),簡(jiǎn)稱CAN,是目前在國(guó)際范圍內(nèi)應(yīng)用最廣的現(xiàn)場(chǎng)總線。它主要存在于汽車環(huán)境中,具有一定的通訊控制功能。同時(shí)通過以汽車內(nèi)部控制裝置ECU為載體對(duì)各類信息進(jìn)行交換的過程,則可以建立起專門的控制系統(tǒng)。一般來講在汽車內(nèi)部發(fā)動(dòng)機(jī)的管理系統(tǒng)、變速箱控制器等當(dāng)中,均置入了CAN控制裝置。
(二)CAN總線特點(diǎn)。第一,CAN總線中的任一網(wǎng)絡(luò)節(jié)點(diǎn)在向網(wǎng)絡(luò)中其他節(jié)點(diǎn)進(jìn)行傳遞信息的過程中,有較高的靈活性,并且受外界因素影響較小,不用在固定地址中等待節(jié)點(diǎn)信息的傳遞,因此在進(jìn)行多機(jī)備份系統(tǒng)構(gòu)建過程中,就可以對(duì)此特點(diǎn)加以運(yùn)用,具有較大的便利性;第二,CAN網(wǎng)絡(luò)中的節(jié)點(diǎn)信息被分成不同等級(jí)或?qū)哟?,使得?duì)其使用的過程中更具有針對(duì)性,從而更好地滿足相關(guān)運(yùn)行工作的需求;第三,CAN網(wǎng)絡(luò)以優(yōu)先級(jí)為基礎(chǔ),采用不具備破壞性的仲裁技術(shù),當(dāng)CAN網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)在某時(shí)間段內(nèi)同時(shí)輸送信息時(shí),優(yōu)先等級(jí)低的網(wǎng)絡(luò)節(jié)點(diǎn)就會(huì)自動(dòng)退出信息輸送過程,為優(yōu)先等級(jí)高的網(wǎng)絡(luò)節(jié)點(diǎn)節(jié)省一定的網(wǎng)絡(luò)空間,而優(yōu)先等級(jí)高的網(wǎng)絡(luò)節(jié)點(diǎn)就會(huì)繼續(xù)進(jìn)行信息的傳送,這樣即使CAN網(wǎng)絡(luò)所處網(wǎng)絡(luò)環(huán)境不理想,也不至于發(fā)生網(wǎng)絡(luò)癱瘓的情況。另外,CAN網(wǎng)絡(luò)中的節(jié)點(diǎn)如果處于錯(cuò)誤的運(yùn)行環(huán)境中,那么它還具有一定的自我關(guān)閉功能,有效避免了因信息傳送錯(cuò)誤對(duì)其他網(wǎng)絡(luò)節(jié)點(diǎn)的操作產(chǎn)生影響。然后,CAN中的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量多少直接受驅(qū)動(dòng)電路的影響,據(jù)了解,目前CAN網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)量最多可高達(dá)110個(gè)[1]。同時(shí)CAN網(wǎng)絡(luò)在信息傳輸結(jié)構(gòu)中主要采用的是短幀結(jié)構(gòu),在進(jìn)行信息傳輸時(shí)耗時(shí)較短,受外界因素的影響較小,因此在對(duì)傳輸信息進(jìn)行檢錯(cuò)的過程中,可以有效保證檢錯(cuò)效果,同時(shí)針對(duì)每幀所包含的信息,都由CRC對(duì)其的準(zhǔn)確性進(jìn)行檢驗(yàn),從而提高了信息數(shù)據(jù)的準(zhǔn)確性;第四,CAN進(jìn)行通訊的過程中,一般采用的是雙絞線或者光纖作為通訊載體,所以在后期選擇使用時(shí)有較強(qiáng)的靈活性。
在對(duì)純電動(dòng)汽車的整車網(wǎng)絡(luò)進(jìn)行設(shè)計(jì)過程中,可以將電動(dòng)汽車的功能需求和網(wǎng)絡(luò)信息數(shù)據(jù)進(jìn)行有效融合,并在此基礎(chǔ)上進(jìn)行設(shè)計(jì)工作。整車網(wǎng)絡(luò)設(shè)計(jì)過程中一般包括以下三個(gè)網(wǎng)段,即CAN一段、CAN二段、CAN三段。其中CAN一段對(duì)發(fā)動(dòng)機(jī)節(jié)點(diǎn)部分功能的完成有著特殊的要求,并且完成過程是否規(guī)范會(huì)直接對(duì)CAN一段的正常運(yùn)行產(chǎn)生影響,因此一般都是由整車控制器來完成上述功能,同時(shí)它也是連接CAN一段和CAN二段網(wǎng)關(guān)的關(guān)鍵途徑,從而確保發(fā)動(dòng)機(jī)節(jié)點(diǎn)信息的傳送。CAN總線利用雙絞線網(wǎng)絡(luò)來對(duì)各個(gè)控制器的節(jié)點(diǎn)進(jìn)行連接,使得汽車車身網(wǎng)絡(luò)內(nèi)部的各組成部分整齊有序的連接在一起。通常CAN網(wǎng)絡(luò)的通信速率基本控制在500KBit/s左右,電動(dòng)汽車整車控制單元(EVCU)在開始運(yùn)行時(shí),都會(huì)嚴(yán)格控制好數(shù)據(jù)幀的發(fā)送頻率,相鄰兩次間隔發(fā)送時(shí)間控制在50ms左右[2]。微控制單元(MCU)主要負(fù)責(zé)接受主控制器發(fā)出的控制命令并對(duì)該命令進(jìn)行執(zhí)行,同時(shí)電機(jī)的運(yùn)行狀態(tài)也屬于微控制單元管理的范圍內(nèi),因此微控制單元要嚴(yán)格對(duì)電機(jī)的運(yùn)行狀態(tài)進(jìn)行監(jiān)測(cè),有效減少因電機(jī)故障導(dǎo)致整體系統(tǒng)不能正常運(yùn)行等情況的發(fā)生頻率。電池管理系統(tǒng)(BMS)主要通過對(duì)電池的相關(guān)電氣數(shù)據(jù)以及熱參數(shù)數(shù)據(jù)進(jìn)行收集與測(cè)量,從而準(zhǔn)確計(jì)算出電池電量,為后續(xù)電池管理工作提供依據(jù)。將整車控制單元進(jìn)行啟動(dòng),使整車各結(jié)構(gòu)各部分處于運(yùn)行狀態(tài),在這種情況下利用CAN網(wǎng)絡(luò)為載體,可以在點(diǎn)火控制模塊(ICM)中清晰看到微控制單元下的電機(jī)轉(zhuǎn)速、電機(jī)的運(yùn)行狀態(tài)以及電池管理系統(tǒng)中電池整體電壓情況、單獨(dú)結(jié)構(gòu)電壓情況等,同時(shí)電動(dòng)汽車整車控制單元、電池管理系統(tǒng)、微控制單元等各部分出現(xiàn)的故障也可以直接從故障診斷儀表來進(jìn)行判斷。電動(dòng)汽車整體網(wǎng)絡(luò)結(jié)構(gòu)分析圖如圖1所示。
圖1 純電動(dòng)汽車CAN網(wǎng)絡(luò)結(jié)構(gòu)
(一)利用診斷工具來對(duì)電動(dòng)汽車故障進(jìn)行診斷。
1.基于CAN總線故障診斷系統(tǒng)的設(shè)計(jì)。本文主要通過對(duì)長(zhǎng)安某款普通汽車改造后的純電動(dòng)汽車進(jìn)行了深入研究與分析,并以此為研究對(duì)象,進(jìn)行了基于CAN總線的純電動(dòng)汽車故障診斷系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)對(duì)電動(dòng)汽車各結(jié)構(gòu)的診斷功能,旨在提高現(xiàn)有的故障診斷水平,確保電動(dòng)汽車的安全運(yùn)行,從而推動(dòng)電動(dòng)汽車行業(yè)獲得更長(zhǎng)久的發(fā)展。此次設(shè)計(jì)的故障診斷系統(tǒng)流程為:故障診斷儀表向電動(dòng)汽車各結(jié)構(gòu)發(fā)出診斷請(qǐng)求信息,各結(jié)構(gòu)通過CAN網(wǎng)絡(luò)接受到診斷儀表信息并進(jìn)行響應(yīng),從而將各結(jié)構(gòu)運(yùn)行信息反饋給故障信息儀表,這樣電動(dòng)汽車診斷故障信息就可以通過診斷儀表直接顯示出來。在對(duì)整車車身網(wǎng)絡(luò)進(jìn)行診斷時(shí),故障診斷儀表發(fā)出的診斷信息請(qǐng)求主要是利用網(wǎng)關(guān)來進(jìn)行的,網(wǎng)關(guān)在接收到診斷系統(tǒng)的請(qǐng)求信息后會(huì)對(duì)其進(jìn)行識(shí)別[3]。在識(shí)別完成的基礎(chǔ)上,會(huì)由網(wǎng)關(guān)直接與CAN網(wǎng)絡(luò)中的發(fā)動(dòng)機(jī)控制模塊(ECU)進(jìn)行對(duì)接,并傳達(dá)一定的請(qǐng)求信息,這樣CAN網(wǎng)絡(luò)中的控制器在接收到請(qǐng)求信息后會(huì)直接對(duì)其作出回應(yīng),從而完成診斷系統(tǒng)與CAN網(wǎng)絡(luò)的連接。
2.故障診斷儀表的設(shè)計(jì)。
(1)電源模塊設(shè)計(jì)。一般來講,故障診斷系統(tǒng)的輸入電壓為12V,在此背景下,就需要利用相關(guān)電源芯片對(duì)輸入電壓進(jìn)行調(diào)整,將其設(shè)定為10V,從而滿足電動(dòng)汽車內(nèi)部電池的電壓需要,確保內(nèi)部電池能夠正常進(jìn)行充電流程,在電動(dòng)汽車內(nèi)部電池完成充電過程后,就要對(duì)單片機(jī)和其他重要芯片工作所需電壓進(jìn)行詳細(xì)的了解,而現(xiàn)有的10V電壓就要利用專業(yè)電源轉(zhuǎn)換芯片將其轉(zhuǎn)換為5V和3.3V電壓,以此來為其他集成芯片的正常工作奠定良好基礎(chǔ)。
(2)單片機(jī)模塊設(shè)計(jì)。在對(duì)單片機(jī)模塊進(jìn)行設(shè)計(jì)與挑選相關(guān)配置的時(shí)候,要清晰了解自身的工作需要,選擇出高效率、性價(jià)比高的單片機(jī)。例如TI公司中的MSP430系列單片機(jī),其內(nèi)部的混合信號(hào)控制器可以在超低功耗的環(huán)境下產(chǎn)生較高的代碼效率,因此在進(jìn)行單片機(jī)模塊設(shè)計(jì)過程中,可以從中進(jìn)行挑選。此系列單片機(jī)精簡(jiǎn)指令集結(jié)構(gòu)均是由16位組成的,CPU內(nèi)部的寄存器等均可以使MSP430單片機(jī)內(nèi)部的微控制器發(fā)生改變,使得其代碼效率在自身范圍內(nèi)達(dá)到最高值。同時(shí)此系列單片機(jī)的時(shí)鐘源具有較高的靈活性,因此可以使得各器件對(duì)功率的消耗降到最低。但是在特定工作環(huán)境下,對(duì)器件的功率消耗也有著固定的要求,所以低功率消耗的模式在此背景下并不適用。而數(shù)字化的振蕩器(DCO)則可以對(duì)上述問題進(jìn)行很好的解決,它可以在極短的時(shí)間內(nèi)對(duì)器件的功率消耗進(jìn)行改變,從而實(shí)現(xiàn)由低功耗模式迅速完成正常工作所需要標(biāo)準(zhǔn)功耗的轉(zhuǎn)變。
(3)通信模塊設(shè)計(jì)。MT公司生產(chǎn)的MCP2510系列控制器與傳統(tǒng)的CAN控制器有一定的區(qū)別,它在傳統(tǒng)CAN控制器的基礎(chǔ)上設(shè)置了串行外設(shè)接口,從而方便后續(xù)CAN接口應(yīng)用設(shè)計(jì)工作。MCP2510系列控制器不僅符合CAN的技術(shù)規(guī)范,發(fā)送的數(shù)據(jù)幀以及接收的數(shù)據(jù)幀均達(dá)到標(biāo)準(zhǔn)化要求,而且具有對(duì)接受到的數(shù)據(jù)信息進(jìn)行有效過濾,并將留下的重要信息進(jìn)行科學(xué)化管理的功能。
(4)存儲(chǔ)模塊設(shè)計(jì)。存儲(chǔ)模塊主要是對(duì)出現(xiàn)故障部分的信息數(shù)據(jù)進(jìn)行存儲(chǔ)的功能。因此在進(jìn)行此模塊設(shè)計(jì)的過程中,可以選擇一些體積較小、能夠節(jié)約I/O線以及存儲(chǔ)性能好不容易丟失等特點(diǎn)的芯片。
(5)液晶顯示設(shè)計(jì)。在進(jìn)行液晶顯示設(shè)計(jì)的過程中,可以選擇一些中文控制芯片,例如臺(tái)灣矽創(chuàng)電子公司的ST7920等就是此類芯片的最具代表性的一種,其內(nèi)部控制整個(gè)顯示系統(tǒng)的模塊內(nèi)部漢字圖形點(diǎn)陣均為128×64位,從而更好地展現(xiàn)圖形與文字信息。
3.故障診斷測(cè)試。想要完成對(duì)上述故障診斷系統(tǒng)以及診斷儀表設(shè)計(jì)的測(cè)試,可以通過CANoe軟件與其他硬件進(jìn)行結(jié)合,建立起針對(duì)發(fā)動(dòng)機(jī)控制模塊(ECU)進(jìn)行檢測(cè)和針對(duì)診斷儀表進(jìn)行檢測(cè)的相關(guān)應(yīng)用平臺(tái),并在此平臺(tái)中對(duì)上述診斷系統(tǒng)的設(shè)計(jì)進(jìn)行測(cè)試。經(jīng)過平臺(tái)的建立以及相關(guān)測(cè)試等相關(guān)實(shí)踐,將CANoe和診斷儀表的診斷結(jié)果進(jìn)行對(duì)比,發(fā)現(xiàn)測(cè)試結(jié)果與診斷儀表顯示結(jié)果具有較高的一致性,因此表明本文上述提出的診斷系統(tǒng)建立是可行的,并完成了對(duì)電動(dòng)汽車故障診斷工作,所以此系統(tǒng)可以應(yīng)用到實(shí)際生活當(dāng)中。
(二)利用解碼器進(jìn)行故障診斷。由于CAN總線是電動(dòng)汽車各網(wǎng)絡(luò)節(jié)點(diǎn)的重要連接,因此CAN故障也是電動(dòng)汽車中常見故障之一。針對(duì)此種故障的出現(xiàn),可以采用解碼器對(duì)CAN控制系統(tǒng)進(jìn)行檢測(cè),從而判斷故障出現(xiàn)原因。故障現(xiàn)象:有1輛2016款的長(zhǎng)安電動(dòng)汽車,當(dāng)汽車開啟空調(diào)制冷功能時(shí),發(fā)現(xiàn)空調(diào)吹出的只有自然風(fēng),沒有制冷效果。這也就證明,此汽車的鼓風(fēng)機(jī)是處于正常運(yùn)轉(zhuǎn)狀態(tài)的,只是空調(diào)的制冷系統(tǒng)出現(xiàn)了問題。故障檢測(cè)與故障排除:通過利用解碼器對(duì)該電動(dòng)汽車的發(fā)動(dòng)機(jī)控制系統(tǒng)故障碼以及空調(diào)系統(tǒng)的故障碼進(jìn)行提取并分析,結(jié)果發(fā)現(xiàn)并沒有故障碼的出現(xiàn)。所以,故障來源可能是空調(diào)管路或壓縮機(jī)出現(xiàn)了問題。經(jīng)過詳細(xì)排查結(jié)果發(fā)現(xiàn),汽車空調(diào)壓縮機(jī)的電磁離合器沒有接觸,所以可以推斷出以下兩種故障可能:一是故障來源于離合器的控制線路或電磁線圈出現(xiàn)了問題,二是空調(diào)的控制單元出現(xiàn)問題。但是經(jīng)過電阻測(cè)量,發(fā)現(xiàn)電阻值是正常的。這種情況下,就要考慮空調(diào)控制單元故障,經(jīng)測(cè)量,其數(shù)據(jù)流發(fā)動(dòng)機(jī)轉(zhuǎn)速為0,而汽車的發(fā)動(dòng)機(jī)卻是運(yùn)行狀態(tài),因此可以得出,發(fā)動(dòng)機(jī)控制單元與空調(diào)控制單元之間的連接線發(fā)生了故障,經(jīng)過維修使得故障得到排除。
綜上所述,本文主要介紹了CNA總線的相關(guān)知識(shí)與特點(diǎn),并提出了利用故障診斷系統(tǒng)以及CAN總線故障診斷方法等兩種方法,并通過大量實(shí)踐與檢驗(yàn),證明了上述兩種診斷方法的可行性,因此可以在后續(xù)電動(dòng)汽車故障診斷中進(jìn)行應(yīng)用。