《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > OSEK/VDX直接网络管理一致测试方法设计
OSEK/VDX直接网络管理一致测试方法设计
来源:电子技术应用2012年第4期
程安宇1,2, 苗艳强1, 蔡林沁1, 金 辉1
1. 重庆邮电大学 自动化学院,重庆 400065; 2. 武汉大学 电子信息学院, 湖北 武汉430072
摘要: 在深入研究OSEK/VDX网络管理规范的基础上,提出一种针对OSEK直接网络管理的测试方法。根据OSEK NM规范设计直接网络管理测试架构以及测试方案,定义测试报文的数据结构。最后以CANoe总线分析测试软件为基础搭建测试平台,以OSEK直接网络管理的睡眠过程为例进行一致性测试。测试结果表明,该方法能有效地检测OSEK直接网络管理功能与OSEK NM规范的一致性。
中圖分類號: TP311
文獻標識碼: A
文章編號: 0258-7998(2012)04-0126-04
Design of OSEK/VDX direct network management conformance test methods
Cheng Anyu1,2, Miao Yanqiang1, Cai Linqin1, Jin Hui1
1. Automation Institute, Chongqing University of Posts and Telecommunications, Chongqing 400065,China; 2. School of Electronic Information, WuHan University, Wuhan 430072, China
Abstract: A test method of the OSEK direct network management has been proposed after in-depth study of OSEK/VDX network management specification. According to OSEK NM specification, test architecture and test solutions of direct network management are designed, and structure of test message is defined. Finally, build the test platform based on CANoe bus analysis testing software, and take the sleeping process of OSEK direct network management as an example to do the conformance test. Test result shows that the method can effectively detect the consistency between the OSEK direct network management functions and the OSEK NM specification.
Key words : OSEK/VDX network management; conformance test; CAN bus; CANoe

    隨著近年汽車產業的快速發展,電子產品廣泛應用于汽車控制,如發動機控制系統、轉向系統、制動系統等裝置中都采用電子控制單元ECU(Electronic Control Unit)[1]。一些高檔的轎車大約有70個ECU,ECU之間傳遞的信息超過2500條[2]。為了使ECU之間實現信息共享,誕生了在汽車控制系統中應用的互聯網絡,即車載網絡。隨著汽車中電子單元的增加,網絡越來越復雜,ECU在通信時,可能由于其他節點未上線或出現故障而造成信息丟失,所以需要專門的網絡管理組件對車載網絡進行管理,以達到車載網絡信息傳輸準確性、安全性的目的。

    OSEK/VDX (Open Systems and the Corresponding Interfaces for Automotive Electronics/Vehicle Distributed eXecutive) 是歐洲主要的汽車廠商和研究機構聯合提出的一種基于汽車電子開放式系統及其接口的軟件標準。鑒于汽車網絡的安全性和可靠性,OSEK/VDX中的網絡管理NM(Network Management)規范提供了標準的管理策略,通過接口和服務來實現汽車網絡中ECU節點的監控和管理[3]。OSEK/VDX規范對網絡管理提出直接網絡管理和間接網絡管理兩種實現機制。
    OSEK/VDX規范是通過自然語言和圖表形式進行描述的,程序開發人員在根據規范編寫應用程序時,可能因為對規范的不同理解、編寫代碼時的失誤等原因,導致應用程序與規范的不一致。對于安全性有極高要求的汽車電子系統而言,這種現象是不允許的。因此,有必要通過一致性測試來判斷開發的應用程序是否符合預定規范。近年來,學術界對OSEK OS(OSEK Operation System)的一致性測試方法提出了一些解決方案。參考文獻[4]提出了一種OSEK OS服務調用規范的一致性測試方法,參考文獻[5]設計了一種OSEK OS一致性測試用例生成的方法,但是很少對OSEK NM的一致性測試做相應研究。
    本文在深入研究OSEK網絡管理規范的基礎上提出了一種OSEK NM一致性測試方法,設計出一種基于直接網絡管理功能的測試架構,并定義了測試方案、測試報文的數據結構和測試流程。
1 OSEK直接網絡管理基本原理
     在OSEK NM規范中,直接網絡管理是一種自組織形式網絡管理。網絡中節點之間沒有主從之分,每個節點都被網絡中其他的節點監控,同時該節點也監控網絡中的其他節點。直接網絡管理通過邏輯環對車載網絡進行管理與監控,如圖1所示為直接網絡管理邏輯環的體系結構。連接在總線上的A、B、C 3個節點都擁有自己唯一的網絡管理身份標識ID,且IDA<IDB<IDC,根據ID的大小,以A&rarr;B&rarr;C&rarr;A的順序傳輸特定的網絡管理報文,形成一個虛擬邏輯環。在邏輯環中連接的所有節點按照邏輯環規定的方向發送特定的網絡管理報文,實現直接網絡管理功能。

    圖2所示為直接網絡管理的狀態模型。通過網絡管理服務的調用和網絡通信狀況的改變,引起網絡管理狀態的遷移,如調用StartNM()服務可啟動網絡管理功能,使節點的狀態從NMOff轉為NMOn。

    在直接網絡管理中,為了滿足通信和網絡管理的需要,網絡管理協議數據單元NMPDU(NM Protocol Data Unit)包括地址域、控制域和數據域。圖3是網絡管理協議數據單元的基本格式。其中,Source ID表示網絡管理報文的源地址,即發送該網絡管理報文的節點地址;

    Destination ID表示網絡管理報文的目標地址,即接收該網絡管理報文的節點地址;Option Code表示操作碼,用來設置網絡管理報文的類型,其有Ring、Alive、LimpHome三種。    Data表示數據場,用于定義網絡管理報文中的附加信息。
    直接網絡管理中各類型報文的作用:
    (1)Ring報文:一個基本的監視報文,當網絡狀態為正常狀態時,網絡節點在定時器的觸發下,根據節點ID的大小順序地傳送Ring報文。
    (2)Alive報文:一個在非正常狀態下的特殊報文,當一個新的節點要加入網絡時,節點向網絡中發送Alive報文。
    (3)LimpHome報文:當接收/發送錯誤計數器超過其閾值或總線出現嚴重錯誤時,節點進入NMLimpHome狀態,并周期地發送LimpHome報文。
2 OSEK NM的一致性測試方法
   OSEK NM的一致性測試是一種功能性測試,在一致性測試中,測試者不必關心被測IUT(Implementation Under Test)內部的具體實現,只需關心其表現出來的外部行為[6-7]。
2.1 測試的體系結構
    根據OSEK NM規范,將網絡管理的測試體系結構分為兩個部分,即被測系統及測試系統。
    (1)被測系統,是IUT的載體,在測試系統中實現網絡管理功能。
    (2)測試系統,用來執行測試案例程序,該設備通過網絡跟被測設備相互通信。
    整個網絡管理測試方案分為兩個子塊,即測試管理模塊和輔助測試模塊。測試管理模塊由測試案例組成,在測試系統中運行;輔助測試模塊作為被測系統的應用程序在被測設備中運行,用來配合測試管理模塊完成網絡管理功能的測試。在網絡管理功能測試中,輔助測試模塊起到兩方面的作用,一方面用來響應測試系統的發來的請求,另一方面作為被測系統的應用程序,通過調用NM API函數,控制IUT的運行模式,并收集被測系統中IUT當前的狀態信息,返回給測試系統。
     測試管理模塊和輔助測試模塊之間的數據信息交換通過應用報文完成,該報文為測試管理協議數據單元(TM_PDU)。該方式下,2個測試模塊之間的通信獨立于底層網絡管理通信協議,不影響網絡管理功能。
   在OSEK 直接網絡管理中,網絡出錯處理機制是很重要的一部分。根據OSEK NM規范,OSEK NM可以處理一些常見的網絡錯誤,如通信超時、BusOff等,所以本文在網絡管理功能測試系統中增加了模擬和制造網絡錯誤的模塊。
    綜上所述,在直接網絡管理的測試架構中,測試系統必須具備以下功能:
  (1)測試系統必須具備網絡管理功能,發送網絡管理報文,并能模擬一個或多個網絡管理節點的網絡關系行為。
  (2)測試系統能接受并分析NMPDU,判斷被測系統中的IUT是否符合網絡管理規范,即帶有OSEK 直接網絡管理功能。
  (3)測試系統能夠通過測試設備中一種特定的測試軟件編程來控制相應的硬件設備,使總線出現特定的網絡故障(如Vector公司的CAN總線干擾儀CANstress)。
2.2 測試方案和測試管理報文的定義
  在直接網絡管理模塊正常工作時,ECU應用程序通過調用NM API接口函數來控制OSEK NM的相關動作,如功能開啟、關閉及睡眠等。而在直接網絡管理的測試過程中,整個測試系統必須能夠模擬這一過程。為了實現這一功能,在測試系統與被測系統之間有兩種類型的報文,即直接網絡管理報文和測試管理報文。測試管理報文是測試管理模塊和輔助測試模塊之間的數據通道,使測試管理模塊能夠間接控制IUT,從而實現測試功能。圖4所示為測試管理模塊和輔助測試模塊之間的兩種通信模式。
    測試系統用圖4(a)所示的通信模式獲取被測系統中
NM模塊當前的狀態以及配置信息,用圖4(b)所示的通信模式控制輔助測試模塊調用NM服務函數,圖中虛線箭頭表示根據需求服務的返回值可以選擇性的傳回測試系統。

 

 

    測試管理報文的格式有apiCall和apiStatus兩種:
  (1)apiCall:用來請求輔助測試模塊調用NM API,控制OSEK NM實現特定的動作。報文名定義形式為CallXXX(其中&ldquo;XXX&rdquo;表示NM API名稱,如:StartNM);
    (2)apiStatus:將調用NM API函數的返回值和當前NM的狀態信息返回給測試系統,相應的報文有APIStatus,NetStatusMsg等。
    測試管理報文兩種格式的數據單元映射到CAN報文的數據幀上,如表1所示。其中,報文名編號為不同功能測試管理報文的編號;服務編號為NM API編號,用以標識該報文是控制某個API的調用或對某個API的響應;目的ID為標識該測試管理報文要發送到的目標網絡管理節點;報文數據單元為apiStatus報文專有數據單元,用來存儲API函數調用的返回值或當前網絡管理單元的配置和狀態信息。

2.3 測試的流程
    OSEK NM測試可分為以下步驟:
    (1)根據OSEK NM規范,抽象出需要測試的內容。如從NMNormal&rarr;NMBusSleep轉換過程中,網絡管理內部狀態的變化。
    (2)根據測試內容和測試方法,將直接網絡管理功能分為一個或多個功能模塊,針對各個功能模塊設計相應的測試用例。
    (3)在測試系統中執行測試用例,并記錄執行過程中測試系統獲取的網絡管理狀態數據。
    (4)將測試結果數據與OSEK NM管理協議做對比,分析被測功能模塊是否與協議一致,并分析不一致的可能原因。
3 測試方法驗證
3.1 測試用例設計

    本文以網絡管理狀態從NMNormal轉向NMBusSleep為例進行測試。測試用例分為三個部分,即初始狀態、測試步驟和期望結果。下面給出測試用例的詳細內容:
  (1)初始狀態
  ①操作模式為主動模式(NMActive);
  ②本地NM設置networkstatus.bussleep=0;
  ③網絡管理狀態為NMNormal;
  ④測試系統狀態與被測節點一致,在整個網絡中已建立邏輯環,并正常工作。
  (2)測試步驟
  ①測試設備發送CallGotoMode(Sleep)報文;
  ②當接收接下來IUT發來的第一條報文后使測試系統中其他的虛擬節點調用GotoMode(Sleep)服務;
  ③當接收到IUT發來的第二條報文后,測試設備發送CallGetStatus報文,等待NetStatusMsg報文的響應,讀取被測節點中IUT當前的狀態;
     ④等待TwaitBusSleep時間段后,再次發送CallGetStatus報文,等待NetStatusMsg報文的響應,讀取被測節點中IUT當前的狀態。
  (3)期望結果
  ①IUT發送的第一條網絡管理報文中,sleep.ind位被置位;
  ②IUT發送的第二條網絡管理報文中,sleep.ack位被置位,且當前IUT的網絡狀態為NMTwbsNormal;
  ③接收到sleep.ack=1的報文TwaitBusSleep后節點進入NMBusSleep狀態;
  ④整個運行過程中,IUT都處于NMActive狀態。
3.2 測試平臺搭建與測試
     測試設備由裝有CANoe軟件的PC機、CANcaseXL和CANstress組成。CANoe是由Vector公司開發的網絡分析、設計和測試的專用工具,支持多種總線系統。CANcaseXL為Vector提供的新一代CAN和LIN的USB 2.0接口卡,與CANoe軟件組合使用。CANstress是CAN總線干擾儀,它可以直接串連到CAN網絡中,實現各種觸發條件與邏輯的干擾。被測設備為帶有OSEK NM功能的汽車儀表,外接12 V直流電源為汽車儀表供電。
    基于上述測試平臺進行網絡管理功能測試。首先在CANoe軟件平臺上實現3個CAN節點,并用CAPL語言對每個節點編程,實現基于OSEK 規范的直接網絡管理功能,在其中一個節點中添加測試管理功能模塊,運行測試用例,實現總體測試管理控制。汽車儀表ECU軟件中添加輔助測試程序模塊,作為儀表的應用軟件。最后,根據預先設計好的測試用例對NMNormal到NMBusSleep的狀態轉換進行一致性測試,并記錄測試結果。
3.3 測試結果
    圖5所示為直接網絡管理測試在CANoe的Trace窗口上的顯示結果。圖中對報文和數據的含義做了相應的說明。在測試系統的控制下,整個網絡進入睡眠狀態,并根據測試案例成功讀取到直接網絡管理的狀態信息。
    通過對Trace窗口中的數據進行分析可見,測試結果跟測試案例中的預期結果一致,這說明儀表節點中直接網絡管理睡眠流程符合OSEK NM規范。同時也驗證了該測試方法的正確性。

    本文提出了一種基于OSEK NM管理的一致性測試方法,并詳細敘述了測試系統的體系結構、測試方案、測試管理報文的定義,以及測試流程。最后通過對儀表節點的直接網絡管理睡眠過程的測試,說明了該方法的有效性。通過對基于OSEK規范的直接網絡管理的測試,能夠發現OSEK NM在正常工作中很難出現的錯誤,并能有效地驗證OSEK NM的正確性,對提高基于OSEK規范的直接網絡管理可靠性和穩定性有重要的作用。
參考文獻
[1] SUWATTHIKUL J, MCMURRAN R, JONES R. Adaptive OSEK network management for in-vehicle network fault detection[C]. Vehicular Electronics and Safety,2007.ICVES. IEEE International Conference. Feb. 2008
[2] ALBERT A. Comparison of event-triggered and time-triggered concepts with regard to distributed control systems[C].Embedded World 2004, 2004.
[3] SEK Network Management-Concept and Application Programming Interface.V2.5.3[S].http://www.osek-vdx.org,2004.
[4] 李銀國,葉家盛,蔣建春. OSEK/VDX OS服務調用的規范一致性檢測方法[J].重慶郵電大學學報:自然科學版,2010,22(6):786-790.
[5] 李銳,王三宏,范德全,等. OSEK操作系統一致性測試用例的生成[J]. 計算機工程,2011,37(9):54-56.
[6] 朱振華,許毅平,周曼麗. 網絡協議測試生成方法綜述[J]. 計算機工程與應用, 2005(15):172-175.
[7] 邢熠,葉新銘,謝高崗.網絡協議測試的符號化一致性關系研究[J]. 計算機工程與應用, 2008,44(29):11-16.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美精品一区在线| 国产精品永久免费视频| 日本国产欧美一区二区三区| 国产一区二区视频在线免费观看| 欧美精品亚洲精品| 精品久久久三级| 国产精品视频网站| 日韩无套无码精品| 欧美亚洲激情视频| 国产素人在线观看| 青青久久av北条麻妃黑人| 在线不卡视频一区二区| 国产欧美精品日韩精品| 国产精品美女xx| 国产精品国产三级国产aⅴ浪潮| 亚洲欧洲国产精品久久| 日韩暖暖在线视频| 欧美大片va欧美在线播放| 亚洲精品第一区二区三区| 日韩一区二区久久久| 久久国产色av| 亚洲伊人久久大香线蕉av| 国产亚洲欧美一区二区三区| 日韩人妻一区二区三区蜜桃视频| 日韩三级在线播放| 国产精品香蕉国产| 国产精品一区免费观看| 国产精品国产亚洲精品看不卡| 久久精品午夜福利| 亚洲91精品在线观看| 久久999免费视频| 色综合久久久久久中文网| 日本精品一区二区三区在线播放视频| 国产成人精品电影久久久 | 亚洲高清在线观看一区| 日韩网址在线观看| 91久久国产综合久久91精品网站 | 国产精品香蕉国产| 国产成人精品在线播放| 久久久亚洲精品无码| 国产精品一区电影|