AUTO SARCAN診斷實(shí)現
AUTOSAR是由全球汽車(chē)OEM和供應商共同推出的一種汽車(chē)電子嵌入式軟體分層架構。該分層架構由微控制器抽象層、ECU抽象層、服務(wù)層、執行時(shí)環(huán)境(RTE)和應用層組成,前叁層被統稱(chēng)為基礎軟體(BSW)。
AUTOSAR各層軟體的通訊透過(guò)叁類(lèi)介面實(shí)現,分別是標準介面、AUTOSAR介面和標準AUTOSAR介面。其中,標準介面用于BSW各個(gè)模組之間的通訊,已用C語(yǔ)言定義,如voidAdc_Init(constAdc_ConfigType*ConfigPtr)。AUTOSAR介面用于軟體構件(SW-C)之間的通訊或者軟體構件和ECU韌體(IO硬體抽象、復雜設備驅動(dòng))之間的通訊,這類(lèi)介面命名以‘Rte_’為前綴。標準AUTOSAR介面用于軟體構件存取AUTOSAR服務(wù)。依賴(lài)這種分層架構和介面定義,AUTOSR顯著(zhù)提高了汽車(chē)電子嵌入式軟體的再使用性──層級越高者,再使用性越強。值得注意的是:
*微控制器抽象層層級最低,隨微控制器的更換而更換;
*RTE雖然層級僅低于應用層,但由于它負責著(zhù)應用層和BSW之間的橋樑作用,和硬體的耦合性最高,不具有再使用性;
*應用層(除感測器、執行器相關(guān)的軟體構件外)完全獨立于硬體,具有絕對的再使用性。
圖1AUTOSAR分層架構
汽車(chē)診斷簡(jiǎn)介
目前,整車(chē)廠(chǎng)和供應商採用在線(xiàn)診斷與離線(xiàn)診斷相結合的診斷方法。在線(xiàn)診斷透過(guò)ECU內部軟硬體實(shí)現自診斷。在汽車(chē)執行過(guò)程中,自診斷系統即時(shí)監控電子控制系統各組成部份的工作狀態(tài),因而檢測電子控制系統中的故障。自診斷系統一方面將檢測出的故障透過(guò)一定的方式(比如警報指示燈)向駕駛員發(fā)出警告,另一方面將故障程式碼及相關(guān)數據存入ECU記憶體。離線(xiàn)診斷透過(guò)外部診斷設備讀取相應的診斷資訊,實(shí)現診斷作業(yè)。實(shí)現離線(xiàn)診斷的關(guān)鍵在于如何實(shí)現診斷設備和ECU之間的通訊機制和診斷服務(wù),即診斷協(xié)議。
目前,診斷協(xié)議標準主要分為ISO和SAE兩種體系。美國使用SAE標準體系,包括中國在內的多數國家使用ISO標準體系。在乘用車(chē)領(lǐng)域,OEM正從自定義診斷協(xié)議逐漸轉向ISO標準。在商用車(chē)領(lǐng)域,OEM沿用SAE診斷,歐洲OEM在此基礎上增加了ISO診斷。表1列出了部份ISO和SAE標準對照。
AUTOSARCAN診斷實(shí)現
1)診斷服務(wù)
目前,AUTOSARV3.1診斷部份支援9個(gè)OBD服務(wù)(如表2所示),14個(gè)UDS服務(wù)(如表3所示)。
依據表2和表3可知,AUTOSAR不支援OBD中的0x05服務(wù)(請求氧感測器監測結果),塬因在于基于CAN線(xiàn)的0x05服務(wù)在0x06中實(shí)現。不支援UDS中的0x28(通訊控制)、0x34(程式下載)、0x35(程式上傳)、0x36(數據傳輸)和0x37(請求傳輸煺出)服務(wù),且0x10服務(wù)不支援編程會(huì )話(huà)和擴展會(huì )話(huà)這兩種子功能。這些服務(wù)主要用于ECU重新編程,因此AUTOSAR不支援Bootloader。
圖2AUTOSARCAN診斷相關(guān)模組
評論