吳向暢,石 平,郭文軍
(國(guó)家燃?xì)馄?chē)工程技術(shù)研究中心 重慶凱瑞動(dòng)力科技有限公司,重慶 401122;2. 四川廣播電視大學(xué),成都 610073)
隨著國(guó)家汽車(chē)污染物排放法規(guī)要求的不斷提高, 對(duì)OBD 系統(tǒng)的要求也日益嚴(yán)格。OBD 系統(tǒng)通過(guò)車(chē)內(nèi)發(fā)動(dòng)機(jī)電子控制單元(Electronic Control Unit,ECU)監(jiān)測(cè)車(chē)輛在實(shí)際使用時(shí)排放系統(tǒng)的工作狀況,并能監(jiān)測(cè)排放系統(tǒng)的故障,確保有效控制在用機(jī)動(dòng)車(chē)的排放[1]。車(chē)輛出現(xiàn)故障時(shí),OBD 系統(tǒng)可通過(guò)點(diǎn)亮故障指示燈(Malfunction Indicator Light,MIL)通知駕駛員,同時(shí)存儲(chǔ)故障代碼、凍結(jié)幀等信息。維修人員可通過(guò)診斷工具讀取ECU內(nèi)相關(guān)故障信息,便于對(duì)車(chē)輛進(jìn)行維修。
國(guó)六排放法規(guī)GB 18352.6—2016 對(duì)OBD 系統(tǒng)的要求從測(cè)試循環(huán)、監(jiān)測(cè)項(xiàng)目、檢測(cè)條件、在用監(jiān)測(cè)頻率(In-Use Performance Ratio,IUPR)到污染物排放限值等方面較國(guó)五排放法規(guī)GB 18352.5—2013[2]均有不同程度的加嚴(yán)。表1 列舉的是第一類(lèi)車(chē)的OBD 閾值。此外,國(guó)六排放法規(guī)還新增了永久故障代碼、曲軸箱強(qiáng)制通風(fēng)(Positive Crankcase Ventilation,PCV)系統(tǒng)監(jiān)測(cè)、發(fā)動(dòng)機(jī)冷卻系統(tǒng)監(jiān)測(cè)等要求。因此,原國(guó)五OBD 系統(tǒng)已無(wú)法滿(mǎn)足國(guó)六新法規(guī)的要求,需重新對(duì)OBD 系統(tǒng)軟件進(jìn)行開(kāi)發(fā),以適應(yīng)新排放法規(guī)的要求。
表1 第一類(lèi)車(chē)OBD 閾值
OBD 系統(tǒng)軟件由故障監(jiān)測(cè)、故障管理、協(xié)議棧三個(gè)模塊組成,其總體架構(gòu)如圖1 所示。
圖1 OBD 系統(tǒng)軟件總體架構(gòu)
故障監(jiān)測(cè)模塊用于監(jiān)測(cè)綜合部件(傳感器及執(zhí)行器)、系統(tǒng)功能及ECU 自身是否出現(xiàn)性能劣化及異常。
故障管理模塊是OBD 系統(tǒng)的中樞,主要進(jìn)行故障監(jiān)測(cè)頻率的設(shè)置及計(jì)數(shù)、故障確認(rèn)、故障相關(guān)數(shù)據(jù)存儲(chǔ)、故障消失、故障修復(fù)、故障清除及MIL控制。
協(xié)議棧用于實(shí)現(xiàn)ECU 與診斷工具的通信。參照ISO 15765-4:2016[3]標(biāo)準(zhǔn),進(jìn)行了簡(jiǎn)化的OSI五層網(wǎng)絡(luò)模型設(shè)計(jì),由應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層及物理層構(gòu)成。應(yīng)用層主要負(fù)責(zé)通信管理、數(shù)據(jù)傳輸、輸入輸出控制、故障代碼讀取及清除。傳輸層和網(wǎng)絡(luò)層將應(yīng)用層生成的數(shù)據(jù)進(jìn)行分包等相關(guān)處理,以符合ISO 11898-1:2015[4]的CAN 數(shù)據(jù)幀標(biāo)準(zhǔn)。數(shù)據(jù)鏈路層及物理層,定義了硬件接口相關(guān)參數(shù)。
故障管理的流程如圖2 所示。
圖2 故障管理流程
IUPR 等于分子計(jì)數(shù)除以分母計(jì)數(shù)。催化器監(jiān)測(cè)、氧傳感器監(jiān)測(cè)、VVT 系統(tǒng)監(jiān)測(cè)的最小IUPR 應(yīng)大于0.336。
分子及分母計(jì)數(shù)增加:按GB 18352.6—2016 標(biāo)準(zhǔn)要求,在環(huán)境溫度、海拔高度、發(fā)動(dòng)機(jī)運(yùn)行時(shí)間、車(chē)速大小、怠速運(yùn)行時(shí)間等相關(guān)參數(shù)同時(shí)滿(mǎn)足特定條件時(shí),相應(yīng)的分母計(jì)數(shù)增加1 次;當(dāng)故障監(jiān)測(cè)中所必需的全部條件都滿(mǎn)足時(shí),相應(yīng)的分子計(jì)數(shù)增加1 次。
每個(gè)駕駛循環(huán),條件滿(mǎn)足時(shí),分子計(jì)數(shù)或分母計(jì)數(shù)加且僅增加整數(shù)1。
分子計(jì)數(shù)和分母計(jì)數(shù)中斷及恢復(fù)條件:
(1)若監(jiān)測(cè)到故障時(shí),即存儲(chǔ)了一個(gè)未決故障代碼或確認(rèn)故障代碼,在10 s 內(nèi)停止故障相對(duì)應(yīng)的分子計(jì)數(shù)和分母計(jì)數(shù)的增加;當(dāng)該故障不再出現(xiàn)時(shí),在10 s 內(nèi)恢復(fù)其分子計(jì)數(shù)及分母計(jì)數(shù)的增加。
(2)當(dāng)分母計(jì)算規(guī)則中的測(cè)量環(huán)境溫度、海拔高度、發(fā)動(dòng)機(jī)工作時(shí)間等參數(shù)的部件發(fā)生故障時(shí),在10 s 內(nèi)停止所有的分子計(jì)數(shù)及分母計(jì)數(shù)的增加;當(dāng)該故障不再出現(xiàn)時(shí),在10 s 內(nèi)恢復(fù)相應(yīng)分子和分母計(jì)數(shù)的增加。
故障確認(rèn)及相關(guān)數(shù)據(jù)存儲(chǔ):當(dāng)前駕駛循環(huán),監(jiān)測(cè)到故障的次數(shù)超過(guò)特定條件(該循環(huán)內(nèi)持續(xù)特定時(shí)間監(jiān)測(cè)到特定的次數(shù)),即確認(rèn)為未決故障,存儲(chǔ)一個(gè)未決故障代碼。若在下一駕駛循環(huán)再次監(jiān)測(cè)到該故障,立即持續(xù)點(diǎn)亮MIL,存儲(chǔ)凍結(jié)幀數(shù)據(jù)、一個(gè)未決故障代碼和一個(gè)確定的故障代碼,同時(shí)存儲(chǔ)一個(gè)永久故障代碼。
故障消失:若當(dāng)前循環(huán)監(jiān)測(cè)到故障不再出現(xiàn),則清除該故障標(biāo)志位。
故障修復(fù):至少3 個(gè)連續(xù)駕駛循環(huán)中,OBD系統(tǒng)不再監(jiān)測(cè)到故障,之前導(dǎo)致點(diǎn)亮MIL 的故障也不再出現(xiàn),并且也沒(méi)有檢測(cè)到其它需要單獨(dú)點(diǎn)亮MIL 的故障,熄滅MIL,同時(shí)清除該故障的永久故障代碼。
故障清除:若OBD 系統(tǒng)在連續(xù)的40 個(gè)到41個(gè)暖機(jī)循環(huán)未再檢測(cè)到該故障,且MIL 在連續(xù)的40 個(gè)到41 個(gè)駕駛循環(huán)中也沒(méi)有被該故障點(diǎn)亮,則清除確認(rèn)的故障代碼,同時(shí)清除因該故障存儲(chǔ)的凍結(jié)幀數(shù)據(jù)。
協(xié)議棧基于CAN,按照ISO 15765 相關(guān)標(biāo)準(zhǔn)要求進(jìn)行開(kāi)發(fā)。基于事件驅(qū)動(dòng)型,采用一問(wèn)一答的方式進(jìn)行通信,由診斷工具提問(wèn),ECU 進(jìn)行應(yīng)答。具體實(shí)現(xiàn)流程如圖3 所示。
圖3 協(xié)議棧報(bào)文處理流程
ECU 的地址信息、對(duì)應(yīng)的診斷服務(wù)標(biāo)識(shí)及診斷或故障相關(guān)數(shù)據(jù)在應(yīng)用層中進(jìn)行設(shè)置及處理。在傳輸層及網(wǎng)絡(luò)層中,ECU 的地址信息被轉(zhuǎn)換為11/29位的標(biāo)識(shí)符。診斷服務(wù)標(biāo)識(shí)、診斷或故障相關(guān)數(shù)據(jù)會(huì)合并為由多個(gè)單字節(jié)構(gòu)成的數(shù)據(jù)。
若診斷相關(guān)的數(shù)據(jù)少于或等于8 個(gè)字節(jié),ECU在接收到診斷工具的請(qǐng)求后,直接響應(yīng),發(fā)出該單幀數(shù)據(jù)即可,較為簡(jiǎn)單。
當(dāng)診斷相關(guān)的數(shù)據(jù)超過(guò)8 個(gè)字節(jié)時(shí),由于單幀CAN 數(shù)據(jù)最多只能傳輸8 個(gè)字節(jié)的數(shù)據(jù),無(wú)法通過(guò)單幀數(shù)據(jù)發(fā)出。作為發(fā)送端的ECU 需要將數(shù)據(jù)進(jìn)行分包,拆分為多幀數(shù)據(jù)再進(jìn)行發(fā)送。
多幀數(shù)據(jù)的通信流程如下:
(1)ECU 接收到診斷工具的請(qǐng)求后,根據(jù)收到的服務(wù)類(lèi)別請(qǐng)求,將分包后的第1 幀數(shù)據(jù)發(fā)出。
(2)診斷工具接收到ECU發(fā)出的第1幀數(shù)據(jù)后,將發(fā)出流控制幀。該幀包含診斷工具可接收的塊大?。–AN 數(shù)據(jù)幀數(shù))、流狀態(tài)及連續(xù)兩幀數(shù)的最短發(fā)送時(shí)間間隔。
(3)ECU 根據(jù)接收到的流控制信號(hào),按規(guī)定的時(shí)間間隔要求,連續(xù)發(fā)送與塊大小相匹配的數(shù)據(jù)幀。
(4)診斷工具接收完ECU 發(fā)送的連續(xù)幀后,將再次發(fā)送流控制幀。
上述步驟3、4 將反復(fù)執(zhí)行,直到ECU 發(fā)出長(zhǎng)度小于塊大小的最后一塊數(shù)據(jù)[5]。
需要注意的是,發(fā)出的每一幀數(shù)據(jù)都應(yīng)填滿(mǎn)8字節(jié)。若當(dāng)前幀的數(shù)據(jù)未滿(mǎn)8 字節(jié),剩余字節(jié)需用0 進(jìn)行填充。
前氧傳感器的響應(yīng)速率監(jiān)測(cè)是系統(tǒng)功能監(jiān)測(cè)中最為重要的監(jiān)測(cè)項(xiàng)目之一。
氧傳感器主要用于監(jiān)測(cè)發(fā)動(dòng)機(jī)的空燃比,是發(fā)動(dòng)機(jī)電控系統(tǒng)閉環(huán)控制系統(tǒng)的一個(gè)重要零件。氧傳感器信號(hào)響應(yīng)變慢將會(huì)造成空燃比反饋延遲,直接影響到電控系統(tǒng)空燃比的閉環(huán)控制及響應(yīng)特性[6],嚴(yán)重的還可能導(dǎo)致排放超標(biāo)。
診斷原理:當(dāng)發(fā)動(dòng)機(jī)處于理論空燃比閉環(huán)控制,且發(fā)動(dòng)機(jī)的轉(zhuǎn)速、負(fù)荷、水溫相關(guān)信號(hào)均滿(mǎn)足監(jiān)測(cè)工況要求時(shí),若ECU 測(cè)得氧傳感器輸出電壓信號(hào)從濃到稀,再到濃的循環(huán)時(shí)間超過(guò)閾值,就可監(jiān)測(cè)到氧傳感器的響應(yīng)速率變慢。如圖4 所示,實(shí)線(xiàn)為正常的氧傳感器信號(hào),虛線(xiàn)為劣化后響應(yīng)速率已變慢的氧傳感器信號(hào),通過(guò)監(jiān)測(cè)循環(huán)時(shí)間的長(zhǎng)短,并與標(biāo)準(zhǔn)閾值進(jìn)行比較,從而判斷氧傳感器是否已劣化。
其故障監(jiān)測(cè)流程如圖5 所示。
圖4 氧傳感器信號(hào)
圖5 氧傳感器響應(yīng)速率監(jiān)測(cè)流程
與診斷工具通信的OBD 服務(wù)共10 類(lèi),可讀取ECU 中的當(dāng)前動(dòng)力系統(tǒng)診斷數(shù)據(jù)、故障代碼、凍結(jié)幀、車(chē)輛信息等相關(guān)OBD 數(shù)據(jù)。下面以第三類(lèi)OBD 服務(wù)(讀取確認(rèn)故障代碼)為例,介紹用診斷工具讀取確認(rèn)故障代碼時(shí),ECU 的相關(guān)工作流程,如圖6 所示。
圖6 與診斷工具通信流程
診斷工具通過(guò)CAN 發(fā)出的ID 為0x7DF 的服務(wù)請(qǐng)求信號(hào)。ECU 根據(jù)接收到的診斷服務(wù)請(qǐng)求類(lèi)型進(jìn)行相應(yīng)的響應(yīng)。當(dāng)ECU 接收到的診斷服務(wù)請(qǐng)求數(shù)據(jù)的第2 個(gè)字節(jié)為0x03(即第三類(lèi)服務(wù)請(qǐng)求)時(shí),ECU 先判斷當(dāng)前是否存在已存儲(chǔ)的確認(rèn)故障代碼,后按ISO 15031-5:2015[7]的相關(guān)要求進(jìn)行答復(fù)。答復(fù)的數(shù)據(jù)見(jiàn)表2。
表2 第三類(lèi)服務(wù)答復(fù)數(shù)據(jù)
若當(dāng)前無(wú)確認(rèn)的故障代碼,則ECU 回復(fù)的單幀CAN 數(shù)據(jù)為“0x 02 43 00 00 00 00 00 00”。當(dāng)ECU監(jiān)測(cè)到當(dāng)前有且僅有前氧傳感器響應(yīng)慢故障P0133時(shí),ECU 回復(fù)的數(shù)據(jù)也為單幀數(shù)據(jù)“0x 04 43 01 01 33 00 00 00”。
當(dāng)確認(rèn)故障代碼數(shù)超過(guò)2 個(gè)時(shí),因故障代碼的響應(yīng)數(shù)據(jù)已超過(guò)8 個(gè)字節(jié),無(wú)法通過(guò)單幀CAN 數(shù)據(jù)發(fā)送,需進(jìn)行分包處理,通過(guò)多幀CAN 數(shù)據(jù)發(fā)送出來(lái)。具體的處理流程如圖3 所示。CAN 的波特率設(shè)置為500 kBit/s。
為驗(yàn)證ECU 中OBD 軟件的功能,在某款燃?xì)獬擞密?chē)上,使用氧信號(hào)電子模擬器模擬劣化后響應(yīng)變慢的氧傳感器信號(hào),并將該劣化后的信號(hào)輸入ECU,如圖7 所示。
將氧信號(hào)電子模擬器連接在車(chē)上并設(shè)置好,進(jìn)行了一輪WLTC 循環(huán)的預(yù)處理后,通過(guò)診斷工具,可讀取到未決故障代碼P0133。預(yù)處理后,將車(chē)輛停在排放實(shí)驗(yàn)室進(jìn)行冷浸處理。緊接著,進(jìn)行WLTC 排放測(cè)試循環(huán),同步測(cè)量汽車(chē)排放的污染物。在排放試驗(yàn)結(jié)束之前,ECU 再次檢測(cè)到了該故障,點(diǎn)亮了MIL,同時(shí)存儲(chǔ)了一個(gè)確認(rèn)的故障代碼P0133、一個(gè)永久故障代碼P0133,和凍結(jié)幀數(shù)據(jù)。
圖7 前氧傳感器故障模擬
試驗(yàn)過(guò)程記錄的正常及故障氧傳感器信號(hào)對(duì)比如圖8(橫坐標(biāo)為時(shí)間,s;縱坐標(biāo)為電壓,V;測(cè)試條件:發(fā)動(dòng)機(jī)轉(zhuǎn)速2 450±50 r/min,進(jìn)氣歧管壓力60±3 kPa,車(chē)速90±5 km/h)所示。
圖8 前氧傳感器信號(hào)
試驗(yàn)后,用診斷工具DiagRa D 可讀取上述存儲(chǔ)的故障信息,如圖9 所示。
圖9 診斷工具通信信息截圖
污染物排放測(cè)試結(jié)果均小于國(guó)六OBD 閾值,符合國(guó)六排放法規(guī)要求,見(jiàn)表3。
表3 污染物排放測(cè)試結(jié)果
本研究開(kāi)發(fā)了國(guó)六輕型車(chē)OBD 系統(tǒng),包括故障監(jiān)測(cè)、故障管理、協(xié)議棧3 個(gè)模塊,并通過(guò)整車(chē)試驗(yàn)測(cè)試,主要結(jié)論如下:
(1)故障檢測(cè)模塊可有效監(jiān)測(cè)綜合部件故障,監(jiān)測(cè)系統(tǒng)功能故障,并實(shí)現(xiàn)ECU 自診斷功能。但催化器監(jiān)測(cè)、氧傳感器監(jiān)測(cè)、VVT 系統(tǒng)監(jiān)測(cè)等診斷項(xiàng)目需新增診斷策略、擴(kuò)大診斷邊界條件、增加標(biāo)定及驗(yàn)證工作,才能滿(mǎn)足IUPR 提升至0.336 的要求。
(2)故障管理模塊是OBD 系統(tǒng)的中樞,能有效完成故障監(jiān)測(cè)管理、故障確認(rèn)及清除、故障代碼相關(guān)信息存儲(chǔ)及清除、MIL 控制等功能。
(3)OBD 系統(tǒng)能正常檢測(cè)到故障,進(jìn)行故障代碼存儲(chǔ),點(diǎn)亮MIL,與診斷工具正常通信并可讀取到故障代碼等相關(guān)故障信息,滿(mǎn)足了國(guó)六排放法規(guī)的要求。