吳祥,王瑋,許東輝.
(1.合肥工業大學機械與汽車工程學院,合肥 230009;2.安徽江淮汽車股份有限公司技術中心,合肥 230601)
基于AUTOSAR規范的車載FlexRay Nm研究★
吳祥1,王瑋2,許東輝1.2
(1.合肥工業大學機械與汽車工程學院,合肥 230009;2.安徽江淮汽車股份有限公司技術中心,合肥 230601)
為確保汽車總線FlexRay網絡通信的可靠性和安全性,在研究AUTOSAR網絡管理規范及FlexRay總線特點的基礎上,針對AUTOSAR網絡管理在故障處理和新節點加入處理方面的不足,研究節點狀態轉換條件,通過發送添加故障檢測位的網絡管理數據協議單元,實現故障檢測;通過節點發送帶標志位的Repeat消息,以避免新節點加入后,總線一直存在Repeat消息發送。最后采用CANoe軟件進行仿真,驗證該方法的可行性。
車載網絡;FlexRay;網絡管理;AUTOSAR;狀態轉換
吳祥
合肥工業大學機械與汽車工程學院碩士研究生在讀,主要研究方向為汽車總線網絡管理,已發表文章《Reliability Analysis and Improvement of OSEK Automotive Network Management》。
隨著人們對汽車信息化和智能化的要求越來越高,大量的電控單元(ECU)由汽車網絡連接在一起被應用到汽車工業領域,構成一個安全關鍵系統。由于汽車電子系統中ECU數目越來越多,各個單元出現通信故障的可能性越來越大,網絡管理(Network Management,NM)通過實時監控各單元工作狀態,來保障網絡消息傳輸的可靠性和安全性[1-3]。
FlexRay總線具有通信速率高、實時性好、容錯性強,以及較為靈活的網絡配置等優點[4-5],極有可能成為未來車載通信網絡的標準。目前對FlexRay網絡管理的研究主要集中在網絡通信協議實現方面,而對網絡管理機制改進方面研究較為缺乏,文獻[6]對車載FlexRay網絡管理策略進行了初步的研究;文獻[7]將OSKE直接網絡管理協議數據單元(NMPDU)置于FlexRay網絡動態段中進行傳輸;文獻[8]根據FlexRay靜態段和動態段通信的特點,研究基于AUTOSAR NM動態調度策略來實現對NMPDU的靈活調度。
本文在深入研究應用于FlexRay的AUTOSAR網絡管理的基礎上,從研究節點狀態轉換入手,針對AUTOSAR網絡管理機制的不足,提出一種改進的方法,最后在CANoe實驗平臺上對本方案進行仿真驗證。
1.1FlexRay通信機制
FlexRay是一種高性能的串行總線,當兩個通道上傳輸不同數據時,其理論最大傳輸速率可到達20 Mbit/s。FlexRay通信周期是網絡訪問時序的基本單位,通信周期由靜態段、動態段、符號窗口、網絡空閑時間4個部分組成,其中動態段采用事件觸發的柔性時分多址(Flexible Time Division Multiple Access)仲裁機制,靜態段采用時間觸發的時分多址(Time Division Multiple Access)仲裁機制[9-10]。FlexRay數據幀中,可以將靜態幀幀頭中的負載指示位設置為1,表明該幀負載段0~12字節作為網絡管理向量來使用。
★一、安全關鍵汽車網絡防危性調度設計方法研究,教育部留學回國人員科研啟動基金(編號:[2013]693);
★二、安全關鍵汽車ECU高可靠網絡集成方法及智能集成平臺研究,中央高校基本科研業務費專項資金(編號:2013HGCH0014);
★三、基于時間隔離的安全關鍵控制網絡防危調度研究,國家自然科學基金(編號:61202096);
★四、支持直接網絡管理的汽車CAN網絡技術及其智能ECU開發,安徽省省級高等學校自然科學研究項目(編號:KJ2012A226)。
1.2AUTOSAR NM在FlexRay中的應用
AUTOSAR NM采用的是分布式直接網絡管理,協調算法是基于周期性發送或接收NMPDU,每個節點通過收發NMPDU來獨立進行網絡管理活動[11]。
AUTOSAR NM在不同的總線中有不同的實現方案,基于FlexRay總線的AUTOSAR NM狀態機主要包括Bus Sleep Mode、Synchronize Mode和Network Mode三種模式,由于FlexRay是以通信周期作為訪問時序的基本單位,所有節點必須與通信周期同步后才能發送數據幀, AUTOSAR NM針對該特點添加了FlexRay總線所特有Synchronize Mode[12]。在Network Mode下,分為Repeat Message、Normal Operation和Ready Sleep三種狀態。節點只有在Repeat Message、Normal Operation狀態下才能發送網絡管理Vote消息(NMVote PDU)和網絡管理數據消息(NM-Date PDU)以保持整個網絡管理系統喚醒[13]。
為了確保FlexRay NM狀態轉換與FlexRay通信周期同步,每個狀態或者模式間的轉換都是在兩個網絡管理重復周期邊界期間進行。AUTOSAR NM狀態機轉化條件及過程如圖1所示:1)NM初始化;2)節點網絡請求;3)節點同步完成,重復周期結束,進入Repeat Message狀態,啟動Repeat消息定時器Trm;4)Trm釋放且節點有網絡請求;5)收到Repeat消息或者自身請求進入Repeat Message狀態;6)節點無網絡請求,無發送Repeat消息請求,進入Ready Sleep狀態后,啟動準備睡眠周期計數(Readysleepcnt);7)Readysleepcnt數值大于0, 有網絡請求無Repeat消息請求;8)Readysleepcnt數值大于0,有Repeat消息請求;9)節點無網絡請求,無發送Repeat消息請求,進入Ready Sleep狀態后,啟動Readysleepcnt;10)周期計數器數值小于1,無網絡請求和Repeat消息請求;11)關閉網絡管理系統。
為了實現節點監控功能和同步狀態轉換,在FlexRay的AUTOSAR Nm中定義以下幾個定時器和計數器,如表1所示:

表1 定時器和計數器說明
2.1AUTOSAR NM機制缺陷
車載網絡節點在長時間運行的過程中,可能會發生故障,無法正常發送或接受網絡管理消息。對圖1進行分析后,發現存在以下不足:1)節點處于Ready Sleep狀態時,等待其他節點協同進入Bus Sleep Mode,不發送網絡管理消息。如果節點出現故障,其他節點無法發現,離開Ready Sleep狀態后,認為該故障節點進入Bus Sleep Mode。2)每個節點僅僅在進入Repeat Message狀態后,啟動Trm。當新節點加入網絡后,新節點與網絡上現有的節點不是同時進入Repeat Message狀態,導致所有節點無法同步離開Repeat Message狀態,根據Trm觸發的條件,網絡上一直會存在Repeat消息。
2.2支持故障檢測的睡眠機制
節點進入Ready Sleep狀態后,不發送任何網絡管理消息,與該節點故障無法正常發送網絡消息表現一致,導致無法區分當前節點處于故障狀態還是Ready Sleep狀態,當Readysleepcnt<1時,默認進入Bus Sleep Mode。
圖2為改進該睡眠機制,在不破壞其協同睡眠的基礎上,本文添加故障檢測機制,當Readysleepcnt=1,所有節點在該重復周期內發送故障檢測位的網絡管理消息,每個節點收到該消息后,標記發送節點處于Ready Sleep狀態;當所有節點處于正常狀態,同時Readysleepcnt<1時,所有節點同步進入Bus Sleep Mode;如果在該重復周期內,存在節點沒有發送包含故障檢測位的網絡管理消息,則停止Readysleepcnt計數器,將它標記為可能故障節點,在下個重復周期所有節點繼續發送故障檢測位的網絡管理消息,如可能故障節點還未發送該消息,則將其判定為故障節點,并通知應用層該節點故障。
由于在包含故障檢測位的網絡管理消息中,Vote位為0,無法使整個網絡保持喚醒,在保證網絡所有節點協同睡眠的同時,也對故障節點進行檢測。
2.3Repeat消息定時器觸發條件改進
新節點加入該網絡進行網絡管理,與網絡上其他節點同步完成后,進入Repeat Message狀態,啟動Trm,發送Repeat消息。由于處于其他狀態的節點收到新加入節點的Repeat消息后,將在下個重復周期進入Repeat Message狀態,因為所有節點Trm定時時間相同,導致新加入節點與其他節點無法同步離開Repeat Message狀態,時間相隔一個重復周期,整個網絡一直存在節點處于Repeat Message狀態,網絡一直保持喚醒。
為了確保所有節點在Trm定時器釋放后,在同一個重復周期結束時離開Repeat Message狀態。本文將每個節點進入Repeat Message狀態后第一次發送的Repeat消息中添加標志位,處于Repeat Message狀態的其他節點收到攜帶標志位的Repeat消息后,重啟Trm。一個Voting周期結束后,節點清除該標志位,在之后的FlexRay周期中,發送普通的Repeat消息。所有節點的Trm定時器在接收最后一個帶標志位Repeat消息開始計時,當Trm釋放且重復周期結束,所有節點同步離開Repeat Message狀態。其實現過程,如圖3所示:
2.4FlexRay NMPDU設計針對FlexRay總線靜態段和動態段的特點,應用于FlexRay的AUTOSAR NM支持NM-Vote PDU和NM-Date PDU單獨發送,也支持NM-Vote PDU和NM-Date PDU結合一起發送。同時用戶不僅可以根據自己需求選擇NMPDU的格式,而且也能選擇NMPUD在靜態段或動態段發送,具有較高的靈活性。FlexRay NM-Vote PDU和FlexRay NM-Vote PDU格式如圖4所示,其中NM-Vote PDU為一個字節,僅最高位有效,NM-Date PDU長度可配置為1~8字節。
本文采用NM-Vote PDU和NM-Date PDU結合的方式,整個NMPDU只有一個字節。因為設計過程中沒有用于網絡管理的用戶數據,而且如果將NMPDU置于靜態段發送,其源節點ID可以省略。采用這種方式,優點在于利用了FlexRay協議中的網絡管理向量,將NMPDU置于靜態幀負載段的的第一個字節中,同節點的應用數據合并在一起發送,節點可以通過讀取網絡管理寄存器,快速識別節點網絡請求,不僅可以提高網絡管理消息的更新速率,而且可以避免帶寬的浪費。
相比原來的AUTOSAR NM機制,改進后添加了故障檢測位和首次發送Repeat消息標志位,對NM-Date PDU中的控制位向量(Control Bit Vector)重新設計,其結構如圖5所示:
圖5中,Vote位用來保持總線喚醒;Cluster Request表示節點是否有網絡請求;Active Wakeup表示當前網絡是否處于喚醒狀態或在初始化后是否負責喚醒這個網絡;RptMsg Request表示節點是否請求發送Repeat消息。
新添加的兩位中,Fault Detection位:當Readysleepcnt=1時,該位自動置為1,其他位都為0,表明整個網絡在Ready Sleep狀態中進行故障故障檢測;當Readysleepcnt不等于1時,該位置0。First RptMsg位:當節點剛剛進入Repeat Message狀態的第一個Voting周期內,該位置為1,其他FlexRay周期內,該位置0。
為驗證上述AUTOSAR NM在FlexRay網絡中改進方案的可行性,采用Vector公司的CANoe.FlexRay和DaVinci Network Designer軟件構建FlexRay仿真實驗系統。如圖6所示,在DaVinci Network Designer配置FlexRay網絡參數導出XML文件,導入CANoe中,一共創建5個節點,通過節點在總線上發送的網絡管理消息,對節點正常通信、故障檢測、新節點加入三個狀態進行仿真。
為實現AUTOSAR網絡管理,在CANoe的仿真過程中,通過設置按鍵觸發的方式來實現相應的功能,其中按鍵‘A’表示,模擬ABS節點發生故障,無法正常通信;按鍵‘N’表示,模擬New_Join節點加入網絡通信。
圖7為網絡管理正常通信,將New_Join節點禁用后,Gateway、ABS,ESP,AWD四個節點初始化一段時間后,進入Normal Operation狀態。
圖8為在Ready Sleep狀態下節點故障檢測。當四個節點進入Ready Sleep狀態,按下按鍵‘A’,ABS節點模擬故障,退出網絡管理。當Readysleepcnt=1,其他節點發送帶故障檢測位的網絡管理消息,根據上文所述方法,其他節點判定ABS節點故障,并在Write窗口中顯示。
圖9為改進后的新節點加入過程。按下按鍵‘N’,New_Join節點加入網絡,此時ABS節點處于Ready Sleep狀態,其他三個節點處于Normal Operation狀態,所有節點進入Repeat Message狀態后,第一次發送的Repeat消息帶有標志位,節點根據改進后的節點加入機制進行網絡管理狀態轉換。
AUTOSAR網絡管理在保障車載網絡的安全性和可靠性的同時,網絡開銷小,通用性強,將成為車載網絡主流的網絡管理標準,本文通過在CANoe中對改進后的故障檢測和新節點加入處理機制進行仿真驗證,車載網絡能正常良好的通信,表明該方案能實現設計功能。為基于AUTOSAR的FlexRay車載網絡管理研究奠定了基礎。
[1]劉源楊, 李楊, 喬昕等. 一種改進的電動汽車網絡管理方法與實現[J]. 計算機系統應用, 2013, 22(6) :145-148.
[2]劉澤, 黃智, 王敏等. 基于OSEK/VDX NM的汽車舒適性控制系統網絡管理的研究[J]. 汽車工程,2013, 35(9) : 145-148.
[3]王剛, 榮健, 丁天寶. FlexRay網絡靜態段時間參數優化[J]. 西南交通大學學報, 2012, 47(2) : 318-324.
[4]顧嫣, 張鳳登. FlexRay動態段優化調度算法研究[J]. 自動化儀表, 2009, 30(12) : 25-29.
[5]張建軍, 謝夢如, 張本宏等. FlexRay總線靜態段的動態分配調度方法[J]. 電子測量與儀器學報, 2014,28(6) : 604-609.
[6]袁昊昀, 陳覺曉, 孫澤昌. 車載FlexRay網絡管理策略的初步研究[J]. 單片機與嵌入式系統應用, 2008,25(5) : 20-21.
[7]張建軍, 田曉, 張本宏等. OSEK NM機制在FlexRay網絡中的研究與實現[J]. 電子測量與儀器學報, 2012, 26(12) : 1037-1042.
[8]姚江云, 孔峰, 吳方圓. FlexRay車載網絡管理數據調度的研究[J]. 自動化儀表, 2011, (12) : 43-46.
[9]韓強, 牛德青, 李林珊等. FlexRay總線動態段傳輸延遲概率模型[J]. 兵工自動化, 2011, 30(2) : 33-36.
[10]王剛, 榮健, 丁天寶. FlexRay網絡靜態段時間參數優化[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網絡管理規范及FlexRay總線特點的基礎上,針對AUTOSAR網絡管理在故障處理和新節點加入處理方面的不足,研究節點狀態轉換條件,提出了改進措施,避免新節點加入后,網絡異常。本文所提出的方案,可為基于AUTOSAR的FlexRay車載網絡管理設計提供參考,特推薦發表。
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