面向汽車(chē)應用的AUTOSAR設計技巧
汽車(chē)OEM正在開(kāi)發(fā)基于AUTOSAR的電子系統以應對當代汽車(chē)中日益復雜的軟件。AUTOSAR簡(jiǎn)化了開(kāi)發(fā)流程并使得ECU軟件具有復用性。
本文引用地址:http://dyxdggzs.com/article/84418.htm從2004年AUTOSAR面世開(kāi)始,這項創(chuàng )新性的前沿技術(shù)就在許多研究性的項目中進(jìn)行測試;現在,AUTOSAR開(kāi)始通過(guò)產(chǎn)品化ECU進(jìn)入真正的實(shí)現階段。AUTOSAR軟件代表了當前的技術(shù)水平,并通過(guò)不斷的版本更新來(lái)保證技術(shù)上的不斷進(jìn)步。
汽車(chē)工業(yè)正在面臨新的時(shí)代。復雜的汽車(chē)功能越來(lái)越多,使得汽車(chē)電子的開(kāi)發(fā)越來(lái)越復雜。顧客對于產(chǎn)品的功能和個(gè)性化要求,以及象診斷這種非功能性需求的增加,更加劇了ECU開(kāi)發(fā)過(guò)程的復雜度。汽車(chē),尤其是高級豪華車(chē),大約有超過(guò)1000個(gè)軟件功能,幾條車(chē)內總線(xiàn)網(wǎng)絡(luò ),以及超過(guò)70個(gè) ECU。由于汽車(chē)電子領(lǐng)域硬件平臺的多樣性,ECU軟件開(kāi)發(fā)嚴重依賴(lài)硬件和系統配置。每次相關(guān)的約束條件的更改都將導致重新編寫(xiě)程序或對軟件的修改。
為了降低ECU軟件開(kāi)發(fā)的復雜度,AUTOSAR開(kāi)發(fā)成員提供了一套經(jīng)過(guò)實(shí)踐驗證的軟件架構,并以此作為開(kāi)發(fā)可重用應用程序的基礎。 AUTOSAR這一開(kāi)放的系統架構標準是由全世界的汽車(chē)OEM,零部件供應商以及軟件、半導體和電子工業(yè)的企業(yè)共同制定。AUTOSAR可以使得用戶(hù)避免因為采用私有的解決方案導致日益增長(cháng)的開(kāi)發(fā)成本。
AUTOSAR將電子架構分成若干層和模塊。在定義接口的同時(shí),AUTOSAR也定義了軟件組件和易于交換的硬件平臺標準。 AUTOSAR開(kāi)發(fā)成員不僅提供了基礎軟件模塊的規范,還提供了用于開(kāi)發(fā)分布式系統應用程序的方法。這種方法以基于模型的軟件和分布式系統描述開(kāi)始,以自動(dòng)代碼生成和可重復的測試結束。這種方法簡(jiǎn)化了工具鏈的使用。
在A(yíng)UTOSAR面世之后三年,AUTOSAR開(kāi)發(fā)成員在2007年發(fā)布了2.1版本。此時(shí),AUTOSAR的發(fā)展到達了一個(gè)穩定的階段。幾個(gè)不同的開(kāi)發(fā)項目對AUTOSAR的實(shí)用性進(jìn)行了測試。在商業(yè)領(lǐng)域里,“AUTOSAR評估系統”已經(jīng)完成?,F在,AUTOSAR已經(jīng)做好進(jìn)入到產(chǎn)品ECU的準備了。
AUTOSAR體系結構
為了實(shí)現AUTOSAR的目標,即實(shí)現應用程序和基礎模塊之間的分離,汽車(chē)電子被抽象成幾個(gè)層,如圖1所示。
與實(shí)際微控制器之間的連接,也就是物理基礎,抽象為微控制器抽象層(Microcontroller Abstraction Layer),用于映射微控制器的功能和外圍接口。微控制器抽象層定義了內存接口、I/O驅動(dòng)接口和通信連接接口,同時(shí)還可以模擬一些微控制器無(wú)法提供的功能。第二層是ECU抽象層(ECU Abstraction Layer)。這一層在ECU相關(guān)硬件的基礎上,為ECU提供外圍設備的驅動(dòng)程序。第三層是服務(wù)層(Services Layer)。這一層提供了各種服務(wù),例如網(wǎng)絡(luò )服務(wù)、內存管理、網(wǎng)絡(luò )通信和操作系統。服務(wù)層在很大程度上獨立于硬件系統。第四層的RTE真正實(shí)現了應用程序和基礎軟件之間的分隔。RTE負責處理應用程序集成以及應用程序與基礎軟件模塊之間的數據交換。RTE的存在是真正實(shí)現應用程序重用的基礎。由于RTE 預定義了相關(guān)的接口,所以開(kāi)發(fā)人員可以在對硬件一無(wú)所知的情況下進(jìn)行應用軟件的開(kāi)發(fā),并將這個(gè)軟件應用在任何符合AUTOSAR標準的ECU中。
虛擬功能總線(xiàn)(Virtual Functional Bus)形成了這些層的配置基礎。通過(guò)這條虛擬總線(xiàn),所有汽車(chē)電子通信組件都可以進(jìn)行抽象,同時(shí)使用預先定義的端口;而對于虛擬功能總線(xiàn)來(lái)說(shuō),ECU內部通信和外部總線(xiàn)通信并沒(méi)有什么區別。這種區別要等到系統布局以及ECU的具體功能最終確定才會(huì )體現出來(lái)。軟件組件本身對于這種區別并不關(guān)注,因此我們可以在獨立的情況下開(kāi)發(fā)軟件組件。軟件組件被分成若干個(gè)可執行單元,即運行實(shí)體。當某一個(gè)規定的事件發(fā)生時(shí),就會(huì )有對應的運行實(shí)體被觸發(fā)。這樣的事件有可能是一個(gè)新的傳感器信號 ,也有可能是一個(gè)周期性定時(shí)。從虛擬功能總線(xiàn)的角度對電子系統的形式化描述最終定義了相關(guān)軟件組件的接口。因此,應用軟件的開(kāi)發(fā)可以獨立于具體的ECU。
評論