1 AUTOSAR軟件架構
AUTOSAR軟件整體框架為分層式設計,以中間件RTE(Runtime Environment)為界,隔離上層的應用層(Application Layer)與下層的基礎軟件(Basic Software)。如下圖所示AUTOSAR體系架構分層標準。
圖 1 AUTOSAR體系架構分層標準
應用層軟件由1個或多個軟件組件SWC(Software Component)實現,SWC中封裝了部分或者全部ECU功能,包括對其具體功能的實現以及對應描述,如控制大燈,空調等部件的運作,但與ECU硬件系統沒有連接。
中間層RTE主要是給應用層提供通信手段,這里的通信是一種廣義的通信,可以理解成接口。應用層與其他軟件的信息交互有兩種,第一種是應用層中的不同SWC之間的信息交互;第二種是應用層SWC與基礎軟件之間的信息交互。而RTE就是這些交互使用的接口的集散地,它匯總了所有交互的接口。
不同SWC之間的通信是通過調用RTE提供的API函數實現的,都在RTE的管理和控制之下。每個API遵循統一的命名規則,且只和軟件組件自身的描述有關。RTE層的軟件都是由工具供應商提供的配置工具自動生成的。而SWC的軟件可以通過工具生成也可以由用戶自行編寫,但要符合RTE層的API接口。
基礎軟件通常是實現ECU的基礎功能,如IO操作,AD操作,診斷,CAN通信,操作系統等。根據不同功能,可對基礎軟件繼續細分成四部分,分別為服務層(Service Layer),ECU抽象層(ECUAbstract Layer),復雜驅動(ComplexDriver)和MCAL(Microcontroller Absstraction Layer),四部分之間的互相依賴程度不盡相同。為了滿足不同ECU間的互操作性,基礎軟件通常也是借助工具提供商的工具自動生成。
圖 2 AUTOSAR分層架構
服務層部分主要為應用程序、RTE以及基礎模塊提供服務如:操作系統功能、網絡通信與管理服務、存儲服務、診斷服務、ECU管理、看門狗管理。
圖 3 服務層
ECU抽象層包含許多外部設備驅動,使得更高層軟件與ECU硬件分布無關。如外部CAN Transceiver驅動、外部EEPROM驅動。
圖4 ECU抽象層
微控制器抽象層包含許多內部驅動,使得更高層軟件與為微控制器無關。如IO驅動、AD驅動、CAN驅動。
圖5 微控制器抽象層
復雜驅動層實現復雜傳感器模擬和執行器控制(直接訪問具體中斷或復雜微控制器外設),以及不支持AUTOSAR BSW分層架構的驅動,如噴射控制,電子閥控制等。
圖6 復雜驅動層
2 AUTOSAR開發方法
AUTOSAR方法論描述了從系統底層配置到ECU可執行代碼產生過程的設計步驟,可以分為建立抽象系統描述(需求)、建立VFB系統描述、開發軟件組件、開發系統和子系統、開發BSW、軟件集成這幾個步驟,從大的階段來講可分為系統配置、ECU設計與配置、軟件集成三個階段。圖7表述了從SWC描述階段到ECU提取的過程。
圖7 AUTOSAR開發方法
通過建立抽象系統描述,可描述為1個或多個SWC組件,通過VFB系統,將1個或多個SWC組件組合起來構成整個系統。使用支持SWC軟件開發組件的工具根據ECU描述、系統約束描述將軟件需求映射到ECU上。圖8描述了借助AUTOSAR配置工具從系統底層配置到ECU可執行代碼生成的過程。
圖8 AUTOSAR開發方法
首先借助配置工具生成系統配置描述文件,再提取各個ECU相關的描述將SWC映射到各個ECU上,再將子系統獨立出來,之后就可以開發單個ECU的SWC、BSW最后將生成的代碼集成,生成可執行文件下載到ECU上運行。
審核編輯 :李倩
-
API
+關注
關注
2文章
1509瀏覽量
62261 -
AUTOSAR
+關注
關注
10文章
363瀏覽量
21708 -
ecu
+關注
關注
14文章
892瀏覽量
54639
原文標題:淺談AUTOSAR架構及開發方法
文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論