AUTOSAR CAN診斷實現(xiàn)
AUTOSAR是由全球汽車OEM和供應商共同推出的一種汽車電子嵌入式軟體分層架構。該分層架構由微控制器抽象層、ECU抽象層、服務層、執(zhí)行時環(huán)境(RTE)和應用層組成,前叁層被統(tǒng)稱為基礎軟體(BSW)。
本文引用地址:http://www.biyoush.com/article/197621.htmAUTOSAR各層軟體的通訊透過叁類介面實現(xiàn),分別是標式槊妗AUTOSAR介面和標AUTOSAR介面。其中,標式槊嬗糜BSW各個模組之間的通訊,已用C語言定義,如void Adc_Init(const Adc_ConfigType* ConfigPtr)。AUTOSAR介面用于軟體構件(SW-C)之間的通訊或者軟體構件和ECU韌體(IO硬體抽象、復雜設備驅動)之間的通訊,這類介面命名以‘Rte_’為前綴。標AUTOSAR介面用于軟體構件存取AUTOSAR服務。依賴這種分層架構和介面定義,AUTOSR顯著提高了汽車電子嵌入式軟體的再使用性──層級越高者,再使用性越強。值得注意的是:
* 微控制器抽象層層級最低,隨微控制器的更換而更換;
* RTE雖然層級僅低于應用層,但由于它負責著應用層和BSW之間的橋拋饔茫和硬體的耦合性最高,不具有再使用性;
* 應用層(除感測器、執(zhí)行器相關的軟體構件外)完全獨立于硬體,具有絕對的再使用性。
圖1 AUTOSAR分層架構
*
汽車診斷簡介
目前,整車廠和供應商裼迷諳噠鋃嫌肜胂噠鋃舷嘟岷系惱鋃戲椒?。灾O噠鋃賢腹ECU內部軟硬體實現(xiàn)自診斷。在汽車執(zhí)行過程中,自診斷系統(tǒng)即時監(jiān)控電子控制系統(tǒng)各組成部份的工作狀態(tài),因而檢測電子控制系統(tǒng)中的故障。自診斷系統(tǒng)一方面將檢測出的故障透過一定的方式(比如警報指示燈)向駕駛員發(fā)出警告,另一方面將故障程式碼及相關數(shù)據(jù)存入ECU記憶體。離線診斷透過外部診斷設備讀取相應的診斷資訊,實現(xiàn)診斷作業(yè)。實現(xiàn)離線診斷的關鍵在于如何實現(xiàn)診斷設備和ECU之間的通訊機制和診斷服務,即診斷協(xié)議。
目前,診斷協(xié)議標手饕分為ISO和SAE兩種體系。美國使用SAE標侍逑擔包括中國在內的多數(shù)國家使用ISO標侍逑?。哉C擻貿盜煊潁OEM正從自定義診斷協(xié)議逐漸轉向ISO標?。灾G逃貿盜煊潁OEM沿用SAE診斷,歐洲OEM在此基礎上增加了ISO診斷。表1列出了部份ISO和SAE標識哉鍘
AUTOSAR CAN診斷實現(xiàn)
1) 診斷服務
目前,AUTOSAR V3.1診斷部份支援9個OBD服務(如表2所示),14個UDS服務(如表3所示)。
依據(jù)表2和表3可知,AUTOSAR不支援OBD中的0x05服務(請求氧感測器監(jiān)測結果),塬因在于基于CAN線的0x05服務在0x06中實現(xiàn)。不支援UDS中的0x28(通訊控制)、0x34(程式下載)、0x35(程式上傳)、0x36(數(shù)據(jù)傳輸)和0x37(請求傳輸煺出)服務,且0x10服務不支援編程會話和擴展會話這兩種子功能。這些服務主要用于ECU重新編程,因此AUTOSAR不支援Bootloader。
圖2 AUTOSAR CAN診斷相關模組
評論