AUTOSAR CAN診斷實(shí)現
AUTOSAR是由全球汽車(chē)OEM和供應商共同推出的一種汽車(chē)電子嵌入式軟體分層架構。該分層架構由微控制器抽象層、ECU抽象層、服務(wù)層、執行時(shí)環(huán)境(RTE)和應用層組成,前叁層被統稱(chēng)為基礎軟體(BSW)。
本文引用地址:http://dyxdggzs.com/article/197621.htmAUTOSAR各層軟體的通訊透過(guò)叁類(lèi)介面實(shí)現,分別是標式槊妗AUTOSAR介面和標AUTOSAR介面。其中,標式槊嬗糜BSW各個(gè)模組之間的通訊,已用C語(yǔ)言定義,如void Adc_Init(const Adc_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)的軟體構件外)完全獨立于硬體,具有絕對的再使用性。

圖1 AUTOSAR分層架構
*
汽車(chē)診斷簡(jiǎn)介
目前,整車(chē)廠(chǎng)和供應商裼迷諳噠鋃嫌肜胂噠鋃舷嘟岷系惱鋃戲椒?。灾O噠鋃賢腹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標侍逑?。哉C擻貿盜煊潁OEM正從自定義診斷協(xié)議逐漸轉向ISO標?。灾G逃貿盜煊潁OEM沿用SAE診斷,歐洲OEM在此基礎上增加了ISO診斷。表1列出了部份ISO和SAE標識哉鍘
AUTOSAR CAN診斷實(shí)現
1) 診斷服務(wù)
目前,AUTOSAR V3.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。

圖2 AUTOSAR CAN診斷相關(guān)模組
評論