王 斌,胡艷峰,王保平,鄭 欣,徐 峰
(陜西重型汽車有限公司汽車工程研究院,陜西 西安 710200)
某車廠開發(fā)的一款混合動(dòng)力電動(dòng)汽車,有3種模式:純電動(dòng)模式、混合動(dòng)力模式以及發(fā)動(dòng)機(jī)模式。在正常情況下,應(yīng)是發(fā)動(dòng)機(jī)先自檢,確認(rèn)正常后發(fā)動(dòng)機(jī)停機(jī),然后純電動(dòng)起步?,F(xiàn)在問題是,在鑰匙打到Start擋后,發(fā)動(dòng)機(jī)啟動(dòng)并完成自檢,且整車滿足純電起步的條件,但發(fā)動(dòng)機(jī)一直工作沒有停機(jī) (或只偶爾情況下停機(jī)),即使駕駛室操作EV純電模式開關(guān)請求車輛純電模式運(yùn)行,發(fā)動(dòng)機(jī)仍不停機(jī)。
此時(shí)的發(fā)動(dòng)機(jī)停機(jī)指令,實(shí)際是借用ABS控制器發(fā)送的輔助發(fā)動(dòng)機(jī)停機(jī)CAN信號(hào)來完成的。采用CAN總線信號(hào)實(shí)現(xiàn)發(fā)動(dòng)機(jī)停機(jī),通信報(bào)文見表1。
表1 發(fā)動(dòng)機(jī)停機(jī)報(bào)文
發(fā)動(dòng)機(jī)在接收到EBC1報(bào)文時(shí),若Byte4 Bit6 Bit5值為“01”時(shí),發(fā)動(dòng)機(jī)控制器將控制發(fā)動(dòng)機(jī)停止噴油,發(fā)動(dòng)機(jī)轉(zhuǎn)速逐漸下降,直至發(fā)動(dòng)機(jī)停機(jī),因此該報(bào)文應(yīng)該持續(xù)發(fā)送直到發(fā)動(dòng)機(jī)停機(jī)為止 (停機(jī)過程不可終止該報(bào)文發(fā)送)。原因是若停機(jī)的過程中,該報(bào)文接收終止,發(fā)動(dòng)機(jī)轉(zhuǎn)速還在一定轉(zhuǎn)速以上時(shí),發(fā)動(dòng)機(jī)會(huì)自行恢復(fù)到正常運(yùn)行狀態(tài)。車輛網(wǎng)絡(luò)架構(gòu)如圖1所示。
圖1 車輛網(wǎng)絡(luò)架構(gòu)
由總線拓?fù)淇芍?,整車?條CAN線,動(dòng)力CAN1及車身CAN2,通信速率都是250k。其中ABS及發(fā)動(dòng)機(jī)控制器 (EEC)都在CAN1上,當(dāng)車輛ON擋后,整車高低壓都上電,此時(shí)網(wǎng)絡(luò)通信開始,ABS控制器會(huì)按照SAE J1939的要求發(fā)送自己的報(bào)文。當(dāng)Start后,發(fā)動(dòng)機(jī)啟動(dòng)自檢,同時(shí)混動(dòng)整車控制器 (HCU)會(huì)監(jiān)測動(dòng)力電池電量、氣壓等車輛相關(guān)狀態(tài),滿足純電起步后,HCU會(huì)控制EEC停機(jī),即發(fā)送借用的EBC1報(bào)文中的輔助發(fā)動(dòng)機(jī)停機(jī)信號(hào)來使發(fā)動(dòng)機(jī)停機(jī)。這時(shí),問題出來了,ABS發(fā)送EBC1,HCU也發(fā)送EBC1,根據(jù)CAN通信的原理,一個(gè)CAN網(wǎng)段上不能出現(xiàn)2個(gè)相同的ID,因此EEC無法響應(yīng)HCU發(fā)送的EBC1報(bào)文,從而導(dǎo)致發(fā)動(dòng)機(jī)無法停機(jī)。
由于該車型匹配的是電控發(fā)動(dòng)機(jī),發(fā)動(dòng)機(jī)在出廠前已經(jīng)內(nèi)部刷了程序,只對源地址0B的EBC1報(bào)文有響應(yīng)。因此要實(shí)現(xiàn)HCU通過EBC1控制發(fā)動(dòng)機(jī)停機(jī),只能是ABS控制器修改發(fā)送EBC1報(bào)文的源地址。但和ABS廠家溝通,廠家表示產(chǎn)品已經(jīng)批量化且符合SAE J1939規(guī)定,所以無法修改EBC1源地址。
圖2為發(fā)動(dòng)機(jī)控制器EEC的部分硬線輸入PIN腳。其中K67為車下發(fā)動(dòng)機(jī)啟動(dòng)開關(guān),車輛維修或上裝取力時(shí)可以車下啟動(dòng)發(fā)動(dòng)機(jī)。車下啟停開關(guān)為選用裝置,并且用此功能停機(jī)必須在停車即車速為0的條件下才有效。因此行車過程中要停止發(fā)動(dòng)機(jī)無法借用該開關(guān),所以行車中如果遇到需要停止發(fā)動(dòng)機(jī)的情況,這種硬線方式還是無法實(shí)現(xiàn)。
圖2 發(fā)動(dòng)機(jī)控制器部分硬線PIN腳
車下啟停發(fā)動(dòng)機(jī)功能,除了上述的車下啟停發(fā)動(dòng)機(jī)硬線開關(guān)能實(shí)現(xiàn)此功能外,發(fā)動(dòng)機(jī)ECU也可以響應(yīng)總線的報(bào)文信號(hào)實(shí)現(xiàn)此功能,需要停機(jī)時(shí),整車控制器發(fā)送CAN信號(hào)控制發(fā)動(dòng)機(jī)停機(jī)。查看發(fā)動(dòng)機(jī)通訊協(xié)議,發(fā)現(xiàn)有ID為0x0CFF0431的DEC1(開關(guān)控制器)報(bào)文,見表2。
表2 DEC1報(bào)文
Byte2的Bit6、5車下停止發(fā)動(dòng)機(jī)信號(hào),可以實(shí)現(xiàn)發(fā)動(dòng)機(jī)的停機(jī)。根據(jù)PGN=00FF04=65284,查看SAE J1939,得知65284為一個(gè)制造商自定義的PGN。由此可以看出發(fā)動(dòng)機(jī)開放DEC1報(bào)文是他們自己定義的,專門用于車下啟停發(fā)動(dòng)機(jī)。由于車下啟停功能是在車輛停止的情況下才能使用的,因此該DEC1報(bào)文應(yīng)用的一個(gè)限制條件就是車速必須為0,發(fā)動(dòng)機(jī)才會(huì)響應(yīng)DEC1發(fā)送的發(fā)動(dòng)機(jī)停機(jī)信號(hào)。所以在行車時(shí)如果要發(fā)動(dòng)機(jī)停機(jī),DEC1還是實(shí)現(xiàn)不了,當(dāng)然我們可以屏蔽車速信號(hào),但又存在一定的安全隱患。
HCU借用EBC1來停止發(fā)動(dòng)機(jī),由于與ABS也發(fā)EBC1標(biāo)識(shí)符沖突,導(dǎo)致無法停機(jī)的情況發(fā)生。上述我們試圖讓ABS廠家來修改ABS發(fā)送的EBC1的源地址沒有成功,那么,為什么不讓HCU發(fā)送的EBC1將源地址OB修改為其它呢?經(jīng)與發(fā)動(dòng)機(jī)廠家溝通,發(fā)動(dòng)機(jī)只接收一個(gè)源地址的PGN=F001的報(bào)文,所以只需要出廠前配置好即可,這樣就解決了ID沖突,并可以控制發(fā)動(dòng)機(jī)停機(jī)。因此,修改HCU發(fā)送的EBC1報(bào)文ID為0x18F001EF,通過實(shí)驗(yàn)驗(yàn)證,這種方法很好地解決了發(fā)動(dòng)機(jī)的停機(jī)問題。
故障的出現(xiàn)是由于同一CAN網(wǎng)段上出現(xiàn)了2個(gè)相同的標(biāo)識(shí)符,通過修改HCU發(fā)送停機(jī)EBC1報(bào)文的源地址,以及發(fā)動(dòng)機(jī)廠家出廠前設(shè)置好對源地址EF標(biāo)識(shí)的識(shí)別,從而最終解決了發(fā)動(dòng)機(jī)無法受控停機(jī)的問題。