AUTOSAR是什么
AUTOSAR的全稱是AUTomotive Open System Architecture,直譯為汽車開放系統(tǒng)架構(gòu),是由全球汽車制造商、零部件供應(yīng)商及其他電子、半導(dǎo)體和軟件系統(tǒng)公司聯(lián)合建立,致力于為汽車工業(yè)開發(fā)一個開放的、標(biāo)準(zhǔn)化的軟件架構(gòu)。簡單來說,AUTOSAR是一種開放的軟件架構(gòu),需要汽車制造商、零部件供應(yīng)商、芯片供應(yīng)商及軟件公司共同合作來實現(xiàn)該軟件架構(gòu)。
AUTOSAR目前分為兩種:Classic Platform AUTOSAR和Adaptive Platform AUTOSAR,也稱為CP和AP。通常我們提到的AUTOSAR一般指Classic AUTOSAR,它是用在眾多汽車ECU上的AUTOSAR架構(gòu)。而Adaptive AUTOSAR是隨著近些年汽車信息娛樂系統(tǒng)的發(fā)展,在帶有高級操作系統(tǒng)(Linux或QNX)的車載Soc上使用的一種AUTOSAR架構(gòu)。本文談?wù)摰氖荂lassic AUTOSAR,因此下面提到的AUTOSAR均指Classic AUTOSAR。
為什么使用AUTOSAR
那么問題來了,為什么要使用AUTOSAR這種軟件架構(gòu),或者說使用AUTOSAR能帶來哪些好處?
在說明AUTOSAR的優(yōu)勢之前,我們先來看一下使用AUTOSAR之前的軟件開發(fā)現(xiàn)狀。
軟硬件耦合
傳統(tǒng)的汽車ECU開發(fā),一般是由一個經(jīng)驗比較豐富的軟件架構(gòu)師來搭建一個項目的軟件架構(gòu)。做的比較好的軟件架構(gòu)可能會考慮軟件分層,比如驅(qū)動層、服務(wù)層、應(yīng)用層等,做的不好的軟件架構(gòu),軟件層級可能就沒有那么分明,在應(yīng)用層甚至直接會嵌入硬件驅(qū)動相關(guān)的代碼。
多人同時開發(fā)效率低下
在AUTOSAR之前,ECU軟件開發(fā)一般按照功能模塊進(jìn)行分工。不同模塊之間的數(shù)據(jù)交互需要負(fù)責(zé)相應(yīng)模塊的工程師提前定義好接口,并在各自的模塊開發(fā)完成后進(jìn)行聯(lián)合調(diào)試,調(diào)試過程中可能會發(fā)現(xiàn)定義接口時沒有考慮到的一些問題,此時需要重新設(shè)計接口并進(jìn)行再一次的聯(lián)合調(diào)試。
軟件復(fù)用性低
由于傳統(tǒng)的ECU 軟件在開發(fā)時沒有清晰的層級劃分,軟硬件之間以及不同的功能模塊之間耦合性較大,由于MCU選型不一樣或者不同汽車主機廠的項目需求有差異,在把一套已經(jīng)開發(fā)完成的軟件移植到另一個項目時,會遇到比較大的困難。
在使用AUTOSAR之后會有哪些改變呢?
軟硬件隔離
下圖的左側(cè)是在使用AUTOSAR之前的狀態(tài),可以看到軟硬件之間的耦合性是很大的。右側(cè)是使用AUTOSAR之后的狀態(tài),軟硬件是被分隔開來的。如果更換MCU,只需要變更AUTOSAR架構(gòu)中的一部分即可(BSW,即基礎(chǔ)軟件),而處于上層的應(yīng)用軟件是可以直接復(fù)用的。
提高團隊開發(fā)效率
AUTOSAR對不同模塊之間的數(shù)據(jù)交互接口進(jìn)行了統(tǒng)一定義(RTE),每個模塊只需要按照接口標(biāo)準(zhǔn)定義去開發(fā),當(dāng)開發(fā)完成后可以直接進(jìn)行聯(lián)合調(diào)試,因為接口定義出現(xiàn)問題的概率是很低的。
軟件復(fù)用性程度提高
由于軟硬件之間進(jìn)行了良好的隔離,以及模塊之間的通信接口也是按標(biāo)準(zhǔn)開發(fā)的。一個開發(fā)好的軟件可以直接根據(jù)新項目的需求取用相應(yīng)的模塊,移植到另一個項目上。由于上層的應(yīng)用軟件不會涉及具體的硬件,即使更換MCU應(yīng)用層也無需做相應(yīng)的更改。
介紹完了AUTOSAR的好處,一起來看一下AUTOSAR的具體架構(gòu)。
AUTOSAR的具體架構(gòu)
下圖展示了AUTOSAR比較High Level的三個大的層級:應(yīng)用軟件層、RTE和基礎(chǔ)軟件層。應(yīng)用軟件層包含了汽車主機廠要求的和功能相關(guān)的軟件,RTE是應(yīng)用層不同模塊之間以及應(yīng)用層和基礎(chǔ)軟件層之間進(jìn)行交互的橋梁,基礎(chǔ)軟件層則包含MCU及其外圍設(shè)備驅(qū)動、硬件抽象層以及為上層應(yīng)用提供接口服務(wù)的服務(wù)層。
而基礎(chǔ)軟件層(BSW)可以再進(jìn)一步劃分,如下圖的微處理器抽象層(MCAL)、ECU抽象層、服務(wù)層以及復(fù)雜驅(qū)動。
MCAL其實就是MCU的驅(qū)動軟件,對每個外設(shè)模塊的操作進(jìn)行了寄存器操作的封裝,比如SPI的初始化只需要調(diào)用一個初始化函數(shù)即可,不用關(guān)心函數(shù)內(nèi)部是怎么實現(xiàn)的。
ECU抽象層相比MCAL多了一些板上硬件資源的驅(qū)動,比如外部看門狗、片外EEPROM或FLASH等,如果要使用這些硬件資源直接調(diào)用ECU抽象層的接口即可。
服務(wù)層是進(jìn)一步的封裝和抽象,一般包括OS、電源狀態(tài)管理、整車網(wǎng)絡(luò)通信、診斷服務(wù)、存儲服務(wù)等。
復(fù)雜驅(qū)動主要包含一些不在AUTOSAR標(biāo)準(zhǔn)規(guī)范里的一些硬件設(shè)備的驅(qū)動,比如電機驅(qū)動、一些比較復(fù)雜的傳感器驅(qū)動等。
以上是對AUTOSAR架構(gòu)的一個大體的介紹,針對每一層都可以展開進(jìn)行詳細(xì)的介紹。
-
看門狗
+關(guān)注
關(guān)注
10文章
583瀏覽量
71826 -
EEPROM
+關(guān)注
關(guān)注
9文章
1086瀏覽量
83792 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
380瀏覽量
22695 -
汽車ECU測試
+關(guān)注
關(guān)注
3文章
7瀏覽量
8425 -
MCU芯片
+關(guān)注
關(guān)注
3文章
256瀏覽量
12124
發(fā)布評論請先 登錄
Autosar軟件開發(fā)技術(shù)概述
功能安全---AUTOSAR架構(gòu)深度解析 精選資料分享
AUTOSAR架構(gòu)深度解析 精選資料推薦
AUTOSAR架構(gòu)深度解析 精選資料分享
AUTOSAR軟件架構(gòu)是由哪些部分組成的
AUTOSAR的相關(guān)資料推薦
AUTOSAR軟件架構(gòu)(二)

AUTOSAR軟件架構(gòu)概述

AUTOSAR架構(gòu)自適應(yīng)平臺

AUTOSAR架構(gòu)中復(fù)雜驅(qū)動設(shè)計

評論