AutoSar在自動駕駛開發(fā)中應(yīng)用原理

汽車應(yīng)用軟件開發(fā)已成為汽車開發(fā)過程中最復(fù)雜,最關(guān)鍵的活動。AUTOSAR(汽車開放系統(tǒng)架構(gòu))為汽車電子控制單元(ECU)開發(fā)了標(biāo)準(zhǔn)化的開放軟件體系結(jié)構(gòu),是主機(jī)廠、供應(yīng)商以及工具和半導(dǎo)體供應(yīng)商的合作伙伴。重點是管理汽車電氣/電子(E / E)架構(gòu)開發(fā)中日益增長的復(fù)雜性,旨在實現(xiàn)新技術(shù)并提高開發(fā)效率-而不影響質(zhì)量。Autosar旨在軟件架構(gòu)、開發(fā)方法、應(yīng)用程序界面三個技術(shù)領(lǐng)域中實現(xiàn)標(biāo)準(zhǔn)化。

除此重點外,AUTOSAR的關(guān)鍵成功因素還在于其開發(fā)協(xié)議,該協(xié)議從法律層面控制著合作伙伴與其精益組織之間的關(guān)系,從而區(qū)分了即核心合作伙伴和其他合作伙伴(保費,開發(fā)和合作伙伴),從而參照精益流程以快速做出決策。

為了掌握OEM和供應(yīng)商之間軟件模塊(例如駕駛員輔助系統(tǒng))的復(fù)雜性,整體來說AutoSar有如下9個目標(biāo):

1.軟件的可移植性。

OEM和供應(yīng)商應(yīng)能夠在車輛網(wǎng)絡(luò)內(nèi)重用軟件。也可以在不同OEM的不同汽車平臺上使用相同的軟件。

2.對不同車輛和平臺型號的可擴(kuò)展性。

AUTOSAR應(yīng)提供用于開發(fā)可適用于不同車輛以及車輛平臺和硬件的軟件系統(tǒng)的機(jī)制。這意味著AUTOSAR應(yīng)該是可配置的,以便可以集成到不同的車輛中。

3.支持不同的功能域。

 AUTOSAR應(yīng)該能夠在盡可能多的功能域中重用軟件組件。這包括與非AUTOSAR系統(tǒng)的數(shù)據(jù)交換,例如與車輛信息娛樂系統(tǒng)的通信。

4.定義開放式體系結(jié)構(gòu)。

 AUTOSAR的體系結(jié)構(gòu)應(yīng)該是可維護(hù)的,可適應(yīng)的和可擴(kuò)展的。因此,錯誤可以不斷修復(fù)。可以實現(xiàn)將來的要求和個性化增強(qiáng)。

5.開發(fā)高度可靠的系統(tǒng)。

AUTOSAR必須實現(xiàn)可用性,可靠性,功能安全性,完整性,維護(hù)性和安全性。通過這種方式,例如可以考慮對功能安全性的要求。

6.自然資源的可持續(xù)利用。

支持使用有效利用自然資源和使用可再生能源的技術(shù)。

7.各種伙伴之間的合作。

汽車行業(yè)的特點是合作伙伴之間的廣泛合作。AUTOSAR應(yīng)通過定義數(shù)據(jù)交換格式和允許來自不同合作伙伴的基本軟件和應(yīng)用程序集成的體系結(jié)構(gòu)來支持協(xié)作。

8.汽車ECU基本軟件功能的標(biāo)準(zhǔn)化。

基本軟件應(yīng)可用于不同的功能域,OEM和供應(yīng)商。然后可以將基本軟件作為產(chǎn)品提供。

9.支持適用的汽車國際標(biāo)準(zhǔn)和最新技術(shù)。

AUTOSAR應(yīng)與現(xiàn)有和相關(guān)的國際標(biāo)準(zhǔn)兼容。這允許在當(dāng)前和將來的車輛系統(tǒng)中使用AUTOSAR。一個例子是對現(xiàn)有和將來的總線系統(tǒng)的支持,例如FlexRay,CAN,以太網(wǎng)等。

這些項目目標(biāo)在高級系統(tǒng)要求的“ AUTOSAR主要要求規(guī)范”中進(jìn)行了詳細(xì)說明。下面的示例說明了這一點:項目目標(biāo)“軟件的可移植性”分為以下主要要求:
– AUTOSAR的軟件架構(gòu)應(yīng)分為功能層。
– AUTOSAR應(yīng)提供與硬件的隔離層,以允許盡可能多的軟件部分獨立于硬件進(jìn)行設(shè)計。
– AUTOSAR應(yīng)允許在整個車載網(wǎng)絡(luò)中免費分發(fā)應(yīng)用軟件。
主要特征和核心功能是根據(jù)主要要求得出的。從中得出“軟件需求規(guī)范”(SRS)。這些SRS的詳細(xì)信息產(chǎn)生了“軟件規(guī)范”(SWS)。下圖顯示了它們的相關(guān)性。“軟件規(guī)范”構(gòu)成了將AUTOSAR標(biāo)準(zhǔn)實施到軟件中的基礎(chǔ)。
AutoSar在自動駕駛開發(fā)中應(yīng)用原理的圖1
其中,AUTOSAR的標(biāo)準(zhǔn)化分為軟件架構(gòu)、開發(fā)方法、應(yīng)用程序界面三個技術(shù)領(lǐng)域。
AutoSar的軟件架構(gòu)
ECU軟件體系結(jié)構(gòu)的主要概念在于通過軟件抽象層-運行時環(huán)境(RTE)來拆分獨立于硬件的應(yīng)用程序軟件和面向硬件的基本軟件(BSW)。一方面,該抽象層支持為駕駛員輔助系統(tǒng)開發(fā)特定于OEM且具有競爭力的軟件應(yīng)用程序。另一方面,它簡化了與OEM無關(guān)的BSW的標(biāo)準(zhǔn)化過程。此外,這是ECU軟件針對不同汽車系列和變體進(jìn)行可擴(kuò)展性的前提。它提供了在多個ECU之間分布應(yīng)用程序以及集成來自不同來源的軟件模塊的可能性。
AutoSar在自動駕駛開發(fā)中應(yīng)用原理的圖2
BSW進(jìn)一步分為以下幾層:“服務(wù)”,“ ECU抽象”,“微控制器抽象”,運行時環(huán)境從基本軟件中提取應(yīng)用程序?qū)樱⒔M織它們之間進(jìn)行數(shù)據(jù)和信息通信。這構(gòu)成了在應(yīng)用程序級別上面向組件,與硬件無關(guān)的軟件結(jié)構(gòu)的基礎(chǔ),其中軟件模塊為獨立的單元。例如,駕駛員輔助系統(tǒng)的功能由軟件模塊實現(xiàn)。這些軟件模塊共同構(gòu)成了應(yīng)用程序。各個軟件模塊僅直接與RTE通信。因此,無論通信發(fā)生在ECU內(nèi)還是超出ECU邊界,通信都經(jīng)過清晰設(shè)計來確保獨立性,可以在不了解所使用或計劃的硬件的情況下開發(fā)軟件組件,或者在ECU之間分配現(xiàn)有軟件模塊。
AutoSar設(shè)計方法論
除了軟件體系結(jié)構(gòu)以外,AUTOSAR還對汽車軟件的開發(fā)方法進(jìn)行了標(biāo)準(zhǔn)化,從而促進(jìn)了現(xiàn)代系列項目相關(guān)合作伙伴的合作。AUTOSAR設(shè)計方法論解決了將ECU和各種ECU中的軟件模塊集成到具有不同總線系統(tǒng)的車輛通信網(wǎng)絡(luò)中。它定義了通用工件和相關(guān)活動,尤其是活動的依賴性。該設(shè)計方法可應(yīng)用于應(yīng)用軟件的開發(fā),運行時環(huán)境和系統(tǒng)配置中。
對于產(chǎn)生或可以在AUTOSAR設(shè)計方法中使用的信息,AUTOSAR定義了具有語義約束的正式數(shù)據(jù)交換格式(AUTOSAR方案)。此信息作為形式描述存儲在AUTOSAR XML(.arxml)文件中。許多工具將這些描述用于RTE和AUTOSAR BSW的配置和生成。例如,軟件組件描述為應(yīng)用程序軟件提供了標(biāo)準(zhǔn)化的組件模型。或者,系統(tǒng)描述使用交叉鏈接的ECU實例定義系統(tǒng)上的純軟件層與物理系統(tǒng)體系結(jié)構(gòu)之間的關(guān)系。它描述了網(wǎng)絡(luò)拓?fù)洌總€通道的通信以及各個ECU上軟件模塊的分配。AUTOSAR設(shè)計方法的原理如下圖所示。
AutoSar在自動駕駛開發(fā)中應(yīng)用原理的圖3
AutoSar的設(shè)計方法原理
AutoSar在自動駕駛開發(fā)中應(yīng)用原理的圖4
AUTOSAR應(yīng)用程序接口–所顯示的接口符號
除了描述汽車工業(yè)中E / E系統(tǒng)的基本能力外,實際交換格式還需要許多方面支持,例如文檔,需求可追溯性和各種工件的生命周期。此外,集成的變型管理使OEM和供應(yīng)商可以表達(dá)基本的AUTOSAR產(chǎn)品系列,并在必要時與合作伙伴交換此信息。這些變體的共同理解和統(tǒng)一解釋是成功開展項目合作的關(guān)鍵要素。
AutoSar應(yīng)用接口
通過應(yīng)用程序接口確保應(yīng)用程序模塊與RTE的鏈接。AUTOSAR一方面通過語法將基本接口機(jī)制標(biāo)準(zhǔn)化,另一方面在車輛域主體中標(biāo)準(zhǔn)化應(yīng)用程序接口的語義、內(nèi)部和舒適性,動力傳動系統(tǒng),底盤以及乘客和行人保護(hù)。其重點是針對廣泛引入的應(yīng)用程序的接口規(guī)范,以強(qiáng)調(diào)軟件模塊的重用和交換。最后,標(biāo)準(zhǔn)化應(yīng)用程序接口的使用對于應(yīng)用程序的重用至關(guān)重要。
來自AUTOSAR所有合作伙伴的專家都對接口規(guī)范進(jìn)行了標(biāo)準(zhǔn)化,例如關(guān)于使用的數(shù)據(jù)類型,單位和縮放因子。它們允許軟件設(shè)計人員和開發(fā)人員在擴(kuò)展或復(fù)用軟件模塊的情況下使用它,而不依賴于任何特定的硬件或ECU。駕駛員輔助系統(tǒng)等應(yīng)用程序包括差異化的競爭功能。因此,AUTOSAR并沒有標(biāo)準(zhǔn)化應(yīng)用程序的內(nèi)部功能過程(例如算法),而是將在應(yīng)用程序之間交換的信息。
系統(tǒng)架構(gòu):虛擬功能總線(VFB)
為了開發(fā)功能系統(tǒng)架構(gòu),AUTOSAR引入了虛擬功能總線的概念-VFB。VFB允許描述整個系統(tǒng)中,即整個車輛中應(yīng)用模塊之間的功能交互。此描述獨立于實際的ECU架構(gòu)和實施的網(wǎng)絡(luò)。這樣,VFB從硬件中提取了應(yīng)用程序。AUTOSAR將單個應(yīng)用程序描述為軟件組件(SWC)。VFB既提供了它們之間的通信機(jī)制,也提供了使用基本軟件到軟件組件的服務(wù)的機(jī)制(請參見圖7,上部)。各種機(jī)制由所謂的端口表示(參見6.1節(jié))。
在進(jìn)一步的過程中,功能系統(tǒng)體系結(jié)構(gòu)映射到物理體系結(jié)構(gòu)上,這意味著ECU和網(wǎng)絡(luò)拓?fù)洹T诖耍瑢④浖M件分配給ECU。在每個ECU中,VFB的功能都由RTE和底層基本軟件實現(xiàn)(請參見圖7,下部)。為了避免造成誤解,應(yīng)明確指出:AUTOSAR已指定VFB概念。此概念已在市場上可用的各種系統(tǒng)架構(gòu)工具中實現(xiàn)。
AutoSar在自動駕駛開發(fā)中應(yīng)用原理的圖5
AUTOSAR設(shè)計方法概述
應(yīng)用軟件架構(gòu)
AUTOSAR軟件體系結(jié)構(gòu)的層模型將應(yīng)用軟件以軟件組件的形式放置在應(yīng)用層中。
可以將軟件組件分組為再次在外部充當(dāng)軟件組件的合成。通過這種通用組件概念,可以將軟件組件的任何嵌套層次結(jié)構(gòu)實現(xiàn)為一個系統(tǒng)。可以獨立于硬件設(shè)計和開發(fā)應(yīng)用程序軟件,軟件組件通過端口進(jìn)行通信,每個端口代表一個某些溝通機(jī)制。在應(yīng)用程序之間進(jìn)行通信時,最重要的機(jī)制是用于形成由數(shù)據(jù)發(fā)送者發(fā)起的在“發(fā)送者-接收者”之間的通信端,以及用于由接收者發(fā)起的通信的“客戶端”。除此之外,還有其他端口用于過程控制(外部觸發(fā)事件)或用于訪問某些參數(shù)(校準(zhǔn),操作模式,非易失性存儲器)。每個端口都有一個接口,用于確定要通信的數(shù)據(jù)類型。AUTOSAR用編程語言C定義了端口的精確映射。下圖顯示了ECU內(nèi)部以及不同ECU中的應(yīng)用程序之間的通信路徑。軟件組件由稱為“軟件組件模板”的特定AUTOSAR的正式描述。除了對端口和接口的描述之外,它還包含所謂的內(nèi)部行為。該術(shù)語成立于AUTOSAR的早期,但不幸的是經(jīng)常引起誤解。在AUTOSAR的上下文中,“內(nèi)部行為”描述了與時間或事件相關(guān)的過程控制(事件和調(diào)度)的組件。這包括“可運行實體”的定義,即由底層操作系統(tǒng)按事件或時間安排的最小軟件實體。明確要在組件中實現(xiàn)的算法不屬于“內(nèi)部行為”。
AutoSar在自動駕駛開發(fā)中應(yīng)用原理的圖6
實際上,有幾種典型的方法可以填寫或編輯軟件組件說明。許多用于基于模型的開發(fā)的設(shè)計工具可以從圖形模型中生成軟件組件描述,并允許編輯相應(yīng)的條目。同樣,RTE生成器通常允許編輯軟件組件說明。對于具有特定硬件要求的應(yīng)用程序,例如依賴于某些傳感器或執(zhí)行器的軟件,AUTOSAR提供了所謂的傳感器/執(zhí)行器軟件組件,在軟件組件說明中可以注明這些約束。
運行時環(huán)境RTE與基本軟件BSW
AUTOSAR運行時環(huán)境(RTE)將應(yīng)用程序從基本軟件的任何實現(xiàn)細(xì)節(jié)中提取出來,并從控制設(shè)備的硬件中提取出來。它表示特定ECU上VFB的運行時實現(xiàn)。RTE提供了應(yīng)用程序之間的通信機(jī)制以及訪問基本軟件服務(wù)的機(jī)制。這還包括為通信提供數(shù)據(jù)緩沖和排隊。
RTE的實際程序代碼取決于應(yīng)用程序,它們的通信,基本軟件使用的服務(wù)以及調(diào)度。實際上,代碼是由RTE生成器根據(jù)軟件組件描述的信息創(chuàng)建的。嚴(yán)格來講,RTE是一種“中間件”層技術(shù),它可以通過分散的網(wǎng)絡(luò)來重新定位應(yīng)用程序?qū)拥慕M件。
基本軟件通過RTE為應(yīng)用程序提供所有系統(tǒng)服務(wù)和功能。盡管基本軟件的功能對于應(yīng)用程序必不可少,但車輛用戶通常不會很好地注意到這些功能。隨著對硬件的依賴性越來越高,基本軟件又分為多個層:服務(wù)層,ECU抽象層和微控制器抽象層。依次地,每個層包含代表精確指定功能范圍的各個模塊。AUTOSAR基本軟件包含大約總共80個不同的模塊,為此標(biāo)準(zhǔn)對每個模塊都具有要求和軟件規(guī)范。其中,模塊及其接口的功能行為用C定義,因此一個模塊的兩種不同但符合標(biāo)準(zhǔn)的實現(xiàn)方式可以直接互換。基本軟件模塊的功能行為及其配置的參數(shù)化使用與應(yīng)用程序組件相同的形式描述機(jī)制。控制單元的基本軟件模塊的配置說明在ECU配置說明中進(jìn)行了概述。
AUTOSAR服務(wù)
服務(wù)層包括系統(tǒng)服務(wù),例如通信服務(wù),診斷協(xié)議,存儲服務(wù),ECU操作模式的管理以及作為獨立模塊的AUTOSAR操作系統(tǒng)(OS)。AUTOSAR OS基于實時系統(tǒng)標(biāo)準(zhǔn)OSEK / VDX,并且在某些領(lǐng)域得到了擴(kuò)展,但在其他領(lǐng)域也受到限制。它是靜態(tài)配置和縮放的,并提供基于優(yōu)先級的實時行為和中斷處理。在運行期間,可以使用各種保護(hù)機(jī)制來進(jìn)行內(nèi)存訪問或時間行為。AUTOSAR OS還適用于小型和性能較低的微控制器,但同時也支持多核使用以及對代碼和數(shù)據(jù)使用多個內(nèi)存分區(qū)。服務(wù)模塊與操作系統(tǒng)及硬件無關(guān)。這些系統(tǒng)服務(wù)可通過RTE用于應(yīng)用程序,應(yīng)用程序無法直接訪問底層的基本軟件模塊。這是保留給服務(wù)使用的,以作為其功能的一部分訪問ECU或微控制器資源。服務(wù)模塊及其底層模塊也稱為功能堆棧,例如FlexRay的通信堆棧。有時將這樣的堆棧實現(xiàn)和集成為一個大型軟件單元,而沒有底層模塊結(jié)構(gòu)。
服務(wù)層包括系統(tǒng)服務(wù),例如通信服務(wù),診斷協(xié)議,存儲服務(wù),ECU操作模式的管理以及作為獨立模塊的AUTOSAR操作系統(tǒng)(OS)。AUTOSAR OS基于實時系統(tǒng)標(biāo)準(zhǔn)OSEK / VDX,并且在某些領(lǐng)域得到了擴(kuò)展,但在其他領(lǐng)域也受到限制。它是靜態(tài)配置和縮放的,并提供基于優(yōu)先級的實時行為和中斷處理。在運行期間,可以使用各種保護(hù)機(jī)制來進(jìn)行內(nèi)存訪問或時間行為。AUTOSAR OS還適用于小型和性能較低的微控制器,但同時也支持多核使用以及對代碼和數(shù)據(jù)使用多個內(nèi)存分區(qū)。服務(wù)模塊與操作系統(tǒng)無關(guān),與硬件無關(guān)。這些系統(tǒng)服務(wù)可通過RTE用于應(yīng)用程序。應(yīng)用程序無法直接訪問底層的基本軟件模塊。這是保留給服務(wù)使用的,以作為其功能的一部分訪問ECU或微控制器資源。服務(wù)模塊及其底層模塊也稱為功能堆棧,例如FlexRay的通信堆棧。有時將此類堆棧實現(xiàn)和集成為一個大型軟件單元,而沒有AUTOSAR定義的基礎(chǔ)模塊結(jié)構(gòu)。盡管這破壞了抽象原理并降低了靈活性,但由于可能實現(xiàn)更高的效率和性能,因此在AUTOSAR中使用功能堆棧進(jìn)行處理已很普遍。
小結(jié)
AUTOSAR成功的決定性原因是伙伴關(guān)系的基本原則,截至2014年10月,已有180多家伙伴公司形成了合作標(biāo)準(zhǔn)化和實施競爭。因此,AUTOSAR伙伴關(guān)系的主要結(jié)果是在其標(biāo)準(zhǔn)及其實施的自由過程中實施競爭的約束。AUTOSAR引入的另一個基本變化是用戶的范式轉(zhuǎn)變,從實現(xiàn)軟件轉(zhuǎn)向配置和生成軟件。這樣就可以通過AUTOSAR系統(tǒng)描述中的適當(dāng)工具在軟件中快速實施,從而在電子控制軟件的開發(fā)中達(dá)到無與倫比的抽象度。這種抽象水平以及特定硬件的獨立性使軟件重用達(dá)到了新的水平,并使人們能夠集中精力開發(fā)創(chuàng)新的客戶功能,這些功能目前主要出現(xiàn)在自動駕駛系統(tǒng)領(lǐng)域。

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP