AUTOSAR開發的方法論

AUTOSAR由三部分構成:軟件架構,方法論和模板,軟件接口。大家對AUTOSAR的分層架構都有很多認識,知道AUTOSAR的分層架構:應用軟件層,RTE層,基礎軟件層。

本文對AUTOSAR的方法論進行簡單介紹,讓大家初步認識AUTOSAR的開發流程。AUTOSAR的開發方法是基於虛擬功能總線的開發方法。

AUTOSAR系統架構中,軟件組件的交互是基於虛擬功能總線(Virtual Function Bus, VFB )進行的。在VFB上,軟件組件之間通過端口(Port)交互,Port的類型由接口(Interface)定義。接口控制了軟件組件間通訊的內容和語義。Port和Interface的組合被稱爲AUTOSAR Port Interface。VFB使得設計者在設計軟件組件時不必考慮它們會被分配在哪個ECU上,也不必考慮網絡拓撲結構和ECU在車輛網絡中如何通訊。這就意味着,通過VFB,在車輛ECU間的電氣架構確定之前,就能夠確定系統的整個功能。

所以在VFB設計階段,不需要關心軟件組件間的真實通訊方式,只需要在VFB上實現通訊即可,其他事情都可交給系統配置來做。

如上圖所示,在VFB設計階段,應用層中的軟件組件都通過VFB相互連接起來。然後,在系統配置階段,軟件組件被映射到了不同的ECU上。這樣VFB就變爲了同一個ECU上的本地通訊和跨ECU網絡通訊。最後,以一個ECU爲單位進行配置。而軟件組件間的接口與軟件組件與BSW之間通訊的接口由RTE來實現。

AUTOSAR需要爲系統開發的流程制定一種普遍適用的技術路線,這就是AUTOSAR方法論。AUTOSAR方法論不僅涵蓋了從VFB設計到生成代碼軟件集成之間的所有步驟,還包括了標定、存儲映射和數據保護等方法。其不僅規定了每一個步驟的行爲,還規定了各步驟之間的銜接方式。

上圖展示了AUTOSAR方法論的整體工作流程,其中包括了從VFB設計到軟件集成的各個階段,這些階段有:

A.建立抽象系統描述

建立抽象系統描述就是對整個系統建立一個抽象或功能性的視角。在AUTOSAR方法論中這一階段是可以跳過的,因爲這一階段並不有任何實質性的產物。但是爲使接下來的幾個階段更爲有效,少走回頭路,在實際的開發過程中還是要保留。

這一階段需要做的有:確定VFB中有哪些接口、模式、數據類型、軟件組件、集合、軟件組件約束(哪幾個軟件組件放在一個ECU上)和整個系統架構。在這一步中需要思考整個功能架構,即提出需求,再根據系統約束進行分析,最後得出一個合理的、高效的系統架構,爲後幾個階段指明方向。

B.建立VFB系統描述

在這一階段中,就是根據前一階段制定好的大方針做具體工作。所有的軟件組件設計都是基於VFB的,所以在此時還沒有ECU的概念,所有的軟件組件都放在一起開發。整個功能描述獨立於任何的ECU和網絡。

這一階段需要做的有:具體設計VFB中的接口、模式、數據類型、軟件組件及其定時。在這一步做完之後,其實整個VFB就可以確定了,即有哪些軟件組件,這些軟件組件互相之間的關係是怎麼樣的,它們之間通訊的語法和語義又是如何。

C.開發軟件組件

這一階是基於上個階段來操作的,即整個VFB框架已經搭好了,就只需向軟件組件內填充內容了。填充的內容具體有:運行實體、事件、數據訪問點和內部變量(Inter-Runnable Variables, IRV)等。需要注意的是,在這裏設計的軟件組件不僅是應用軟件組件,還包括ECU抽象層軟件組件、複雜驅動軟件組件和傳感器/執行器軟件組件。

軟件組件內部設計一旦完成,那就可以通過RTE生成器(合同階段)來生成頭文件。如果採用的是手寫代碼開發控制算法的話,這些頭文件則必不可少;如果採用建模的方法來建立控制算法的話,合同階段也能驗證VFB及軟件組件內部設計的正確性。軟件組件的實現獨立於ECU的配置,這是AUTOSAR方法論的主要特徵

D.開發系統和子系統

在系統設計階段,最重要的是知道系統的拓撲結構和ECU資源,即有幾個ECU,各ECU間是怎樣通訊的,它們通訊的形式和內容是怎樣的,ECU上有哪些資源,芯片引腳信息等等。這些內容應該在第一階段中就應該定義好了,對於系統開發來說,這些就是必要的輸入。當這些內容輸入到系統後,就可以將軟件組件映射到ECU,並且將應用層的數據映射到總線上的信號,此時系統就建立好了。

當系統建立完畢後,可以建立系統抽象,爲開發子系統提供基礎。子系統是在系統抽象的基礎上構建的,子系統可以在系統抽象上進行更改。例如,重新構建軟件架構,將原本映射到一個ECU上的軟件組件,映射到兩個ECU上。

這一階段的最後一部是建立ECU提取物,ECU提取將系統中關於這一ECU有關的信息提取出來,這也爲接下來針對每個ECU的配置工作提供了基礎。

E.開發BSW

在這個階段中是要定義BSW的內部行爲,而不是BSW的配置。因爲基礎軟件模塊獨立於VFB,他們可以在任一階段被開發,該部分是由AUTOSAR工具鏈供應商提供。

F.軟件集成

軟件集成是也是以ECU爲單位的。在AUTOSAR概念中,一個ECU就意味着一個微控制器加上外圍電路和軟件配置,因此,每個微控制器都需要ECU配置。

在這一階段首先需要進行RTE配置。RTE的配置包括建立OS任務,並將運行實體映射到OS任務上。然後是配置BSW,其中包括通訊棧、操作系統、系統服務、存儲、診斷、MCAL等基礎軟件模塊。

在配置完成後,則是生成RTE、BSW、OS和MCAL代碼。這些代碼都是在不同的配置工具中分別生成,而最後放在編譯器中統一編譯成可執行文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章