天天看點

autosar中bsw架構組成_AUTOSAR CAN診斷實作

AUTOSAR是由全球汽車OEM和供應商共同推出的一種汽車電子嵌入式軟體分層架構。該分層架構由微控制器抽象層、ECU抽象層、服務層、執行時環境(RTE)和應用層組成,前叁層被統稱為基礎軟體(BSW)。本文引用位址:http://www.eepw.com.cn/article/197621.htm

AUTOSAR各層軟體的通訊透過叁類介面實作,分别是标式槊妗AUTOSAR介面和标AUTOSAR介面。其中,标式槊嬗糜BSW各個模組之間的通訊,已用C語言定義,如void Adc_Init(const Adc_ConfigType* ConfigPtr)。AUTOSAR介面用于軟體構件(SW-C)之間的通訊或者軟體構件和ECU韌體(IO硬體抽象、複雜裝置驅動)之間的通訊,這類介面命名以‘Rte_’為字首。标AUTOSAR介面用于軟體構件存取AUTOSAR服務。依賴這種分層架構和介面定義,AUTOSR顯着提高了汽車電子嵌入式軟體的再使用性──層級越高者,再使用性越強。值得注意的是:

* 微控制器抽象層層級最低,随微控制器的更換而更換;

* RTE雖然層級僅低于應用層,但由于它負責着應用層和BSW之間的橋抛饔茫和硬體的耦合性最高,不具有再使用性;

* 應用層(除感測器、執行器相關的軟體構件外)完全獨立于硬體,具有絕對的再使用性。

autosar中bsw架構組成_AUTOSAR CAN診斷實作

圖1 AUTOSAR分層架構

*

汽車診斷簡介

目前,整車廠和供應商裼迷谙哒锒嫌肜胂哒锒舷嘟岷系惱锒戲椒āT谙哒锒賢腹ECU内部軟硬體實作自診斷。在汽車執行過程中,自診斷系統即時監控電子控制系統各組成部份的工作狀态,因而檢測電子控制系統中的故障。自診斷系統一方面将檢測出的故障透過一定的方式(比如警報訓示燈)向駕駛員發出警告,另一方面将故障程式碼及相關資料存入ECU記憶體。離線診斷透過外部診斷裝置讀取相應的診斷資訊,實作診斷作業。實作離線診斷的關鍵在于如何實作診斷裝置和ECU之間的通訊機制和診斷服務,即診斷協定。

目前,診斷協定标手饕分為ISO和SAE兩種體系。美國使用SAE标侍逑擔包括中國在内的多數國家使用ISO标侍逑怠T诔擻貿盜煊颍OEM正從自定義診斷協定逐漸轉向ISO标省T谏逃貿盜煊颍OEM沿用SAE診斷,歐洲OEM在此基礎上增加了ISO診斷。表1列出了部份ISO和SAE辨別哉鍘

AUTOSAR CAN診斷實作

1) 診斷服務

目前,AUTOSAR V3.1診斷部份支援9個OBD服務(如表2所示),14個UDS服務(如表3所示)。

依據表2和表3可知,AUTOSAR不支援OBD中的0x05服務(請求氧感測器監測結果),塬因在于基于CAN線的0x05服務在0x06中實作。不支援UDS中的0x28(通訊控制)、0x34(程式下載下傳)、0x35(程式上傳)、0x36(資料傳輸)和0x37(請求傳輸煺出)服務,且0x10服務不支援程式設計會話和擴充會話這兩種子功能。這些服務主要用于ECU重新程式設計,是以AUTOSAR不支援Bootloader。

autosar中bsw架構組成_AUTOSAR CAN診斷實作

圖2 AUTOSAR CAN診斷相關模組