博客專欄

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

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

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

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


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


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


        圖片


        1


        應用軟件層

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


        2


        運行時環境

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


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


        3


        基礎軟件層

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


        圖片

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


        圖片


        3.1、服務層

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


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


        3.2、ECU抽象層

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


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


        3.3、微控制器抽象層

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


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


        圖片


        3.4、復雜驅動層

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


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



        關鍵詞: AUTOSAR

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 白水县| 肇源县| 靖西县| 永嘉县| 高唐县| 象山县| 普安县| 昌平区| 永顺县| 五华县| 临城县| 黎城县| 镇平县| 吉水县| 北流市| 韶山市| 梧州市| 淮南市| 肇东市| 青海省| 江孜县| 米林县| 福清市| 运城市| 琼海市| 盘锦市| 罗城| 从江县| 吕梁市| 大悟县| 积石山| 宝丰县| 仁怀市| 弋阳县| 遂溪县| 甘洛县| 礼泉县| 陇南市| 松江区| 平乡县| 耿马|