AutoSar之方法論Methodology

​AUTOSAR爲汽車電子軟件系統開發定義了通用的技術方法,即AUTOSAR方法論。該方法論描述了從系統底層配置到ECU可執行代碼產生過程的設計步驟。

AUTOSAR開發方法是基於虛擬功能總線的開發方法。

在VFB中,軟件組件之間通過端口交互,端口的類型由接口定義。接口控制軟件組件間的通訊。設計者在設計軟件組件時不必考慮其分配在哪個ECU,也不必考慮網絡拓撲結構和ECU在車輛網絡中的通訊。所以VFB使得車輛ECU間的電氣架構確定之前,就能夠確定系統的整個功能。

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

AUTOSAR設計和開發流程分爲三個階段:系統配置、ECU設計與配置階段、代碼生成階段。

第一階段:定義系統配置文件。這是系統設計者或架構師的任務。包括選擇硬件和軟件組件,定義整個系統的約束條件。AUTOSAR通過使用信息交換格式和模板描述文件來減少初始系統設計時的工作量。系統配置的輸入是ARXML類型的文件,輸出是系統配置描述文件,系統配置的主要作用是把軟件組件的需求映射到ECU上。

第二階段:根據系統配置描述文件提取單個ECU資源相關的信息,提取出來的信息生成ECU提取文件。根據這個提取文件對ECU進行配置,例如操作系統任務調度,必要的BSW模塊及其配置,運行實體到任務的分配等,從而生成ECU配置描述文件。該描述文件包含了特定ECU的所有信息。

第三階段:生成代碼,是基於ECU配置描述文件指定的配置來產生代碼、編譯代碼,並把相關代碼鏈接起來形成可執行文件。

在這裏插入圖片描述

在AUTOSAR中,所有的描述文件都是ARXML類型的文件。系統配置輸入文件包含三部分內容:
(1)軟件組件描述,定義每個涉及的軟件組件的接口內容,如數據類型,端口,接口等。

(2)ECU資源描述,定義每個ECU的資源需求,如處理器、存儲器、外圍設備、傳感器和執行器等。

(3)系統約束描述,定義總線信號,軟件組件間的拓撲結構和映射關係。

系統配置的功能主要是在資源和時序關係的前提下,把軟件組件映射到各個ECU上,然後藉助系統配置生成器生成系統配置描述文件。描述文件包括總線映射之類的所有系統信息以及軟件組件與某個ECU的映射關係。
從系統配置描述文件中提取出與各個ECU相關的系統配置描述信息,提取的信息包括ECU通信矩陣、拓撲結構、映射到該ECU上的所有軟件組件,並將這些信息放在各個ECU的提取文件中。

ECU配置主要是爲該ECU添加必要的信息和數據,如任務調度、必要的基礎軟件模塊及其配置、運行實體及任務分配等,並將結果保存在ECU配置描述文件中,該文件包含了屬於特定ECU的所有信息,換言之,ECU上運行的軟件可根據這些信息構造出來。

根據ECU配置描述文件中的配置信息,生成RTE和基礎軟件配置代碼,完成基礎軟件和軟件組件的集成,最終生成ECU的可執行代碼。

當然,AUTOSAR方法論不僅涵蓋了從VFB設計到生成代碼軟件集成之間的所有步驟,還包括了標定、存儲映射和數據保護等方法。其不僅規定了每一個步驟的行爲,還規定了各步驟之間的銜接方式。

具體開發流程如下:

  1. 系統配置

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

  1. ECU設計與配置階段

a. 建立VFB系統描述

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

這一階段需要做的包括:具體設計VFB中的接口、模式、數據類型、軟件組件及其定時。

完成該步後,整個VFB可以確定:有哪些軟件組件,這些軟件組件互相之間關係和通訊等。

b. 開發軟件組件

基於上個階段,即整個VFB框架搭好,只需向軟件組件填充內容。

填充的內容具體有:可運行實體、事件、數據訪問點和內部變量等。需要注意的是,在這裏設計的軟件組件不僅是應用軟件組件,還包括ECU抽象層軟件組件、複雜驅動軟件組件和傳感器/執行器軟件組件。

軟件組件設計完成後,可通過RTE生成器(合同階段)來生成頭文件。如果採用的是手寫代碼開發控制算法,這些頭文件必不可少;如果採用建模的方法來建立控制算法,合同階段也能驗證VFB及軟件組件內部設計的正確性。

軟件組件的實現獨立於ECU的配置,這是AUTOSAR方法論的主要特徵。

c. 開發系統和子系統

在系統設計階段,最重要的是知道系統的拓撲結構和ECU資源,即有幾個ECU,各ECU間如何通訊,通訊形式和內容,ECU上有哪些資源,芯片引腳信息等。

這些內容應在第一階段中定義好,對於系統開發而言,這些是必要的輸入。當這些內容輸入到系統,就可以將軟件組件映射到ECU,並將應用層的數據映射到總線信號,此時系統就建立完成。

當系統建立後,可以建立系統抽象,爲開發子系統提供基礎。

子系統是在系統抽象基礎上構建,子系統可以在系統抽象上進行更改。例如,重新構建軟件架構,將原本映射到一個ECU上的軟件組件,映射到兩個ECU上。

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

d. 開發基礎軟件

在這個階段,要定義基礎軟件的內部行爲,而不是基礎軟件的配置。

因爲基礎軟件模塊獨立於VFB,他們可以在任一階段被開發,該部分是由AUTOSAR工具鏈供應商提供。

  1. 生成代碼-軟件集成

軟件集成是以ECU爲單位的。在AUTOSAR概念中,一個ECU就意味着一個微控制器加上外圍電路和軟件配置,因此,每個微控制器都需要ECU配置。在這一階段首先需要進行RTE配置。RTE的配置包括建立OS任務,並將運行實體映射到OS任務上。然後是配置BSW,其中包括通訊棧、操作系統、系統服務、存儲、診斷、MCAL等基礎軟件模塊。

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

作者簡介:

Demu,傳統汽車電控向智能駕駛轉變的汽車人。從事發動機控制器系統工程師和軟件工程師多年,有豐富的ECU系統和軟件設計經驗。歡迎大家一起留言交流,共同進步。
在這裏插入圖片描述

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