博客專欄

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

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

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

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


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


        為保證上層與下層的無(wú)關(guān)性,通常情況下,每一層只能使用下一層所提供的接口,并向上一層提供相應(yīng)的接口。如圖下圖所示:


        圖片


        1


        應(yīng)用軟件層

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


        2


        運(yùn)行時(shí)環(huán)境

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


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


        3


        基礎(chǔ)軟件層

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


        圖片

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


        圖片


        3.1、服務(wù)層

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


        提供包括:網(wǎng)絡(luò)通信管理、存儲(chǔ)管理、ECU模式管理和實(shí)時(shí)操作系統(tǒng)(Real Time Operating System,RTOS)等服務(wù)。除了操作系統(tǒng)外,服務(wù)層的軟件模塊都是與ECU平臺(tái)無(wú)關(guān)的。


        3.2、ECU抽象層

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


        該層將ECU結(jié)構(gòu)進(jìn)行了抽象,負(fù)責(zé)提供統(tǒng)一的訪問(wèn)接口,實(shí)現(xiàn)對(duì)通信、存儲(chǔ)器或者IO的訪問(wèn),從而不需要考慮這些資源是由微控制器片內(nèi)提供的,還是由微控制器片外設(shè)備提供的。該層與ECU平臺(tái)相關(guān),但與微控制器無(wú)關(guān),這種無(wú)關(guān)性正是由微控制器抽象層來(lái)實(shí)現(xiàn)的。


        3.3、微控制器抽象層

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


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


        圖片


        3.4、復(fù)雜驅(qū)動(dòng)層

        由于對(duì)復(fù)雜傳感器和執(zhí)行器進(jìn)行操作的模塊涉及嚴(yán)格的時(shí)序問(wèn)題,難以抽象,所以在AUTOSAR規(guī)范中這部分沒(méi)有被標(biāo)準(zhǔn)化,統(tǒng)稱為復(fù)雜驅(qū)動(dòng)( Complex Drivers)。


        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



        關(guān)鍵詞: AUTOSAR

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 开鲁县| 射洪县| 安平县| 济南市| 海伦市| 扶风县| 北票市| 普格县| 天峻县| 永丰县| 阳信县| 泸水县| 东乡族自治县| 台中县| 宁安市| 济南市| 德阳市| 海南省| 信丰县| 常州市| 阿巴嘎旗| 农安县| 陇南市| 平邑县| 临高县| 宝山区| 晋州市| 凤台县| 西城区| 镇平县| 泽库县| 康乐县| 三原县| 当涂县| 蒲江县| 南澳县| 辉县市| 大荔县| 长治市| 晋中市| 蒙阴县|