淺談AUTOSAR架構及開發方法
來源: | 作者:pmo9ca4dc | 發布時間: 2019-03-29 | 1221 次瀏覽 | 分享到:
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上運行。

以上為本次分享內容,如想了解更多精彩內容,請繼續關注我們。