AUTOSAR開發(fā)技術(shù)手冊
一、總體概述
AUTOSAR是Automotive Open System Architecture(汽車開放系統(tǒng)架構(gòu))的首字母縮寫,是一家致力于制定汽車電子軟件標準的聯(lián)盟。AUTOSAR是由全球汽車制造商、部件供應(yīng)商及其他電子、半導體和軟件系統(tǒng)公司聯(lián)合建立,各成員保持開發(fā)合作伙伴關(guān)系。自2003年起,各伙伴公司攜手合作,致力于為汽車工業(yè)開發(fā)一個開放的、標準化的軟件架構(gòu)。AUTOSAR這個架構(gòu)有利于車輛電子系統(tǒng)軟件的交換與更新,并為高效管理愈來愈復雜的車輛電子、軟件系統(tǒng)提供了一個基礎(chǔ)。此外,AUTOSAR在確保產(chǎn)品及服務(wù)質(zhì)量的同時,提高了成本效率。
整車軟件系統(tǒng)可通過AUTOSAR架構(gòu)對車載網(wǎng)絡(luò)、系統(tǒng)內(nèi)存及總線的診斷功能進行深度管理,它的出現(xiàn)有利于整車電子系統(tǒng)軟件的更新與交換,并改善了系統(tǒng)的可靠性和穩(wěn)定性。目前支持AUTOSAR標準的工具和軟件供應(yīng)商都已經(jīng)推出了相應(yīng)的產(chǎn)品,提供需求管理,系統(tǒng)描述,軟件構(gòu)件算法模型驗證,軟件構(gòu)建算法建模,軟件構(gòu)件代碼生成,RTE生成,ECU配置以及基礎(chǔ)軟件和操作系統(tǒng)等服務(wù),幫助OEM實現(xiàn)無縫的系統(tǒng)軟件架構(gòu)開發(fā)流程。
AUTOSAR計劃目標主要有三個:
1)建立獨立于硬件的分層軟件架構(gòu);
2)為實施應(yīng)用提供方法論,包括制定無縫的軟件架構(gòu)堆疊流程并將應(yīng)用軟件整合至ECU;
3)制定各種車輛應(yīng)用接口規(guī)范,作為應(yīng)用軟件整合標準,以便軟件構(gòu)件在不同汽車平臺復用。
二、分層概述
AUTOSAR整體框架為分層式設(shè)計,以中間件RTE(Runtime Environment)為界,隔離上層的應(yīng)用層(Application Layer)與下層的基礎(chǔ)軟件(Basic Software)。圖1是AUTOSAR體系架構(gòu)分層標準。
應(yīng)用層中的功能由各軟件組件SWC(software component)實現(xiàn),組件中封裝了部分或者全部汽車電子功能,包括對其具體功能的實現(xiàn)以及對應(yīng)描述,如控制大燈,空調(diào)等部件的運作,但與汽車硬件系統(tǒng)沒有連接。
1) 軟件組件SWC(software component)
軟件組件SWC(software component)是由Atomic component最小邏輯單元組成。Atomic component最小邏輯單元有Application、Sensor/actuator兩種類型。其中Application是算法實現(xiàn)類型,能在各ECU上自由映射;Sensor/actuator是為Application提供I/O端口類型,用于與ECU綁定,但不可像Application那樣能在各ECU上自由映射。數(shù)個SWC的邏輯集合組合成Composition。圖2是SWC組成實例。
2)端口Ports
端口Ports是用來和其他SWC通信。通信內(nèi)容分為Data elements與operations。其中,Data elements用Sender/Receiver通信方式;operations用Client/Server通信方式。圖3是通信方式
2、Runtime environment層 (RTE)
中間件部分給應(yīng)用層提供了通信手段,這里的通信是一種廣義的通訊,可以理解成接口,應(yīng)用層與其他軟件體的信息交互有兩種,第一種是應(yīng)用層中的不同模塊之間的信息交互;第二種是應(yīng)用層模塊同基礎(chǔ)軟件之間的信息交互。而RTE就是這些交互使用的接口的集散地,它匯總了所有需要和軟件體外部交互的接口。從某種意義上來看,設(shè)計符合AUTOSAR的系統(tǒng)其實就是設(shè)計RTE。
SW-C之間的通信是調(diào)用RTE API函數(shù)而非直接實現(xiàn)的,都在RTE的管理和控制之下。每個API遵循統(tǒng)一的命名規(guī)則且只和軟件組件自身的描述有關(guān)。具體通信實現(xiàn)取決于系統(tǒng)設(shè)計和配置,都由工具供應(yīng)商提供的RTE Generator自動生成的。
在設(shè)計開發(fā)階段中,軟件組件通信層面引入了一個新的概念,虛擬功能總線VFB(Virtual Functional Bus)。它是對AUTOSAR所有通信機制的抽象,利用VFB,開發(fā)工程師將軟件組件的通信細節(jié)抽象,只需要通過AUTOSAR所定義的接口進行描述,即能夠?qū)崿F(xiàn)軟件組件與其他組件以及硬件之間的通信,甚至ECU內(nèi)部或者是與其他ECU之間的數(shù)據(jù)傳輸。