欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于消息轉(zhuǎn)發(fā)的ecu間通信方法

文檔序號:7889697閱讀:224來源:國知局
專利名稱:一種基于消息轉(zhuǎn)發(fā)的ecu間通信方法
技術(shù)領(lǐng)域
本發(fā)明涉及汽車電子軟件開發(fā)技術(shù)領(lǐng)域,尤其是涉及一種基于消息轉(zhuǎn)發(fā)的ECU間通信方法。
背景技術(shù)
隨著汽車電子技術(shù)和產(chǎn)品在汽車產(chǎn)業(yè)中的廣泛應(yīng)用,汽車上的嵌入式應(yīng)用規(guī)模越來越大,目前,汽車上所包含的EOJ (Electronic Control Unit,電控單元)的數(shù)量已經(jīng)擴(kuò)大到幾十個、甚至上百個,因此E⑶間有效通信成為提高汽車電子開發(fā)技術(shù)質(zhì)量和效率的重要研究方向。在汽車電子實(shí)際應(yīng)用領(lǐng)域中,CAN (Controller Area Network,控制器局域網(wǎng))是應(yīng)用最為廣泛的串行總線,它甚至在一輛車上被多次使用低速CAN總線被用來連接舒適系統(tǒng)的E⑶,高速CAN被用來連接動力系統(tǒng)的E⑶。CAN提供了極高的傳輸安全性,這得益于它采用差分信號傳輸并同時采用5種錯誤檢測機(jī)制。CAN總線通過廣播通信,采用了多主競爭式總線結(jié)構(gòu),是一種多主站運(yùn)行和分散仲裁的串行總線。CAN總線上的任意節(jié)點(diǎn)可以在任意時刻向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息,實(shí)現(xiàn)各節(jié)點(diǎn)間的自由通信,通過位仲裁來解決當(dāng)兩個站點(diǎn)同時發(fā)送數(shù)據(jù)產(chǎn)生的沖突,具有最低二進(jìn)制數(shù)的CAN ID具有最高的優(yōu)先級。AUT0SAR (AUTomotive Open System Architecture)是汽車電子開放系統(tǒng)架構(gòu)的簡稱,規(guī)定了一整套汽車電子開發(fā)的方法論,包括系統(tǒng)配置和E⑶(Electronic Control Unit,電控單元)配置階段。系統(tǒng)配置(System Configuration)是方法論的第一個環(huán)節(jié),它定義了系統(tǒng)中軟件架構(gòu)、硬件拓?fù)?、網(wǎng)絡(luò)通信和系統(tǒng)映射等配置信息,通過定義軟件架構(gòu)和硬件拓?fù)涞姆蛛x,實(shí)現(xiàn)了軟硬件的解耦。ECU配置階段通過提取系統(tǒng)配置生成的單個ECU抽取結(jié)果,針對每個特定的電控單元進(jìn)行配置,包括常見的操作系統(tǒng)(OS),運(yùn)行時環(huán)境(RTE) 等和基礎(chǔ)軟件模塊(BSW)的配置,自動生成用戶的配置代碼和ECU配置描述文件。復(fù)雜的系統(tǒng)內(nèi)部會有成千上萬的軟件組件,并且軟件組件之間有一定的通信關(guān)系。按照系統(tǒng)配置時軟件組件到ECU映射的不同,軟件組件間的通信關(guān)系可以劃分為ECU 內(nèi)部通信和E⑶間通信。在同一個E⑶上的軟件組件通信E⑶內(nèi)部即可完成,而分布在不同ECU上的軟件組件通信在真實(shí)的汽車電子環(huán)境中是通過汽車上常用的總線來消息發(fā)送和接收的。在通常的汽車電子軟件開發(fā)中,為了驗(yàn)證軟件組件之間的消息通信的正確與否, 可以在真實(shí)的環(huán)境和ECU硬件平臺上搭建運(yùn)行環(huán)境進(jìn)而觀察和分析結(jié)果。但是,這無形中延長了軟件的開發(fā)周期,增加了系統(tǒng)開發(fā)的復(fù)雜度和成本。同時,由于在系統(tǒng)開發(fā)的早期階段,還無法得到系統(tǒng)最終運(yùn)行的真實(shí)環(huán)境和ECU硬件平臺,如果有一個仿真平臺,能在開發(fā)的早期階段搭建好一個仿真的環(huán)境對軟件組件間通信進(jìn)行驗(yàn)證測試,從而較早的發(fā)現(xiàn)和糾正軟件的邏輯錯誤,提高系統(tǒng)開發(fā)的效率。綜上所述,面對日趨復(fù)雜的汽車電子軟件產(chǎn)品,基于AUT0SAR方法論的軟件開發(fā), 在系統(tǒng)開發(fā)的早期階段搭建一個仿真環(huán)境,支持位于不同E⑶上的軟件組件之間通信的仿真驗(yàn)證,本發(fā)明基于CAN總線“仲裁機(jī)制”的消息廣播特點(diǎn),提出一種軟件實(shí)現(xiàn)ECU之間消息通信的方法,即基于消息轉(zhuǎn)發(fā)的ECU間通信方法。

發(fā)明內(nèi)容
為了避免傳統(tǒng)的在AUT0SAR開發(fā)完成ECU配置后,再搭建硬件在環(huán)仿真平臺付出的昂貴代價,克服在開發(fā)過程中配置和生成代碼容易出錯的缺點(diǎn),本發(fā)明提供了一種基于消息轉(zhuǎn)發(fā)的ECU間通信方法,為不同ECU上的軟件組件間通信的仿真驗(yàn)證提供支持。一種基于消息轉(zhuǎn)發(fā)的E⑶間通信方法,包括如下步驟
1)、分析并建立系統(tǒng)中的靜態(tài)消息路由表
(I. D獲取系統(tǒng)中的頂層組合組件;
(I. 2)利用組件抹平算法將軟件組件轉(zhuǎn)化為單層結(jié)構(gòu),更新軟件組件到電控單元的映射關(guān)系和數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系;
(I. 3)獲得系統(tǒng)中所有的系統(tǒng)映射信息;
(1.4)分析系統(tǒng)中數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系,建立不同電控單元間的通信關(guān)系,分別填充源地址和目的地址信息,數(shù)據(jù)元素和系統(tǒng)信號信息,完成靜態(tài)消息路由表的建立;
2)、消息轉(zhuǎn)發(fā)器完成消息轉(zhuǎn)發(fā)的工作
(2. I)消息轉(zhuǎn)發(fā)器主線程負(fù)責(zé)監(jiān)聽各個電控單元節(jié)點(diǎn)中CAN Driver的套接字連接請求,并創(chuàng)建子線程用于和每個發(fā)出建立連接請求的電控單元節(jié)點(diǎn)建立套接字連接;
(2. 2)消息轉(zhuǎn)發(fā)器等待發(fā)送E⑶中CAN Driver調(diào)用Can_Write發(fā)送消息,在消息轉(zhuǎn)發(fā)器中發(fā)送E⑶對應(yīng)的子線程接收消息,并發(fā)送接收應(yīng)答給CAN Driver ;
(2. 3)發(fā)送ECU對應(yīng)的子線程查找消息路由表,得到目的ECU對應(yīng)的子線程,最終目的 ECU對應(yīng)的子線程完成消息轉(zhuǎn)發(fā)。進(jìn)一步的,所述靜態(tài)消息路由表包含的信息有源電控單元,目標(biāo)電控單元,數(shù)據(jù)兀素,系統(tǒng)信號。進(jìn)一步的,所述步驟(I. 2)利用組件抹平算法將軟件組件轉(zhuǎn)化為單層結(jié)構(gòu)的步驟包括
(I. 2. I)將組件結(jié)構(gòu)按照組件包含關(guān)系建立為樹結(jié)構(gòu);
(I. 2. 2)從葉節(jié)點(diǎn)到根節(jié)點(diǎn)遍歷樹結(jié)構(gòu),若組件組件為非根節(jié)點(diǎn)的組合組件類型,則提取該組合組件中的所有軟件組件實(shí)例;否則,若到達(dá)了根節(jié)點(diǎn),則退出完成抹平;
(I. 2. 3)對每個軟件組件實(shí)例,復(fù)制其到該組合組件的父節(jié)點(diǎn)中并更新軟件組件實(shí)例間的連接關(guān)系,在該組合組件的父節(jié)點(diǎn)中刪除該組合組件實(shí)例。進(jìn)一步的,所述步驟(I. 4)分析系統(tǒng)中數(shù)據(jù)元素到系統(tǒng)信號的映射信息,建立靜態(tài)消息路由表的步驟包括
(1.4. I)對系統(tǒng)中每個數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系,獲得該映射信息中引用的端口信息;
(I. 4. 2)遍歷頂層組合組件中包含的所有組裝連接線;
(I. 4. 3)對每個組裝連接線,如果其引用的提供端或者接收端的端口和數(shù)據(jù)映射引用的端口相同,獲得對應(yīng)的組件實(shí)例;否則,不處理;(I. 4. 4)在系統(tǒng)的軟件組件到電控單元映射關(guān)系中,查找軟件組件實(shí)例映射到的電控單元,不是同一個電控單元,則在消息路由表中添加一條記錄;否則,不處理;
(I. 4. 5)數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系處理完成后,靜態(tài)消息路由表完成建立。本發(fā)明的技術(shù)構(gòu)思是通過對AUT0SAR系統(tǒng)配置中的系統(tǒng)映射信息進(jìn)行分析,提取建立系統(tǒng)中靜態(tài)消息路由表,利用建立好的靜態(tài)消息路由表,提出一種軟件實(shí)現(xiàn)ECU之間消息通信的方法,即基于消息轉(zhuǎn)發(fā)的ECU間通信方法。本方法借鑒了 CAN總線廣播發(fā)送消息的模式,即基于CAN總線“仲裁機(jī)制”的消息廣播特點(diǎn),用軟件的方法模擬CAN總線收發(fā)CAN幀實(shí)現(xiàn)E⑶間通信。本發(fā)明具有如下優(yōu)點(diǎn)
I.本發(fā)明借鑒了 CAN總線廣播發(fā)送消息的模式,通過建立靜態(tài)消息路由表實(shí)現(xiàn)ECU間通信,為支持位于不同ECU上軟件組件之間通信的仿真驗(yàn)證提供了一種有效方法。2.本發(fā)明實(shí)施簡單,在AUT0SAR系統(tǒng)配置階段開發(fā)完成后即可仿真驗(yàn)證不同E⑶ 之間的軟件組件通信,降低了傳統(tǒng)的在開發(fā)完成生成可執(zhí)行代碼后,在真實(shí)的環(huán)境和E⑶ 硬件平臺上運(yùn)行帶來的昂貴代價,提高了 AUT0SAR的開發(fā)速度。3.本發(fā)明可以隨時發(fā)現(xiàn)軟件開發(fā)中的錯誤,彈性調(diào)整用戶的配置。同時,也為仿真驗(yàn)證CAN總線提供了一個指導(dǎo)方向。


圖I本發(fā)明分析并建立系統(tǒng)中的靜態(tài)消息路由表的主流程。圖2本發(fā)明系統(tǒng)中頂層軟件組件的抹平流程。圖3本發(fā)明中遍歷系統(tǒng)中數(shù)據(jù)映射信息,建立消息路由表的流程。圖4本發(fā)明消息轉(zhuǎn)發(fā)器完成消息轉(zhuǎn)發(fā)的工作流程。
具體實(shí)施例方式參照附圖1-4,對本發(fā)明進(jìn)一步詳細(xì)說明。一種基于消息轉(zhuǎn)發(fā)的E⑶間通信方法,包括以下步驟
I)、分析并建立系統(tǒng)中的靜態(tài)消息路由表
(I. D獲得系統(tǒng)中的頂層組合組件;
(I. 2)利用組件抹平算法將軟件組件轉(zhuǎn)化為單層結(jié)構(gòu),更新系統(tǒng)中軟件組件到電控單元的映射關(guān)系和數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系;
(I. 3)獲得系統(tǒng)中所有的系統(tǒng)映射信息,即提取系統(tǒng)中軟件組件的連接信息和映射信
(I. 4)分析系統(tǒng)中數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系,建立不同電控單元間的通信關(guān)系, 分別填充源地址和目的地址信息,數(shù)據(jù)元素和系統(tǒng)信號信息,完成靜態(tài)消息路由表的建立。2)、消息轉(zhuǎn)發(fā)器完成消息轉(zhuǎn)發(fā)的工作
(2. I)消息轉(zhuǎn)發(fā)器主線程負(fù)責(zé)監(jiān)聽各個電控單元節(jié)點(diǎn)中CAN Driver的套接字連接請求,并創(chuàng)建子線程用于和每個發(fā)出建立連接請求的電控單元節(jié)點(diǎn)建立套接字連接;
(2. 2)消息轉(zhuǎn)發(fā)器等待發(fā)送E⑶中CAN Driver調(diào)用Can_Write發(fā)送消息;
(2.3)在消息轉(zhuǎn)發(fā)器中發(fā)送ECU對應(yīng)的子線程接收消息,并發(fā)送接收應(yīng)答給CANDriver ;
(2. 4)發(fā)送E⑶對應(yīng)的子線程申請資源鎖,當(dāng)申請成功時,根據(jù)發(fā)送消息內(nèi)容設(shè)置全局?jǐn)?shù)據(jù)變量;
(2. 5)發(fā)送E⑶對應(yīng)的子線程查找消息路由表,得到目的E⑶,最后目的E⑶中CAN Driver對應(yīng)的子線程通過套接字完成消息轉(zhuǎn)發(fā),釋放資源鎖。進(jìn)一步,步驟(I. 2)利用組件抹平算法將軟件組件轉(zhuǎn)化為單層結(jié)構(gòu)的步驟包括
I. 2. I將組件結(jié)構(gòu)按照組件包含關(guān)系建立為樹結(jié)構(gòu);
I. 2. 2從葉節(jié)點(diǎn)到根節(jié)點(diǎn)遍歷樹結(jié)構(gòu),若組件組件為非根節(jié)點(diǎn)的組合組件類型,則提取該組合組件中的所有軟件組件實(shí)例;否則,若到達(dá)了根節(jié)點(diǎn),則退出完成抹平;
I. 2. 3對每個軟件組件實(shí)例,復(fù)制其到該組合組件的父節(jié)點(diǎn)中并更新軟件組件實(shí)例間的連接關(guān)系,在該組合組件的父節(jié)點(diǎn)中刪除該組合組件實(shí)例。進(jìn)一步,步驟(I. 4)分析系統(tǒng)中數(shù)據(jù)元素到系統(tǒng)信號的映射信息,建立靜態(tài)消息路由表的步驟包括
I. 4. I對系統(tǒng)中每個數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系,獲得該映射信息中引用的端口信息;
I. 4. 2遍歷頂層組合組件中包含的所有組裝連接線;
I. 4. 3對每個組裝連接線,如果其引用的提供端或者接收端的端口和數(shù)據(jù)映射引用的端口相同,獲得對應(yīng)的組件實(shí)例;否則,不處理;
I. 4. 4在系統(tǒng)的軟件組件到電控單元映射關(guān)系中,查找軟件組件實(shí)例映射到的電控單元,不是同一個電控單元,則在消息路由表中添加一條記錄;否則,不處理;
I. 4. 5數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系處理完成后,靜態(tài)消息路由表完成建立。本說明書實(shí)施例所述的內(nèi)容僅僅是對發(fā)明構(gòu)思的實(shí)現(xiàn)形式的列舉,本發(fā)明的保護(hù)范圍不應(yīng)當(dāng)被視為僅限于實(shí)施例所陳述的具體形式,本發(fā)明的保護(hù)范圍也及于本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明構(gòu)思所能夠想到的等同技術(shù)手段。
權(quán)利要求
1.一種基于消息轉(zhuǎn)發(fā)的ECU間通信方法,其特征在于包括如下步驟1)、分析并建立系統(tǒng)中的靜態(tài)消息路由表(I. O獲取系統(tǒng)中的頂層組合組件;(I. 2)利用組件抹平算法將軟件組件轉(zhuǎn)化為單層結(jié)構(gòu),更新軟件組件到電控單元的映射關(guān)系和數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系;(I. 3)獲得系統(tǒng)中所有的系統(tǒng)映射信息;(1.4)分析系統(tǒng)中數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系,建立不同電控單元間的通信關(guān)系,分別填充源地址和目的地址信息,數(shù)據(jù)元素和系統(tǒng)信號信息,完成靜態(tài)消息路由表的建立;2)、消息轉(zhuǎn)發(fā)器完成消息轉(zhuǎn)發(fā)的工作(2. I)消息轉(zhuǎn)發(fā)器主線程負(fù)責(zé)監(jiān)聽各個電控單元節(jié)點(diǎn)中CAN Driver的套接字連接請求,并創(chuàng)建子線程用于和每個發(fā)出建立連接請求的電控單元節(jié)點(diǎn)建立套接字連接;(2. 2)消息轉(zhuǎn)發(fā)器等待發(fā)送E⑶中CAN Driver調(diào)用Can_Write發(fā)送消息,在消息轉(zhuǎn)發(fā)器中發(fā)送E⑶對應(yīng)的子線程接收消息,并發(fā)送接收應(yīng)答給CAN Driver ;(2. 3)發(fā)送ECU對應(yīng)的子線程查找消息路由表,得到目的ECU對應(yīng)的子線程,最終目的ECU對應(yīng)的子線程完成消息轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求I所述的基于消息轉(zhuǎn)發(fā)的ECU間通信方法,其特征在于所述靜態(tài)消息路由表包含的信息有源電控單元,目標(biāo)電控單元,數(shù)據(jù)元素,系統(tǒng)信號。
3.根據(jù)權(quán)利要求I所述的基于消息轉(zhuǎn)發(fā)的ECU間通信方法,其特征在于所述步驟 (I. 2)利用組件抹平算法將軟件組件轉(zhuǎn)化為單層結(jié)構(gòu)的步驟包括(I. 2. I)將組件結(jié)構(gòu)按照組件包含關(guān)系建立為樹結(jié)構(gòu);(I. 2. 2)從葉節(jié)點(diǎn)到根節(jié)點(diǎn)遍歷樹結(jié)構(gòu),若組件組件為非根節(jié)點(diǎn)的組合組件類型,則提取該組合組件中的所有軟件組件實(shí)例;否則,若到達(dá)了根節(jié)點(diǎn),則退出完成抹平;(I. 2. 3)對每個軟件組件實(shí)例,復(fù)制其到該組合組件的父節(jié)點(diǎn)中并更新軟件組件實(shí)例間的連接關(guān)系,在該組合組件的父節(jié)點(diǎn)中刪除該組合組件實(shí)例。
4.根據(jù)權(quán)利要求I所述的基于消息轉(zhuǎn)發(fā)的ECU間通信方法,其特征在于所述步驟 (I. 4)分析系統(tǒng)中數(shù)據(jù)元素到系統(tǒng)信號的映射信息,建立靜態(tài)消息路由表的步驟包括(1.4. I)對系統(tǒng)中每個數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系,獲得該映射信息中引用的端口信息;(I. 4. 2)遍歷頂層組合組件中包含的所有組裝連接線;(I. 4. 3)對每個組裝連接線,如果其引用的提供端或者接收端的端口和數(shù)據(jù)映射引用的端口相同,獲得對應(yīng)的組件實(shí)例;否則,不處理;(I. 4. 4)在系統(tǒng)的軟件組件到電控單元映射關(guān)系中,查找軟件組件實(shí)例映射到的電控單元,不是同一個電控單元,則在消息路由表中添加一條記錄;否則,不處理;(I. 4. 5)數(shù)據(jù)元素到系統(tǒng)信號的映射關(guān)系處理完成后,靜態(tài)消息路由表完成建立。
全文摘要
本發(fā)明涉及汽車電子軟件開發(fā)技術(shù)領(lǐng)域,尤其是涉及一種基于消息轉(zhuǎn)發(fā)的ECU間通信方法,通過對AUTOSAR系統(tǒng)配置中的系統(tǒng)映射信息進(jìn)行分析,提取建立系統(tǒng)中靜態(tài)消息路由表,利用建立好的靜態(tài)消息路由表,提出一種軟件實(shí)現(xiàn)ECU之間消息通信的方法,即基于消息轉(zhuǎn)發(fā)的ECU間通信方法?;贑AN總線“仲裁機(jī)制”的消息廣播特點(diǎn),用軟件的方法模擬CAN總線收發(fā)CAN幀實(shí)現(xiàn)ECU間通信。本發(fā)明降低了傳統(tǒng)的在開發(fā)完成生成可執(zhí)行代碼后,在真實(shí)的環(huán)境和ECU硬件平臺上運(yùn)行帶來的昂貴代價,提高了AUTOSAR的開發(fā)速度。
文檔編號H04L12/58GK102594685SQ20121003719
公開日2012年7月18日 申請日期2012年2月17日 優(yōu)先權(quán)日2012年2月17日
發(fā)明者吳朝暉, 姜旭鋒, 孫征, 楊國青, 耿莉莉, 郭徐, 顧宗華 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
胶南市| 徐汇区| 宾川县| 泰顺县| 巴林右旗| 上栗县| 平谷区| 乌拉特后旗| 晋江市| 宁海县| 望江县| 蓝山县| 互助| 务川| 宁武县| 正安县| 读书| 台江县| 夹江县| 城口县| 罗平县| 申扎县| 武陟县| 久治县| 虹口区| 乌鲁木齐县| 赣榆县| 皮山县| 区。| 临颍县| 枝江市| 马关县| 平乐县| 三河市| 类乌齐县| 罗江县| 肇州县| 孝感市| 昆明市| 灵寿县| 满洲里市|