專利名稱:基于autosar的電控單元通信數據格式的自動生成方法
技術領域:
本發明涉及智能汽車領域,具體涉及一種基于AUT0SAR的軟件開發技術。
背景技術:
AUTOSAR(Automotive Open System Architecture)是汽車電子開放系統架構,系統配置(System Configuration)是AUTOSAR方法論中定義的重要環節,主要規定了系統中硬件拓撲、網絡通信和系統映射等配置信息。系統映射規定了當前系統中所使用的軟件組件到電控單元的映射關系,實現了軟硬件的解耦。其中,軟件組件的模型包括軟件組件類型、端口、接口、連接器等信息,軟件組件類型從個體可拆分性角度分為復合組件(Composition SWC)、原子組件(Atomic SffC)兩種類型,復合組件可以包含多個軟件組件實例,每個組件實例分別引用其他復合組件類型或原子組件類型,原子組件是最小的不可再分的組件。端口包括ftxwided Port (用于提供數據和服務)與Required Port (用于接收數據和服務);接口用于指明通信時傳輸的數據和服務。AUTOSAR使用UML profile定義了系統映射的模型結構,同時規定了基于XML的結構完整的系統配置信息描述方式,為計算機自動處理對應信息提供了基礎。網絡通信規定了系統中電控單元間通信的信息交換格式,對系統配置具有重要意義。依據AUTOSAR的網絡通信分層模型,其主要元素包括應用層網絡信號(SystemSignal)、 交互層信號(ISignal),交互層通信數據單元(IPdu),數據鏈路層幀(Frame)等,需要交換的數據依次經過以上不同層次中的數據格式封裝以完成有效收發。AUTOSAR網絡通信模型分為應用層、交互層、數據鏈路層。一個數據鏈路層幀 (Frame)中的有效載荷區可以包含一個或多個交互層協議數據單元(IPdu),對于常見的 CAN網絡或LIN網絡,Frame中只能包含一個IPdu。每個IPdu中可能包含一個或多個交互層信號(ISignal),每個ISignal只能引用一個應用層系統信號(SystemSignal)或應用層系統信號組(SystemSignalGroup)。AUTOSAR網絡映射模型中可以指定SystemSignal或 SystemSignalGroup與軟件組件接口中數據元素的映射關系。傳統的AUTOSAR開發過程中實現數據元素與通信數據格式的映射是人工根據軟件組件描述來完成的,該建立過程依賴工程人員個人經驗和傾向,實現過程復雜多樣、困難復雜,創建和調試耗時冗長。特別當系統規模逐漸增長時,由于AUTOSAR配置信息使用XML 描述,不具備良好的可閱讀型,人工建立網絡信號和數據映射關系難以做到全面準確。而由于AUTOSAR標準得到了業界的有力支持,各種軟件產品的數量和規模都處在快速增長的階段,亟需有效的通信管理和創建方式。
發明內容
本發明要解決的技術問題是提供一種開發流程簡單、系統設計復雜度低、通信數據格式結構清晰緊湊、應用范圍廣、開發效率高的基于AUTOSAR的電控單元通信數據格式的自動生成方法。
為了解決上述技術問題,本發明采用的技術方案為一種基于AUT0SAR的電控單元通信數據格式的自動生成方法,其實施步驟如下1)根據AUT0SAR的系統配置解析并生成硬件拓撲和軟件組件的模型對象,獲取軟件組件到電控單元的映射關系以及軟件組件的通信接口信息;2)根據軟件組件到電控單元的映射關系、軟件組件的通信接口信息獲取每一個電控單元用于數據通信的所有數據元素;3)根據數據元素的數據類型和位寬生成與該數據元素對應不同通信協議層的通信數據格式;4)將所有電控單元的數據元素與通信數據格式之間的映射關系存儲到AUT0SAR 的系統映射中。作為本發明技術方案的進一步改進所述步驟幻獲取電控單元的所有數據元素之前,首先根據系統配置獲取頂層軟件組件和原子軟件組件,按照軟件組件的包含關系將所有軟件組件按照根節點為頂層軟件組件、葉節點為原子軟件組件的樹結構方式展開;然后從葉到根的方式遍歷樹結構的軟件組件,如果當前軟件組件為復合組件且通過引用另一復合組件的實例,則首先在當前軟件組件中建立其所引用另一復合組件的實例拷貝,然后刪除對另一復合組件的引用關系。所述步驟幻中獲取電控單元用于數據通信的數據元素時,首先獲取電控單元與軟件組件的映射關系,如果存在通信關系的軟件組件被映射到不同的電控單元中,則將該通信關系中用到的通信數據作為電控單元間的通信數據。所述步驟幻中生對應不同通信協議層的通信數據格式時,首先判斷數據元素的數據類型,如果數據類型為基本類型,則生成一個與數據元素位寬相等的應用層網絡信號, 如果數據類型為復合類型,則根據該復合類型中的每一個子類型生成一個與數據元素位寬相等的應用層網絡信號,并建立一個包含所述應用層網絡信號的應用層網絡信號組;根據應用層網絡信號或者應用層網絡信號組創建交互層信號,根據所述交互層信號建立一個長度與所述應用層網絡信號或者應用層網絡信號組相等的交互層協議數據單元;最后根據交互層協議數據單元創建一個長度相同的數據鏈路層幀。本發明具有下述優點1、本發明支持自動創建AUT0SAR的各個電控單元數據元素與通信數據格式之間的映射關系,改進了 AUT0SAR的開發方法,大幅簡化了系統設計的開發流程,降低了系統設計的復雜度。2、本發明針對AUT0SAR標準,所生成的信號格式針對汽車電子領域的特點,通信數據格式結構清晰緊湊,能夠比較好的契合業務需求,可以廣泛用于各種系統配置集成開發環境。3、本發明生成的網絡信號直接根據電控單元間的數據交換需求,其長度和映射方式保證了網絡信號的正確性,提高了系統配置的開發效率。
圖1為本發明實施例的流程示意圖。 圖2為本發明實施例更新軟件組件到電控單元的映射關系的流程示意圖。
圖3為本發明實施例獲取通信數據格式以及映射關系的流程示意圖。
具體實施例方式如圖1所示,本發明實施例基于AUT0SAR的電控單元通信數據格式的自動生成方法的實施步驟如下1)根據AUT0SAR的系統配置解析并生成硬件拓撲和軟件組件的模型對象,獲取軟件組件到電控單元的映射關系以及軟件組件的通信接口信息;2)根據軟件組件到電控單元的映射關系、軟件組件的通信接口信息獲取每一個電控單元用于數據通信的所有數據元素;3)根據數據元素的數據類型和位寬生成與該數據元素對應不同通信協議層的通信數據格式;4)將所有電控單元的數據元素與通信數據格式之間的映射關系存儲到AUT0SAR 的系統映射中。本實施例中AUT0SAR的系統配置基于標準XML文件的。數據元素對應不同通信協議層的通信數據格式具體包括數據鏈路層幀(Frame)、交互層協議數據單元(IPdu)、交互層信號(ISignal)和應用層系統信號(System Signal)等。通過自動生成并存儲到 AUT0SAR的系統映射中的電控單元的數據元素與通信數據格式之間的映射關系,實現了基于AUT0SAR的電控單元通信數據格式的自動生成。當需要調用電控單元的通信數據格式時,查詢AUT0SAR的系統映射即可得到。如圖2所示,步驟幻獲取電控單元的所有數據元素之前還包括采用組件層次展平算法將軟件組件轉化為單層結構來更新軟件組件到電控單元的映射關系的步驟首先根據系統配置獲取頂層軟件組件和原子軟件組件,按照軟件組件的包含關系將所有軟件組件按照根節點為頂層軟件組件、葉節點為原子軟件組件的樹結構方式展開;然后從葉到根的方式遍歷樹結構的軟件組件,如果當前軟件組件為復合組件且通過引用另一復合組件的實例,則首先在當前軟件組件中建立其所引用另一復合組件的實例拷貝,然后刪除對另一復合組件的引用關系。例如軟件組件包括復合組件A和復合組件B,復合組件B包含原子組件 C的實例,其中復合組件A引用復合組件B的實例,則操作步驟如下首先遍歷到復合組件A 時,發現復合組件A符合“當前軟件組件為復合組件且通過引用另一復合組件的實例”的規則,然后首先在復合組件A中建立原子組件C的拷貝,然后在復合組件A中刪除復合組件B 的實例,從而實現將復合組件B里面的原子組件C的實例來取代復合組件B的實例,其實質上是對復合組件A進行展開,刪除其中頂層節點外的其他復合組件實例。通過采用組件層次展平算法將軟件組件轉化為單層結構來更新軟件組件到電控單元的映射關系,可以得到更加準確的軟件組件模型,并有效去掉復合組件中的相互引用關系,獲得扁平的軟件組件模型,從而得到軟件組件到電控單元的映射關系更加精確。步驟2)中獲取電控單元用于數據通信的數據元素時,首先獲取電控單元與軟件組件的映射關系,如果存在通信關系的軟件組件被映射到不同的電控單元中,則將該通信關系中用到的通信數據作為電控單元間的通信數據。通過電控單元-軟件組件-電控單元的映射關系來獲取不同電控單元之間的數據元素,簡單可行,而且非常準確。如圖3所示,步驟幻中生對應不同通信協議層的通信數據格式時,
1)判斷數據元素的數據類型如果數據類型為基本類型,則生成一個與數據元素位寬相等的應用層網絡信號 (System Signal)。如果數據類型為復合類型,則根據該復合類型中的每一個子類型生成一個與數據元素位寬相等的應用層網絡信號(System Signal),并建立一個包含所述應用層網絡信號的應用層網絡信號組(System Signal Group)。2)根據應用層網絡信號(System Signal)或者應用層網絡信號組(System Signal Group)創建交互層信號(I Signal),根據交互層信號(I Signal)建立一個長度與所述應用層網絡信號(System Signal)或者應用層網絡信號(System Signal Group)組相等的交互層協議數據單元(IPdu);最后根據交互層協議數據單元(IPdu)創建一個長度相同的數據鏈路層幀(Frame)。本實施例通過對AUT0SAR系統配置中硬件拓撲、系統映射的信息進行分析,提取其中軟件組件到電控單元的映射關系,并使用組件層次展平算法獲得組件對外通信端口, 從而計算出每個電控單元收發的數據元素格式。根據數據元素的數據類型和位寬,自動生成對應不同通信協議層次的數據鏈路層幀,交互層協議數據單元,交互層信號,應用層系統信號等通信內容,同時在系統映射中建立信號與數據元素的映射關系。本實施例利用了 AUT0SAR標準中網絡通信用于完成電控單元間的數據通信,而其通信內容可以通過對系統配置中其他部分的配置結果分析得出,從而可以自動生成網絡相關配置。以上所述僅為本發明的優選實施方式,本發明的保護范圍并不僅限于上述實施方式,凡是屬于本發明原理的技術方案均屬于本發明的保護范圍。對于本領域的技術人員而言,在不脫離本發明的原理的前提下進行的若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
權利要求
1.一種基于AUT0SAR的電控單元通信數據格式的自動生成方法,其特征在于其實施步驟如下1)根據AUT0SAR的系統配置解析并生成硬件拓撲和軟件組件的模型對象,獲取軟件組件到電控單元的映射關系以及軟件組件的通信接口信息;2)根據軟件組件到電控單元的映射關系、軟件組件的通信接口信息獲取每一個電控單元用于數據通信的所有數據元素;3)根據數據元素的數據類型和位寬生成與該數據元素對應不同通信協議層的通信數據格式;4)將所有電控單元的數據元素與通信數據格式之間的映射關系存儲到AUT0SAR的系統映射中。
2.根據權利要求1所述的基于AUT0SAR的電控單元通信數據格式的自動生成方法,其特征在于所述步驟幻獲取電控單元的所有數據元素之前,首先根據系統配置獲取頂層軟件組件和原子軟件組件,按照軟件組件的包含關系將所有軟件組件按照根節點為頂層軟件組件、葉節點為原子軟件組件的樹結構方式展開;然后從葉到根的方式遍歷樹結構的軟件組件,如果當前軟件組件為復合組件且通過引用另一復合組件的實例,則首先在當前軟件組件中建立其所引用另一復合組件的實例拷貝,然后刪除對另一復合組件的引用關系。
3.根據權利要求2所述的基于AUT0SAR的電控單元通信數據格式的自動生成方法,其特征在于所述步驟幻中獲取電控單元用于數據通信的數據元素時,首先獲取電控單元與軟件組件的映射關系,如果存在通信關系的軟件組件被映射到不同的電控單元中,則將該通信關系中用到的通信數據作為電控單元間的通信數據。
4.根據權利要求1或2或3所述的基于AUT0SAR的電控單元通信數據格式的自動生成方法,其特征在于所述步驟幻中生對應不同通信協議層的通信數據格式時,首先判斷數據元素的數據類型,如果數據類型為基本類型,則生成一個與數據元素位寬相等的應用層網絡信號,如果數據類型為復合類型,則根據該復合類型中的每一個子類型生成一個與數據元素位寬相等的應用層網絡信號,并建立一個包含所述應用層網絡信號的應用層網絡信號組;根據應用層網絡信號或者應用層網絡信號組創建交互層信號,根據所述交互層信號建立一個長度與所述應用層網絡信號或者應用層網絡信號組相等的交互層協議數據單元; 最后根據交互層協議數據單元創建一個長度相同的數據鏈路層幀。
全文摘要
本發明公開了一種基于AUTOSAR的電控單元通信數據格式的自動生成方法,其實施步驟如下1)根據AUTOSAR的系統配置解析并生成硬件拓撲和軟件組件的模型對象,獲取軟件組件到電控單元的映射關系以及軟件組件的通信接口信息;2)根據軟件組件到電控單元的映射關系、軟件組件的通信接口信息獲取每一個電控單元用于數據通信的所有數據元素;3)根據數據元素的數據類型和位寬生成與該數據元素對應不同通信協議層的通信數據格式;4)將所有電控單元的數據元素與通信數據格式之間的映射關系存儲到AUTOSAR的系統映射中。本發明具有開發流程簡單、系統設計復雜度低、通信數據格式結構清晰緊湊、應用范圍廣、開發效率高的優點。
文檔編號G06F9/44GK102231107SQ20111015335
公開日2011年11月2日 申請日期2011年6月9日 優先權日2011年6月9日
發明者李紅, 楊國青, 楊玉皓, 耿莉莉, 鐘曉峰 申請人:浙江大學