吳祥,王瑋,許東輝.
(1.合肥工業(yè)大學機械與汽車工程學院,合肥 230009;2.安徽江淮汽車股份有限公司技術中心,合肥 230601)
基于AUTOSAR規(guī)范的車載FlexRay Nm研究★
吳祥1,王瑋2,許東輝1.2
(1.合肥工業(yè)大學機械與汽車工程學院,合肥 230009;2.安徽江淮汽車股份有限公司技術中心,合肥 230601)
為確保汽車總線FlexRay網絡通信的可靠性和安全性,在研究AUTOSAR網絡管理規(guī)范及FlexRay總線特點的基礎上,針對AUTOSAR網絡管理在故障處理和新節(jié)點加入處理方面的不足,研究節(jié)點狀態(tài)轉換條件,通過發(fā)送添加故障檢測位的網絡管理數(shù)據協(xié)議單元,實現(xiàn)故障檢測;通過節(jié)點發(fā)送帶標志位的Repeat消息,以避免新節(jié)點加入后,總線一直存在Repeat消息發(fā)送。最后采用CANoe軟件進行仿真,驗證該方法的可行性。
車載網絡;FlexRay;網絡管理;AUTOSAR;狀態(tài)轉換
吳祥
合肥工業(yè)大學機械與汽車工程學院碩士研究生在讀,主要研究方向為汽車總線網絡管理,已發(fā)表文章《Reliability Analysis and Improvement of OSEK Automotive Network Management》。
隨著人們對汽車信息化和智能化的要求越來越高,大量的電控單元(ECU)由汽車網絡連接在一起被應用到汽車工業(yè)領域,構成一個安全關鍵系統(tǒng)。由于汽車電子系統(tǒng)中ECU數(shù)目越來越多,各個單元出現(xiàn)通信故障的可能性越來越大,網絡管理(Network Management,NM)通過實時監(jiān)控各單元工作狀態(tài),來保障網絡消息傳輸?shù)目煽啃院桶踩裕?-3]。
FlexRay總線具有通信速率高、實時性好、容錯性強,以及較為靈活的網絡配置等優(yōu)點[4-5],極有可能成為未來車載通信網絡的標準。目前對FlexRay網絡管理的研究主要集中在網絡通信協(xié)議實現(xiàn)方面,而對網絡管理機制改進方面研究較為缺乏,文獻[6]對車載FlexRay網絡管理策略進行了初步的研究;文獻[7]將OSKE直接網絡管理協(xié)議數(shù)據單元(NMPDU)置于FlexRay網絡動態(tài)段中進行傳輸;文獻[8]根據FlexRay靜態(tài)段和動態(tài)段通信的特點,研究基于AUTOSAR NM動態(tài)調度策略來實現(xiàn)對NMPDU的靈活調度。
本文在深入研究應用于FlexRay的AUTOSAR網絡管理的基礎上,從研究節(jié)點狀態(tài)轉換入手,針對AUTOSAR網絡管理機制的不足,提出一種改進的方法,最后在CANoe實驗平臺上對本方案進行仿真驗證。
1.1FlexRay通信機制
FlexRay是一種高性能的串行總線,當兩個通道上傳輸不同數(shù)據時,其理論最大傳輸速率可到達20 Mbit/s。FlexRay通信周期是網絡訪問時序的基本單位,通信周期由靜態(tài)段、動態(tài)段、符號窗口、網絡空閑時間4個部分組成,其中動態(tài)段采用事件觸發(fā)的柔性時分多址(Flexible Time Division Multiple Access)仲裁機制,靜態(tài)段采用時間觸發(fā)的時分多址(Time Division Multiple Access)仲裁機制[9-10]。FlexRay數(shù)據幀中,可以將靜態(tài)幀幀頭中的負載指示位設置為1,表明該幀負載段0~12字節(jié)作為網絡管理向量來使用。
★一、安全關鍵汽車網絡防危性調度設計方法研究,教育部留學回國人員科研啟動基金(編號:[2013]693);
★二、安全關鍵汽車ECU高可靠網絡集成方法及智能集成平臺研究,中央高?;究蒲袠I(yè)務費專項資金(編號:2013HGCH0014);
★三、基于時間隔離的安全關鍵控制網絡防危調度研究,國家自然科學基金(編號:61202096);
★四、支持直接網絡管理的汽車CAN網絡技術及其智能ECU開發(fā),安徽省省級高等學校自然科學研究項目(編號:KJ2012A226)。
1.2AUTOSAR NM在FlexRay中的應用
AUTOSAR NM采用的是分布式直接網絡管理,協(xié)調算法是基于周期性發(fā)送或接收NMPDU,每個節(jié)點通過收發(fā)NMPDU來獨立進行網絡管理活動[11]。
AUTOSAR NM在不同的總線中有不同的實現(xiàn)方案,基于FlexRay總線的AUTOSAR NM狀態(tài)機主要包括Bus Sleep Mode、Synchronize Mode和Network Mode三種模式,由于FlexRay是以通信周期作為訪問時序的基本單位,所有節(jié)點必須與通信周期同步后才能發(fā)送數(shù)據幀, AUTOSAR NM針對該特點添加了FlexRay總線所特有Synchronize Mode[12]。在Network Mode下,分為Repeat Message、Normal Operation和Ready Sleep三種狀態(tài)。節(jié)點只有在Repeat Message、Normal Operation狀態(tài)下才能發(fā)送網絡管理Vote消息(NMVote PDU)和網絡管理數(shù)據消息(NM-Date PDU)以保持整個網絡管理系統(tǒng)喚醒[13]。
為了確保FlexRay NM狀態(tài)轉換與FlexRay通信周期同步,每個狀態(tài)或者模式間的轉換都是在兩個網絡管理重復周期邊界期間進行。AUTOSAR NM狀態(tài)機轉化條件及過程如圖1所示:1)NM初始化;2)節(jié)點網絡請求;3)節(jié)點同步完成,重復周期結束,進入Repeat Message狀態(tài),啟動Repeat消息定時器Trm;4)Trm釋放且節(jié)點有網絡請求;5)收到Repeat消息或者自身請求進入Repeat Message狀態(tài);6)節(jié)點無網絡請求,無發(fā)送Repeat消息請求,進入Ready Sleep狀態(tài)后,啟動準備睡眠周期計數(shù)(Readysleepcnt);7)Readysleepcnt數(shù)值大于0, 有網絡請求無Repeat消息請求;8)Readysleepcnt數(shù)值大于0,有Repeat消息請求;9)節(jié)點無網絡請求,無發(fā)送Repeat消息請求,進入Ready Sleep狀態(tài)后,啟動Readysleepcnt;10)周期計數(shù)器數(shù)值小于1,無網絡請求和Repeat消息請求;11)關閉網絡管理系統(tǒng)。
為了實現(xiàn)節(jié)點監(jiān)控功能和同步狀態(tài)轉換,在FlexRay的AUTOSAR Nm中定義以下幾個定時器和計數(shù)器,如表1所示:
表1 定時器和計數(shù)器說明
2.1AUTOSAR NM機制缺陷
車載網絡節(jié)點在長時間運行的過程中,可能會發(fā)生故障,無法正常發(fā)送或接受網絡管理消息。對圖1進行分析后,發(fā)現(xiàn)存在以下不足:1)節(jié)點處于Ready Sleep狀態(tài)時,等待其他節(jié)點協(xié)同進入Bus Sleep Mode,不發(fā)送網絡管理消息。如果節(jié)點出現(xiàn)故障,其他節(jié)點無法發(fā)現(xiàn),離開Ready Sleep狀態(tài)后,認為該故障節(jié)點進入Bus Sleep Mode。2)每個節(jié)點僅僅在進入Repeat Message狀態(tài)后,啟動Trm。當新節(jié)點加入網絡后,新節(jié)點與網絡上現(xiàn)有的節(jié)點不是同時進入Repeat Message狀態(tài),導致所有節(jié)點無法同步離開Repeat Message狀態(tài),根據Trm觸發(fā)的條件,網絡上一直會存在Repeat消息。
2.2支持故障檢測的睡眠機制
節(jié)點進入Ready Sleep狀態(tài)后,不發(fā)送任何網絡管理消息,與該節(jié)點故障無法正常發(fā)送網絡消息表現(xiàn)一致,導致無法區(qū)分當前節(jié)點處于故障狀態(tài)還是Ready Sleep狀態(tài),當Readysleepcnt<1時,默認進入Bus Sleep Mode。
圖2為改進該睡眠機制,在不破壞其協(xié)同睡眠的基礎上,本文添加故障檢測機制,當Readysleepcnt=1,所有節(jié)點在該重復周期內發(fā)送故障檢測位的網絡管理消息,每個節(jié)點收到該消息后,標記發(fā)送節(jié)點處于Ready Sleep狀態(tài);當所有節(jié)點處于正常狀態(tài),同時Readysleepcnt<1時,所有節(jié)點同步進入Bus Sleep Mode;如果在該重復周期內,存在節(jié)點沒有發(fā)送包含故障檢測位的網絡管理消息,則停止Readysleepcnt計數(shù)器,將它標記為可能故障節(jié)點,在下個重復周期所有節(jié)點繼續(xù)發(fā)送故障檢測位的網絡管理消息,如可能故障節(jié)點還未發(fā)送該消息,則將其判定為故障節(jié)點,并通知應用層該節(jié)點故障。
由于在包含故障檢測位的網絡管理消息中,Vote位為0,無法使整個網絡保持喚醒,在保證網絡所有節(jié)點協(xié)同睡眠的同時,也對故障節(jié)點進行檢測。
2.3Repeat消息定時器觸發(fā)條件改進
新節(jié)點加入該網絡進行網絡管理,與網絡上其他節(jié)點同步完成后,進入Repeat Message狀態(tài),啟動Trm,發(fā)送Repeat消息。由于處于其他狀態(tài)的節(jié)點收到新加入節(jié)點的Repeat消息后,將在下個重復周期進入Repeat Message狀態(tài),因為所有節(jié)點Trm定時時間相同,導致新加入節(jié)點與其他節(jié)點無法同步離開Repeat Message狀態(tài),時間相隔一個重復周期,整個網絡一直存在節(jié)點處于Repeat Message狀態(tài),網絡一直保持喚醒。
為了確保所有節(jié)點在Trm定時器釋放后,在同一個重復周期結束時離開Repeat Message狀態(tài)。本文將每個節(jié)點進入Repeat Message狀態(tài)后第一次發(fā)送的Repeat消息中添加標志位,處于Repeat Message狀態(tài)的其他節(jié)點收到攜帶標志位的Repeat消息后,重啟Trm。一個Voting周期結束后,節(jié)點清除該標志位,在之后的FlexRay周期中,發(fā)送普通的Repeat消息。所有節(jié)點的Trm定時器在接收最后一個帶標志位Repeat消息開始計時,當Trm釋放且重復周期結束,所有節(jié)點同步離開Repeat Message狀態(tài)。其實現(xiàn)過程,如圖3所示:
2.4FlexRay NMPDU設計針對FlexRay總線靜態(tài)段和動態(tài)段的特點,應用于FlexRay的AUTOSAR NM支持NM-Vote PDU和NM-Date PDU單獨發(fā)送,也支持NM-Vote PDU和NM-Date PDU結合一起發(fā)送。同時用戶不僅可以根據自己需求選擇NMPDU的格式,而且也能選擇NMPUD在靜態(tài)段或動態(tài)段發(fā)送,具有較高的靈活性。FlexRay NM-Vote PDU和FlexRay NM-Vote PDU格式如圖4所示,其中NM-Vote PDU為一個字節(jié),僅最高位有效,NM-Date PDU長度可配置為1~8字節(jié)。
本文采用NM-Vote PDU和NM-Date PDU結合的方式,整個NMPDU只有一個字節(jié)。因為設計過程中沒有用于網絡管理的用戶數(shù)據,而且如果將NMPDU置于靜態(tài)段發(fā)送,其源節(jié)點ID可以省略。采用這種方式,優(yōu)點在于利用了FlexRay協(xié)議中的網絡管理向量,將NMPDU置于靜態(tài)幀負載段的的第一個字節(jié)中,同節(jié)點的應用數(shù)據合并在一起發(fā)送,節(jié)點可以通過讀取網絡管理寄存器,快速識別節(jié)點網絡請求,不僅可以提高網絡管理消息的更新速率,而且可以避免帶寬的浪費。
相比原來的AUTOSAR NM機制,改進后添加了故障檢測位和首次發(fā)送Repeat消息標志位,對NM-Date PDU中的控制位向量(Control Bit Vector)重新設計,其結構如圖5所示:
圖5中,Vote位用來保持總線喚醒;Cluster Request表示節(jié)點是否有網絡請求;Active Wakeup表示當前網絡是否處于喚醒狀態(tài)或在初始化后是否負責喚醒這個網絡;RptMsg Request表示節(jié)點是否請求發(fā)送Repeat消息。
新添加的兩位中,F(xiàn)ault Detection位:當Readysleepcnt=1時,該位自動置為1,其他位都為0,表明整個網絡在Ready Sleep狀態(tài)中進行故障故障檢測;當Readysleepcnt不等于1時,該位置0。First RptMsg位:當節(jié)點剛剛進入Repeat Message狀態(tài)的第一個Voting周期內,該位置為1,其他FlexRay周期內,該位置0。
為驗證上述AUTOSAR NM在FlexRay網絡中改進方案的可行性,采用Vector公司的CANoe.FlexRay和DaVinci Network Designer軟件構建FlexRay仿真實驗系統(tǒng)。如圖6所示,在DaVinci Network Designer配置FlexRay網絡參數(shù)導出XML文件,導入CANoe中,一共創(chuàng)建5個節(jié)點,通過節(jié)點在總線上發(fā)送的網絡管理消息,對節(jié)點正常通信、故障檢測、新節(jié)點加入三個狀態(tài)進行仿真。
為實現(xiàn)AUTOSAR網絡管理,在CANoe的仿真過程中,通過設置按鍵觸發(fā)的方式來實現(xiàn)相應的功能,其中按鍵‘A’表示,模擬ABS節(jié)點發(fā)生故障,無法正常通信;按鍵‘N’表示,模擬New_Join節(jié)點加入網絡通信。
圖7為網絡管理正常通信,將New_Join節(jié)點禁用后,Gateway、ABS,ESP,AWD四個節(jié)點初始化一段時間后,進入Normal Operation狀態(tài)。
圖8為在Ready Sleep狀態(tài)下節(jié)點故障檢測。當四個節(jié)點進入Ready Sleep狀態(tài),按下按鍵‘A’,ABS節(jié)點模擬故障,退出網絡管理。當Readysleepcnt=1,其他節(jié)點發(fā)送帶故障檢測位的網絡管理消息,根據上文所述方法,其他節(jié)點判定ABS節(jié)點故障,并在Write窗口中顯示。
圖9為改進后的新節(jié)點加入過程。按下按鍵‘N’,New_Join節(jié)點加入網絡,此時ABS節(jié)點處于Ready Sleep狀態(tài),其他三個節(jié)點處于Normal Operation狀態(tài),所有節(jié)點進入Repeat Message狀態(tài)后,第一次發(fā)送的Repeat消息帶有標志位,節(jié)點根據改進后的節(jié)點加入機制進行網絡管理狀態(tài)轉換。
AUTOSAR網絡管理在保障車載網絡的安全性和可靠性的同時,網絡開銷小,通用性強,將成為車載網絡主流的網絡管理標準,本文通過在CANoe中對改進后的故障檢測和新節(jié)點加入處理機制進行仿真驗證,車載網絡能正常良好的通信,表明該方案能實現(xiàn)設計功能。為基于AUTOSAR的FlexRay車載網絡管理研究奠定了基礎。
[1]劉源楊, 李楊, 喬昕等. 一種改進的電動汽車網絡管理方法與實現(xiàn)[J]. 計算機系統(tǒng)應用, 2013, 22(6) :145-148.
[2]劉澤, 黃智, 王敏等. 基于OSEK/VDX NM的汽車舒適性控制系統(tǒng)網絡管理的研究[J]. 汽車工程,2013, 35(9) : 145-148.
[3]王剛, 榮健, 丁天寶. FlexRay網絡靜態(tài)段時間參數(shù)優(yōu)化[J]. 西南交通大學學報, 2012, 47(2) : 318-324.
[4]顧嫣, 張鳳登. FlexRay動態(tài)段優(yōu)化調度算法研究[J]. 自動化儀表, 2009, 30(12) : 25-29.
[5]張建軍, 謝夢如, 張本宏等. FlexRay總線靜態(tài)段的動態(tài)分配調度方法[J]. 電子測量與儀器學報, 2014,28(6) : 604-609.
[6]袁昊昀, 陳覺曉, 孫澤昌. 車載FlexRay網絡管理策略的初步研究[J]. 單片機與嵌入式系統(tǒng)應用, 2008,25(5) : 20-21.
[7]張建軍, 田曉, 張本宏等. OSEK NM機制在FlexRay網絡中的研究與實現(xiàn)[J]. 電子測量與儀器學報, 2012, 26(12) : 1037-1042.
[8]姚江云, 孔峰, 吳方圓. FlexRay車載網絡管理數(shù)據調度的研究[J]. 自動化儀表, 2011, (12) : 43-46.
[9]韓強, 牛德青, 李林珊等. FlexRay總線動態(tài)段傳輸延遲概率模型[J]. 兵工自動化, 2011, 30(2) : 33-36.
[10]王剛, 榮健, 丁天寶. FlexRay網絡靜態(tài)段時間參數(shù)優(yōu)化[J]. 西南交通大學學報, 2012, 47(2) : 318-324.
[11]王躍飛, 張純鵬, 張利等. 基于最小時間碎片的汽車FlexRay網絡設計[J]. 電子測量與儀器學報,2014, 28(3) : 299-305.
[12]張建軍, 于萍, 張本宏等. 一種改進的AUTOSAR車載網絡管理方法[J]. 電子測量與儀器學報, 2013, 27(11) : 1093-1098.
[13]Specification of FlexRay Network Management V5.1.0 R4.1 Rev 2[S]. Germany: AUTOSAR Parnership,Org, 2013.
[14]Specification of Network Management Interface V3.2.0 R4.1 Rev 2[S]. Germany: AUTOSAR Parnership,Org, 2013.
專家推薦
張凡武:
由于AUTOSAR和FlexRay的復雜性,目前國內針對AUTOSAR和FlexRay的研究和應用,尚處于起步階段。本文在研究AUTOSAR網絡管理規(guī)范及FlexRay總線特點的基礎上,針對AUTOSAR網絡管理在故障處理和新節(jié)點加入處理方面的不足,研究節(jié)點狀態(tài)轉換條件,提出了改進措施,避免新節(jié)點加入后,網絡異常。本文所提出的方案,可為基于AUTOSAR的FlexRay車載網絡管理設計提供參考,特推薦發(fā)表。
Research of Vehicle FlexRay Network Management Based on AUTOSAR Specification
WU Xiang1, WANG Wei2, XU Dong-hui1.2
(1.School of Mechanical and Automotive Engineering, Hefei University of Technology, Hefei 230009,China; 2.Anhui Jianghuai Automobile CO., Ltd. Technical Center, Hefei 230601, China)
In order to ensure the reliability and safety of the FlexRay bus communication network,based on the study of AUTOSAR network management and the characteristics of FlexRay, aiming at the shortage of AUTOSAR network management in the new node’s joining process and the fault handling, we improve conditions on the node state transition. Fault detection is realized by sending adding fault detection of network management protocol data unit; In the time of the new node’s joining, the flag bit Repeat Message is sent to avoid sending the Repeat Message all the time. Finally,CANoe simulation software is used to verify the feasibility of the method.
vehicle network; FlexRay; network management; AUTOSAR; state transition
TP393
A
1005-2550(2015)03-0032-06
10.3969/j.issn.1005-2550.2015.03.007
2015-03-04