官术网_书友最值得收藏!

2.2 AUTOSAR分層架構

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

在AUTOSAR分層架構中,汽車嵌入式系統軟件自上而下分別為應用軟件層(Application Software Layer,ASW)、運行時環境(Runtime Environment,RTE)、基礎軟件層(Basic Software Layer,BSW)和微控制器(Microcontroller),如圖2.3所示。為保證上層與下層的無關性,在通常情況下,每一層只能使用下一層所提供的接口,并向上一層提供相應的接口。

圖2.3 AUTOSAR分層架構

2.2.1 AUTOSAR應用軟件層

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

2.2.2 AUTOSAR運行時環境

運行時環境(Runtime Environment,RTE)作為應用軟件層與基礎軟件層交互的橋梁,為軟硬件分離提供了可能。RTE可以實現軟件組件間、基礎軟件間以及軟件組件與基礎軟件之間的通信。RTE封裝了基礎軟件層的通信和服務,為應用層軟件組件提供了標準化的基礎軟件和通信接口,使得應用層可以通過RTE接口函數調用基礎軟件的服務。此外,RTE抽象了ECU之間的通信,即RTE通過使用標準化的接口將其統一為軟件組件之間的通信。由于RTE的實現與具體ECU相關,所以必須為每個ECU分別實現。

2.2.3 AUTOSAR基礎軟件層

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

圖2.4 AUTOSAR基礎軟件層

上述各層又由一系列基礎軟件組件構成,包括系統服務(System Services)、存儲器服務(Memory Services)、通信服務(Communication Services)等,如圖2.5所示。它們主要用于提供基礎軟件服務,包括標準化的系統功能和功能接口。

圖2.5 AUTOSAR基礎軟件層結構

(1)服務層

服務層(Services Layer)提供了汽車嵌入式系統軟件常用的一些服務,其可分為系統服務(System Services)、存儲器服務(Memory Services)以及通信服務(Communication Services)三大部分。提供包括網絡通信管理、存儲管理、ECU模式管理和實時操作系統(Real Time Operating System,RTOS)等服務。除了操作系統外,服務層的軟件模塊都是與ECU平臺無關的。

(2)ECU抽象層

ECU抽象層(ECU Abstraction Layer)包括板載設備抽象(Onboard Devices Abstraction)、存儲器硬件抽象(Memory Hardware Abstraction)、通信硬件抽象(Communication Hardware Abstraction)和I/O硬件抽象(Input/Output Hardware Abstraction)。該層將ECU結構進行了抽象,負責提供統一的訪問接口,實現對通信、存儲器或者I/O的訪問,從而不需要考慮這些資源是由微控制器片內提供的,還是由微控制器片外設備提供的。該層與ECU平臺相關,但與微控制器無關,這種無關性正是由微控制器抽象層來實現的。

(3)微控制器抽象層

微控制器抽象層(Microcontroller Abstraction Layer,MCAL)是實現不同硬件接口統一化的特殊層。通過微控制器抽象層可將硬件封裝起來,避免上層軟件直接對微控制器的寄存器進行操作。微控制器抽象層包括微控制器驅動(Microcontroller Drivers)、存儲器驅動(Memory Drivers)、通信驅動(Communication Drivers)以及I/O驅動(I/O Drivers),如圖2.6所示。

圖2.6 微控制器抽象層

(4)復雜驅動層

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

主站蜘蛛池模板: 衢州市| 肇庆市| 庆云县| 静安区| 边坝县| 阜平县| 漯河市| 略阳县| 连云港市| 新乡县| 泗阳县| 临颍县| 新津县| 旬邑县| 榆树市| 涡阳县| 泗水县| 乐陵市| 三明市| 佳木斯市| 兴业县| 资源县| 贵定县| 涪陵区| 江安县| 唐河县| 惠安县| 榆社县| 平舆县| 南江县| 邵阳市| 抚州市| 呼图壁县| 马关县| 温州市| 台东市| 麻城市| 邯郸市| 崇州市| 紫云| 吉首市|