siemens x
技術(shù)

面向汽車應(yīng)用的AUTOSAR設(shè)計技巧

2025China.cn   2008年06月13日

  汽車OEM正在開發(fā)基于AUTOSAR的電子系統(tǒng)以應(yīng)對當(dāng)代汽車中日益復(fù)雜的軟件。AUTOSAR簡化了開發(fā)流程并使得ECU軟件具有復(fù)用性。

     從2004年AUTOSAR面世開始,這項創(chuàng)新性的前沿技術(shù)就在許多研究性的項目中進(jìn)行測試;現(xiàn)在,AUTOSAR開始通過產(chǎn)品化ECU進(jìn)入真正的實現(xiàn)階段。AUTOSAR軟件代表了當(dāng)前的技術(shù)水平,并通過不斷的版本更新來保證技術(shù)上的不斷進(jìn)步。

     汽車工業(yè)正在面臨新的時代。復(fù)雜的汽車功能越來越多,使得汽車電子的開發(fā)越來越復(fù)雜。顧客對于產(chǎn)品的功能和個性化要求,以及象診斷這種非功能性需求的增加,更加劇了ECU開發(fā)過程的復(fù)雜度。汽車,尤其是高級豪華車,大約有超過1000個軟件功能,幾條車內(nèi)總線網(wǎng)絡(luò),以及超過70個ECU。由于汽車電子領(lǐng)域硬件平臺的多樣性,ECU軟件開發(fā)嚴(yán)重依賴硬件和系統(tǒng)配置。每次相關(guān)的約束條件的更改都將導(dǎo)致重新編寫程序或?qū)浖男薷摹?/FONT>

     為了降低ECU軟件開發(fā)的復(fù)雜度,AUTOSAR開發(fā)成員提供了一套經(jīng)過實踐驗證的軟件架構(gòu),并以此作為開發(fā)可重用應(yīng)用程序的基礎(chǔ)。AUTOSAR這一開放的系統(tǒng)架構(gòu)標(biāo)準(zhǔn)是由全世界的汽車OEM,零部件供應(yīng)商以及軟件、半導(dǎo)體和電子工業(yè)的企業(yè)共同制定。AUTOSAR可以使得用戶避免因為采用私有的解決方案導(dǎo)致日益增長的開發(fā)成本。

     AUTOSAR將電子架構(gòu)分成若干層和模塊。在定義接口的同時,AUTOSAR也定義了軟件組件和易于交換的硬件平臺標(biāo)準(zhǔn)。AUTOSAR開發(fā)成員不僅提供了基礎(chǔ)軟件模塊的規(guī)范,還提供了用于開發(fā)分布式系統(tǒng)應(yīng)用程序的方法。這種方法以基于模型的軟件和分布式系統(tǒng)描述開始,以自動代碼生成和可重復(fù)的測試結(jié)束。這種方法簡化了工具鏈的使用。

     在AUTOSAR面世之后三年,AUTOSAR開發(fā)成員在2007年發(fā)布了2.1版本。此時,AUTOSAR的發(fā)展到達(dá)了一個穩(wěn)定的階段。幾個不同的開發(fā)項目對AUTOSAR的實用性進(jìn)行了測試。在商業(yè)領(lǐng)域里,“AUTOSAR評估系統(tǒng)”已經(jīng)完成?,F(xiàn)在,AUTOSAR已經(jīng)做好進(jìn)入到產(chǎn)品ECU的準(zhǔn)備了。

     AUTOSAR體系結(jié)構(gòu)

     為了實現(xiàn)AUTOSAR的目標(biāo),即實現(xiàn)應(yīng)用程序和基礎(chǔ)模塊之間的分離,汽車電子被抽象成幾個層,如圖1所示。

     與實際微控制器之間的連接,也就是物理基礎(chǔ),抽象為微控制器抽象層(Microcontroller Abstraction Layer),用于映射微控制器的功能和外圍接口。微控制器抽象層定義了內(nèi)存接口、I/O驅(qū)動接口和通信連接接口,同時還可以模擬一些微控制器無法提供的功能。第二層是ECU抽象層(ECU Abstraction Layer)。這一層在ECU相關(guān)硬件的基礎(chǔ)上,為ECU提供外圍設(shè)備的驅(qū)動程序。第三層是服務(wù)層(Services Layer)。這一層提供了各種服務(wù),例如網(wǎng)絡(luò)服務(wù)、內(nèi)存管理、網(wǎng)絡(luò)通信和操作系統(tǒng)。服務(wù)層在很大程度上獨立于硬件系統(tǒng)。第四層的RTE真正實現(xiàn)了應(yīng)用程序和基礎(chǔ)軟件之間的分隔。RTE負(fù)責(zé)處理應(yīng)用程序集成以及應(yīng)用程序與基礎(chǔ)軟件模塊之間的數(shù)據(jù)交換。RTE的存在是真正實現(xiàn)應(yīng)用程序重用的基礎(chǔ)。由于RTE預(yù)定義了相關(guān)的接口,所以開發(fā)人員可以在對硬件一無所知的情況下進(jìn)行應(yīng)用軟件的開發(fā),并將這個軟件應(yīng)用在任何符合AUTOSAR標(biāo)準(zhǔn)的ECU中。

     虛擬功能總線(Virtual Functional Bus)形成了這些層的配置基礎(chǔ)。通過這條虛擬總線,所有汽車電子通信組件都可以進(jìn)行抽象,同時使用預(yù)先定義的端口;而對于虛擬功能總線來說,ECU內(nèi)部通信和外部總線通信并沒有什么區(qū)別。這種區(qū)別要等到系統(tǒng)布局以及ECU的具體功能最終確定才會體現(xiàn)出來。軟件組件本身對于這種區(qū)別并不關(guān)注,因此我們可以在獨立的情況下開發(fā)軟件組件。軟件組件被分成若干個可執(zhí)行單元,即運行實體。當(dāng)某一個規(guī)定的事件發(fā)生時,就會有對應(yīng)的運行實體被觸發(fā)。這樣的事件有可能是一個新的傳感器信號,也有可能是一個周期性定時。從虛擬功能總線的角度對電子系統(tǒng)的形式化描述最終定義了相關(guān)軟件組件的接口。因此,應(yīng)用軟件的開發(fā)可以獨立于具體的ECU。

     RTE實現(xiàn)了對于I/O、內(nèi)存和其它基本服務(wù)的訪問。利用基于模型的描述,可以針對指定的ECU定制RTE,這樣可以適應(yīng)不同的需求并節(jié)省資源。

    方法

     在定義ECU軟件體系架構(gòu)的同時,AUTOSAR標(biāo)準(zhǔn)也定義了開發(fā)AUTOSAR系統(tǒng)的方法。符合經(jīng)過確認(rèn)的開發(fā)過程是開發(fā)軟件的一個重要前提。需求列表中的不足會在開發(fā)早期被發(fā)現(xiàn),軟件組件的重用使得開發(fā)流程變得簡化,整個系統(tǒng)也就更加可靠。但是,這種方法也允許一定程度的自由:例如,用戶可以自己決定是使用從上至下還是從下至上的開發(fā)流程。

     AUTOSAR的目的在于通過工具為軟件開發(fā)流程提供通用的支持。成熟的工具用于需求的結(jié)構(gòu)化實現(xiàn)和相應(yīng)的管理,同時建立相應(yīng)的配置。

     第一步包括三個主要方面的形式化描述:軟件(軟件組件),ECU(ECU資源)和系統(tǒng)約束。合適的編輯工具用于創(chuàng)建完整的系統(tǒng)描述,如圖2所示。

     系統(tǒng)配置作為ECU配置的基礎(chǔ),而用戶可以利用配置工具根據(jù)ECU配置生成基礎(chǔ)軟件組件。在開發(fā)流程的末期,有多種生成工具可以用來生成RTE和基礎(chǔ)軟件。開發(fā)過程中的所有設(shè)計和配置數(shù)據(jù)都用統(tǒng)一的文件格式保存。為此,AUTOSAR定義了一種基于XML的文件格式。一方面,統(tǒng)一的文件格式保證了開發(fā)流程的通用性;另一方面,它簡化了開發(fā)工具之間的無縫集成。

     移植

     AUTOSAR的軟件體系結(jié)構(gòu)并非單一模塊,它包含了大量接口定義完整的標(biāo)準(zhǔn)模塊。這使得AUTOSAR的移植非常容易,即使是在項目之間進(jìn)行移植;另外可以在一個項目之內(nèi)同時使用標(biāo)準(zhǔn)的AUTOSAR模塊和私有的軟件模塊。

     為了實現(xiàn)這樣的移植工作,首先必須將已有的軟件架構(gòu)和AUTOSAR體系結(jié)構(gòu)進(jìn)行比較。通過分析重疊的功能和集成選項,進(jìn)而決定哪些模塊可以保留,哪些模塊應(yīng)該被標(biāo)準(zhǔn)的軟件模塊替換。

     因此,在應(yīng)用程序和基礎(chǔ)軟件之間引入一個分隔層是非常明智的選擇。一個可行的方法是在移植過程的早期就準(zhǔn)備好應(yīng)用程序和AUTOSAR軟件組件,并將它們通過RTE集成在一起。在RTE之下,一個專用的修改層用于為已有的基礎(chǔ)軟件提供接口,如圖3所示。

     如果已有的基礎(chǔ)軟件有一部分需要被AUTOSAR基礎(chǔ)軟件替換,那么重點就集中在使用統(tǒng)一的工具。Vector提供合適的工具,可以用于配置私有的軟件模塊。非AUTOSAR模塊可以被AUTOSAR模塊逐步取代,從而避免推倒整個體系結(jié)構(gòu)所需承擔(dān)的風(fēng)險或重新編寫模塊所帶來的巨大工作量。

     前景

     AUTOSAR 3.0的發(fā)布標(biāo)志著AUTOSAR標(biāo)準(zhǔn)的進(jìn)一步完善。參與標(biāo)準(zhǔn)制定的各家公司承諾為實現(xiàn)AUTOSAR的目標(biāo)而進(jìn)行持續(xù)的努力。當(dāng)前引入的各種想法將在AUTOSAR未來的4.0版本中得到實現(xiàn)。

     工具供應(yīng)商也提出了一些和AUTOSAR相關(guān)的想法。Vector的AUTOSAR開發(fā)團(tuán)隊正在致力于將基于AUTOSAR的ECU開發(fā)變得更加便利和容易。一個典型例子是運行在PC上的AUTOSAR應(yīng)用組件的測試工具,這個工具同時還可以作為符合AUTOSAR標(biāo)準(zhǔn)的ECU的仿真環(huán)境。這使得在PC上測試AUTOSAR軟件組件的實現(xiàn)代碼變得更加容易。廣泛使用的標(biāo)準(zhǔn)化工具(例如Vector的CANoe)可以用于測試實現(xiàn)、可視化測試以及生成測試報告。Vector利用全套的AUTOSAR基礎(chǔ)軟件組件和通用的設(shè)計與開發(fā)工具鏈支持整個開發(fā)流程,如圖4所示。

        Vector的AUTOSAR解決方案已經(jīng)在若干個項目中得到了實際驗證,同時得到驗證的還有符合AUTOSAR 2.0和2.1的成熟產(chǎn)品(符合AUTOSAR 3.0的產(chǎn)品將于2008年第二季度面世)。

        總結(jié)

        AUTOSAR正在成為現(xiàn)實。許多OEM都計劃在接下來的車型中采用AUTOSAR。Vector為AUTOSAR提供了完整的解決方案,包括AUTOSAR軟件組件和開發(fā)工具。這不僅僅支持純粹的AUTOSAR系統(tǒng)開發(fā),而且支持逐步地將現(xiàn)有系統(tǒng)向AUTOSAR移植。

  來源:恒潤科技

(轉(zhuǎn)載)

標(biāo)簽:汽車 AUTOSAR 設(shè)計 技巧 我要反饋