博客專欄

EEPW首頁 > 博客 > 詳解AUTOSAR:AUTOSRA軟件架構(理論篇—2)

詳解AUTOSAR:AUTOSRA軟件架構(理論篇—2)

發(fā)布人:美男子玩編程 時間:2022-09-19 來源:工程師 發(fā)布文章

AUTOSAR規(guī)范主要包括:軟件架構、方法論和應用接口三部分內容。其中,軟件架構是實現(xiàn)軟硬件分離的關鍵,它使汽車嵌入式系統(tǒng)控制軟件開發(fā)者擺脫了以往ECU軟件開發(fā)與驗證時對硬件系統(tǒng)的依賴。


在AUTOSAR軟件架構中,汽車嵌入式系統(tǒng)軟件自上而下分別為:應用軟件層(Application Software Layer,ASW)、運行時環(huán)境(Runtime Environment,RTE)、基礎軟件層(Basic Software Layer,BSW)和微控制器(Microcontroller)。


為保證上層與下層的無關性,通常情況下,每一層只能使用下一層所提供的接口,并向上一層提供相應的接口。如圖下圖所示:


圖片


1


應用軟件層

應用軟件層(Application Software Layer,ASW)包含若干個軟件組件(Software Component,SWC)(軟件組件在下一篇文章講解),軟件組件間通過端口(Port)進行交互。每個軟件組件可以包含一個或者多個運行實體(Runnable Entity,RE),運行實體中封裝了相關控制算法,其可由RTE事件(RTE Event)觸發(fā)。


2


運行時環(huán)境

運行時環(huán)境(Runtime Environment,RTE)作為應用軟件層與基礎軟件層交互的橋梁,為軟硬件分離提供了可能。RTE可以實現(xiàn)軟件組件間、基礎軟件間以及軟件組件與基礎軟件之間的通信。RTE封裝了基礎軟件層的通信和服務,為應用層軟件組件提供了標準化的基礎軟件和通信接口,使得應用層可以通過RTE接口函數(shù)調用基礎軟件的服務。


此外,RTE抽象了ECU之間的通信,即RTE通過使用標準化的接口將其統(tǒng)一為軟件組件之間的通信。由于RTE的實現(xiàn)與具體ECU相關,所以必須為每個ECU分別實現(xiàn)。


3


基礎軟件層

基礎軟件層(Basic Software Layer,BSW)可分為四層即:服務層(Services Layer)、ECU抽象層(ECU Abstraction Layer)、微控制器抽象層(Microcontroller Abstraction Layer,MCAL)和復雜驅動(Complex Drivers),如下圖所示:


圖片

可以將基礎軟件層進一步細化,包括:系統(tǒng)服務( System Services)、存儲器服務(Memory Services)、通信服務(Communication Services)等,它們主要用于提供基礎軟件服務,包括標準化的系統(tǒng)功能和功能接口。如下圖所示:


圖片


3.1、服務層

服務層(Services Layer)提供了汽車嵌入式系統(tǒng)軟件常用的一些服務,其可分為系統(tǒng)服務(System Services)、存儲器服務(MemoryServices)以及通信服務(Communication Services)三大部分。


提供包括:網絡通信管理、存儲管理、ECU模式管理和實時操作系統(tǒng)(Real Time Operating System,RTOS)等服務。除了操作系統(tǒng)外,服務層的軟件模塊都是與ECU平臺無關的。


3.2、ECU抽象層

ECU抽象層(ECU Abstraction Layer)包括板載設備抽象(Onboard Devices Abstraction) 、存儲器硬件抽象(Memory Hardware Abstraction)、通信硬件抽象(Communication Hardware Abstraction)和I/O硬件抽象(Input/Output Hardware Abstraction)。


該層將ECU結構進行了抽象,負責提供統(tǒng)一的訪問接口,實現(xiàn)對通信、存儲器或者IO的訪問,從而不需要考慮這些資源是由微控制器片內提供的,還是由微控制器片外設備提供的。該層與ECU平臺相關,但與微控制器無關,這種無關性正是由微控制器抽象層來實現(xiàn)的。


3.3、微控制器抽象層

微控制器抽象層(Microcontroller Abstraction Layer,MCAL)是實現(xiàn)不同硬件接口統(tǒng)一化的特殊層。通過微控制器抽象層可將硬件封裝起來,避免上層軟件直接對微控制器的寄存器進行操作。


微控制器抽象層包括微控制器驅動(Microcontroller Drivers)、存儲器驅動(Memory Drivers)、通信驅動(Communication Drivers)以及I/O驅動(IO Drivers),如下圖所示:


圖片


3.4、復雜驅動層

由于對復雜傳感器和執(zhí)行器進行操作的模塊涉及嚴格的時序問題,難以抽象,所以在AUTOSAR規(guī)范中這部分沒有被標準化,統(tǒng)稱為復雜驅動( Complex Drivers)。


*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: AUTOSAR

相關推薦

技術專區(qū)

關閉