AUTOSAR是什么
AUTOSAR的全稱是AUTomotive Open System Architecture,直譯為汽車開放系統(tǒng)架構(gòu),是由全球汽車制造商、零部件供應商及其他電子、半導體和軟件系統(tǒng)公司聯(lián)合建立,致力于為汽車工業(yè)開發(fā)一個開放的、標準化的軟件架構(gòu)。簡單來說,AUTOSAR是一種開放的軟件架構(gòu),需要汽車制造商、零部件供應商、芯片供應商及軟件公司共同合作來實現(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)。本文談論的是Classic 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ū)動層、服務層、應用層等,做的不好的軟件架構(gòu),軟件層級可能就沒有那么分明,在應用層甚至直接會嵌入硬件驅(qū)動相關(guān)的代碼。
多人同時開發(fā)效率低下
在AUTOSAR之前,ECU軟件開發(fā)一般按照功能模塊進行分工。不同模塊之間的數(shù)據(jù)交互需要負責相應模塊的工程師提前定義好接口,并在各自的模塊開發(fā)完成后進行聯(lián)合調(diào)試,調(diào)試過程中可能會發(fā)現(xiàn)定義接口時沒有考慮到的一些問題,此時需要重新設計接口并進行再一次的聯(lián)合調(diào)試。
軟件復用性低
由于傳統(tǒng)的ECU 軟件在開發(fā)時沒有清晰的層級劃分,軟硬件之間以及不同的功能模塊之間耦合性較大,由于MCU選型不一樣或者不同汽車主機廠的項目需求有差異,在把一套已經(jīng)開發(fā)完成的軟件移植到另一個項目時,會遇到比較大的困難。
在使用AUTOSAR之后會有哪些改變呢?
軟硬件隔離
下圖的左側(cè)是在使用AUTOSAR之前的狀態(tài),可以看到軟硬件之間的耦合性是很大的。右側(cè)是使用AUTOSAR之后的狀態(tài),軟硬件是被分隔開來的。如果更換MCU,只需要變更AUTOSAR架構(gòu)中的一部分即可(BSW,即基礎(chǔ)軟件),而處于上層的應用軟件是可以直接復用的。

提高團隊開發(fā)效率
AUTOSAR對不同模塊之間的數(shù)據(jù)交互接口進行了統(tǒng)一定義(RTE),每個模塊只需要按照接口標準定義去開發(fā),當開發(fā)完成后可以直接進行聯(lián)合調(diào)試,因為接口定義出現(xiàn)問題的概率是很低的。
軟件復用性程度提高
由于軟硬件之間進行了良好的隔離,以及模塊之間的通信接口也是按標準開發(fā)的。一個開發(fā)好的軟件可以直接根據(jù)新項目的需求取用相應的模塊,移植到另一個項目上。由于上層的應用軟件不會涉及具體的硬件,即使更換MCU應用層也無需做相應的更改。
介紹完了AUTOSAR的好處,一起來看一下AUTOSAR的具體架構(gòu)。
AUTOSAR的具體架構(gòu)
下圖展示了AUTOSAR比較High Level的三個大的層級:應用軟件層、RTE和基礎(chǔ)軟件層。應用軟件層包含了汽車主機廠要求的和功能相關(guān)的軟件,RTE是應用層不同模塊之間以及應用層和基礎(chǔ)軟件層之間進行交互的橋梁,基礎(chǔ)軟件層則包含MCU及其外圍設備驅(qū)動、硬件抽象層以及為上層應用提供接口服務的服務層。

而基礎(chǔ)軟件層(BSW)可以再進一步劃分,如下圖的微處理器抽象層(MCAL)、ECU抽象層、服務層以及復雜驅(qū)動。
MCAL其實就是MCU的驅(qū)動軟件,對每個外設模塊的操作進行了寄存器操作的封裝,比如SPI的初始化只需要調(diào)用一個初始化函數(shù)即可,不用關(guān)心函數(shù)內(nèi)部是怎么實現(xiàn)的。
ECU抽象層相比MCAL多了一些板上硬件資源的驅(qū)動,比如外部看門狗、片外EEPROM或FLASH等,如果要使用這些硬件資源直接調(diào)用ECU抽象層的接口即可。
服務層是進一步的封裝和抽象,一般包括OS、電源狀態(tài)管理、整車網(wǎng)絡通信、診斷服務、存儲服務等。
復雜驅(qū)動主要包含一些不在AUTOSAR標準規(guī)范里的一些硬件設備的驅(qū)動,比如電機驅(qū)動、一些比較復雜的傳感器驅(qū)動等。

以上是對AUTOSAR架構(gòu)的一個大體的介紹,針對每一層都可以展開進行詳細的介紹。
-
看門狗
+關(guān)注
關(guān)注
10文章
602瀏覽量
72443 -
EEPROM
+關(guān)注
關(guān)注
9文章
1109瀏覽量
85253 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
388瀏覽量
23404 -
汽車ECU測試
+關(guān)注
關(guān)注
3文章
7瀏覽量
8467 -
MCU芯片
+關(guān)注
關(guān)注
3文章
257瀏覽量
12440
發(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)自適應平臺
AUTOSAR架構(gòu)中復雜驅(qū)動設計

AUTOSAR是什么?AUTOSAR軟件架構(gòu)簡介
評論