汽车电子-AUTOSAR基础简介
AUTOSAR的歷史
AUTOSAR(AUTomotive Open System Architecture),即汽車開放系統(tǒng)架構(gòu),由全球汽車制造商、零部件供應(yīng)商及其他電子、半導(dǎo)體和軟件系統(tǒng)公司建立,目的是為了降低汽車控制軟件的開發(fā)風(fēng)險,提高軟件復(fù)用度。AUTOSAR聯(lián)盟自2003年成立以來,成員隊伍不斷壯大,基本上涵蓋了世界各大著名整車廠、零部件供應(yīng)商、半導(dǎo)體公司及軟件工具開發(fā)商。近年來也有越來越多的中國企業(yè)例如華為、百度、長城汽車等加入聯(lián)盟。
Autosar的出現(xiàn)因素
- 汽車電子系統(tǒng)復(fù)雜度和代碼量的不斷提升,當(dāng)前整車控制系統(tǒng)的代碼量都已達(dá)到千萬行代碼的級別,其復(fù)雜度遠(yuǎn)比高端的航空航天要高,只是安全性比他們要低些。
- 軟件的復(fù)習(xí)用性差,由于軟件依賴于固定的硬件開發(fā),當(dāng)硬件發(fā)生變更時功能往往需要推倒重來,無疑增加重復(fù)開發(fā)的工作量和周期,這都是血琳琳的投入和成本。
汽車行業(yè)里有眾多的整車廠(OEM)和供應(yīng)商。一般來說,每一家OEM會生產(chǎn)不止一種車型,每一家OEM對不同子系統(tǒng)和零部件會選擇不止一個供應(yīng)商,每個供應(yīng)商也會向不止一家OEM供貨。減少開發(fā)成本最有效的辦法就是,盡可能讓產(chǎn)品可重復(fù)利用,用數(shù)量來分?jǐn)傞_發(fā)成本。OEM希望可以讓同一套系統(tǒng)和部件用在不同的車型上;同一輛車上來自不同供應(yīng)商的的各個系統(tǒng)和部件可以相互兼容;而供應(yīng)商希望開發(fā)出來的部件和算法可以通過簡單的軟件調(diào)整就供給不同的OEM。
另一方面,各個供應(yīng)商的開發(fā)進(jìn)度往往是不同步的。人們希望可以在供應(yīng)商開發(fā)的過程中就可以測試該部件能否與整車上的其它系統(tǒng)正確配合。因此需要一種統(tǒng)一的、標(biāo)準(zhǔn)化的系統(tǒng)描述方法。
這便是AUTOSAR的初衷,即通過提升OEM以及供應(yīng)商之間軟件模塊的可復(fù)用性和可互換性來改進(jìn)對復(fù)雜汽車電子電氣架構(gòu)的管理。
對于此,圈內(nèi)幾位大佬相約一起討論五百回合最后搞了個Autosar出來,并成為最初的九大核心成員(博世、BMW、大陸、福特、戴姆勒、PSA、通用、豐田和大眾)。
AUTOSAR的基本思想
為此,AUTOSAR需要做到以下幾件事情:
- 對應(yīng)用軟件與底層軟件之間以及應(yīng)用軟件之間的接口進(jìn)行標(biāo)準(zhǔn)化
- 給出一個控制器軟件參考架構(gòu)
- 規(guī)范分布式開發(fā)流程中的交換格式
AUTOSAR提出了一個口號,叫做“Cooperate on standards, compete on implementation”。意思就是汽車行業(yè)的整車廠和供應(yīng)商共同合作開發(fā)一套汽車電子系統(tǒng)的軟件開發(fā)標(biāo)準(zhǔn),這樣大家就可以專注于功能的開發(fā),而無需顧慮目標(biāo)硬件平臺。
打個簡單的比方。整車和零部件就好比是電腦和外設(shè)的關(guān)系,它們之間通過標(biāo)準(zhǔn)的USB接口來連接。無論是聯(lián)想的電腦,還是戴爾的電腦,無論是100塊的鼠標(biāo),還是1000塊的鼠標(biāo),它們都互相可以即插即用。電腦廠家可以專注做自己的電腦,而無需考慮會外接什么樣的鼠標(biāo)鍵盤;相應(yīng)的,外設(shè)廠可以專注做自己的鼠標(biāo)鍵盤,而無需考慮會用在什么樣的電腦上。它們之間的接口和交換格式,已經(jīng)由USB標(biāo)準(zhǔn)規(guī)定了。這就是標(biāo)準(zhǔn)化帶來的便利。
AUTOSAR架構(gòu)分層
在AUTOSAR架構(gòu)中,系統(tǒng)軟件從上到下分層依次為:應(yīng)用層(Application Software Layer),運行時環(huán)境(Runtime Environment,RTE),基礎(chǔ)軟件層(Basic Software Layer,BSW),微控制器(Microcontroller)。每層之間為保持獨立性,每一層只能調(diào)用下一層的接口,并為其上一層提供接口。
應(yīng)用層(Application)
應(yīng)用層包含若干軟件組件(Software Component,SWC),SWC封裝了需要實現(xiàn)的具體功能,獨立于微控制器的類型,與底層硬件的獨立性是通過虛擬功能總線(VFB)來實現(xiàn)。而VFB則提供了一種通信機(jī)制,具體由RTE和BSW來實現(xiàn)。
SWC由端口(Port)和運行實體(Runnable Entity,RE)組成。
端口(Port)是SWC之間進(jìn)行通信的接口,通信內(nèi)容包含數(shù)據(jù)元素(Data Element,DE)和操作(Operation,OP)。
兩種常用端口:發(fā)送-接收端口(Sender-Receiver Interface,S/R)和客戶端-服務(wù)器端口(Client-Server,C/S)。
S/R用于數(shù)據(jù)傳遞,發(fā)送方將數(shù)據(jù)元素(Data Element,DE)發(fā)送給一個或者幾個接收方。C/S用于操作(Operation,OP),即函數(shù)調(diào)用,服務(wù)器提供函數(shù),而客戶端用來調(diào)用函數(shù),一個函數(shù)可以被多個客戶端調(diào)用,但是一個客戶端不能調(diào)用多個函數(shù)。
運行實體(Runnable Entity,RE)是一段可執(zhí)行代碼,封裝了具體算法。
運行時環(huán)境(RTE)
RTE是AUTOSAR中虛擬總線功能(VFB)接口的實現(xiàn)。
基礎(chǔ)軟件層(BSW)
基礎(chǔ)軟件層又分為4個小層,分別是:服務(wù)層(Services Layer),ECU抽象層(ECU Abstraction Layer),微控制器抽象層(Microcontroller Abstraction Layer),復(fù)雜驅(qū)動(Complex Drivers)。
每個小層又可以進(jìn)行更具體的劃分,如下圖:
基礎(chǔ)軟件層包含如下類型的服務(wù):
(1)輸入/輸出(I/O):對傳感器、執(zhí)行器和ECU外圍設(shè)備的標(biāo)準(zhǔn)化訪問
(2)內(nèi)存(Memory):對內(nèi)部/外部(非易失性存儲器)的標(biāo)準(zhǔn)化訪問
(3)加密(Crypto):對內(nèi)部/外部加密原語的標(biāo)準(zhǔn)化訪問
(4)通信(Communication):車輛網(wǎng)絡(luò)系統(tǒng)、車載ECU通信系統(tǒng)和ECU內(nèi)部軟件的標(biāo)準(zhǔn)化訪問
(5)非車載通信(Off-board Communication):V2X、車內(nèi)無線網(wǎng)絡(luò)系統(tǒng)和非車載ECU通信系統(tǒng)的標(biāo)準(zhǔn)化訪問
(6)系統(tǒng):提供標(biāo)準(zhǔn)化(包括操作系統(tǒng),定時器,錯誤存儲器)和ECU特定(ECU狀態(tài)管理,看門狗管理)服務(wù)和庫函數(shù)
服務(wù)層(Services Layer)
在BSW層最上層,提供以下服務(wù):
(1)操作系統(tǒng)(OS)
(2)車輛網(wǎng)絡(luò)通信和管理服務(wù)
(3)內(nèi)存管理(NVRAM管理)
(4)診斷服務(wù)(包括UDS通信,錯誤存儲器和故障處理)
(5)ECU狀態(tài)管理,模式管理
(6)邏輯和程序流監(jiān)控(Wdg管理)
復(fù)雜驅(qū)動(Complex Drivers)
提供集成特殊功能的可能性,例如設(shè)備的驅(qū)動,這些驅(qū)動有以下特點:
(1)在AUTOSAR中沒有明確規(guī)定
(2)對時序要求比較高
(3)用于移植目的
ECU抽象層(ECU Abstraction Layer)
提供訪問外圍設(shè)備的API,使更上層的軟件獨立于ECU硬件。
微控制器抽象層(Microcontroller Abstraction Layer)
包含可以直接訪問微控制器和外圍設(shè)備的底層驅(qū)動。
總結(jié)
以上是生活随笔為你收集整理的汽车电子-AUTOSAR基础简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 实心圆_java JFrame
- 下一篇: 用友u8服务器修改ipv4,用友U8-O