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

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

評(píng)論