色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > OSEK/VDX直接網(wǎng)絡(luò)管理一致測試方法設(shè)計

          OSEK/VDX直接網(wǎng)絡(luò)管理一致測試方法設(shè)計

          作者: 時間:2017-06-07 來源:網(wǎng)絡(luò) 收藏

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

          /VDX (Open Systems and the Corresponding Interfaces for Automotive Electronics/Vehicle Distributed eXecutive) 是歐洲主要的汽車廠商和研究機(jī)構(gòu)聯(lián)合提出的一種基于汽車電子開放式系統(tǒng)及其接口的軟件標(biāo)準(zhǔn)。鑒于汽車網(wǎng)絡(luò)的安全性和可靠性,/VDX中的NM(Network Management)規(guī)范提供了標(biāo)準(zhǔn)的管理策略,通過接口和服務(wù)來實現(xiàn)汽車網(wǎng)絡(luò)中ECU節(jié)點的監(jiān)控和管理[3]。/VDX規(guī)范對提出直接網(wǎng)絡(luò)管理和間接網(wǎng)絡(luò)管理兩種實現(xiàn)機(jī)制。

          OSEK/VDX規(guī)范是通過自然語言和圖表形式進(jìn)行描述的,程序開發(fā)人員在根據(jù)規(guī)范編寫應(yīng)用程序時,可能因為對規(guī)范的不同理解、編寫代碼時的失誤等原因,導(dǎo)致應(yīng)用程序與規(guī)范的不一致。對于安全性有極高要求的汽車電子系統(tǒng)而言,這種現(xiàn)象是不允許的。因此,有必要通過來判斷開發(fā)的應(yīng)用程序是否符合預(yù)定規(guī)范。近年來,學(xué)術(shù)界對OSEK OS(OSEK Operation System)的方法提出了一些解決方案。參考文獻(xiàn)[4]提出了一種OSEK OS服務(wù)調(diào)用規(guī)范的方法,參考文獻(xiàn)[5]設(shè)計了一種OSEK OS一致性測試用例生成的方法,但是很少對OSEK NM的一致性測試做相應(yīng)研究。

          本文在深入研究OSEK網(wǎng)絡(luò)管理規(guī)范的基礎(chǔ)上提出了一種OSEK NM一致性測試方法,設(shè)計出一種基于直接網(wǎng)絡(luò)管理功能的測試架構(gòu),并定義了測試方案、測試報文的數(shù)據(jù)結(jié)構(gòu)和測試流程。

          1 OSEK直接網(wǎng)絡(luò)管理基本原理


          在OSEK NM規(guī)范中,直接網(wǎng)絡(luò)管理是一種自組織形式網(wǎng)絡(luò)管理。網(wǎng)絡(luò)中節(jié)點之間沒有主從之分,每個節(jié)點都被網(wǎng)絡(luò)中其他的節(jié)點監(jiān)控,同時該節(jié)點也監(jiān)控網(wǎng)絡(luò)中的其他節(jié)點。直接網(wǎng)絡(luò)管理通過邏輯環(huán)對車載網(wǎng)絡(luò)進(jìn)行管理與監(jiān)控,如圖1所示為直接網(wǎng)絡(luò)管理邏輯環(huán)的體系結(jié)構(gòu)。連接在總線上的A、B、C 3個節(jié)點都擁有自己唯一的網(wǎng)絡(luò)管理身份標(biāo)識ID,且IDAIDBIDC,根據(jù)ID的大小,以A→B→C→A的順序傳輸特定的網(wǎng)絡(luò)管理報文,形成一個虛擬邏輯環(huán)。在邏輯環(huán)中連接的所有節(jié)點按照邏輯環(huán)規(guī)定的方向發(fā)送特定的網(wǎng)絡(luò)管理報文,實現(xiàn)直接網(wǎng)絡(luò)管理功能。

          圖2所示為直接網(wǎng)絡(luò)管理的狀態(tài)模型。通過網(wǎng)絡(luò)管理服務(wù)的調(diào)用和網(wǎng)絡(luò)通信狀況的改變,引起網(wǎng)絡(luò)管理狀態(tài)的遷移,如調(diào)用StartNM()服務(wù)可啟動網(wǎng)絡(luò)管理功能,使節(jié)點的狀態(tài)從NMOff轉(zhuǎn)為NMOn。

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

          Destination ID表示網(wǎng)絡(luò)管理報文的目標(biāo)地址,即接收該網(wǎng)絡(luò)管理報文的節(jié)點地址;Option Code表示操作碼,用來設(shè)置網(wǎng)絡(luò)管理報文的類型,其有Ring、Alive、LimpHome三種。 Data表示數(shù)據(jù)場,用于定義網(wǎng)絡(luò)管理報文中的附加信息。

          本文引用地址:http://cafeforensic.com/article/201706/350621.htm

          直接網(wǎng)絡(luò)管理中各類型報文的作用:

          (1)Ring報文:一個基本的監(jiān)視報文,當(dāng)網(wǎng)絡(luò)狀態(tài)為正常狀態(tài)時,網(wǎng)絡(luò)節(jié)點在定時器的觸發(fā)下,根據(jù)節(jié)點ID的大小順序地傳送Ring報文。

          (2)Alive報文:一個在非正常狀態(tài)下的特殊報文,當(dāng)一個新的節(jié)點要加入網(wǎng)絡(luò)時,節(jié)點向網(wǎng)絡(luò)中發(fā)送Alive報文。

          (3)LimpHome報文:當(dāng)接收/發(fā)送錯誤計數(shù)器超過其閾值或總線出現(xiàn)嚴(yán)重錯誤時,節(jié)點進(jìn)入NMLimpHome狀態(tài),并周期地發(fā)送LimpHome報文。

          2 OSEK NM的一致性測試方法

          OSEK NM的一致性測試是一種功能性測試,在一致性測試中,測試者不必關(guān)心被測IUT(Implementation Under Test)內(nèi)部的具體實現(xiàn),只需關(guān)心其表現(xiàn)出來的外部行為[6-7]。

          2.1 測試的體系結(jié)構(gòu)

          根據(jù)OSEK NM規(guī)范,將網(wǎng)絡(luò)管理的測試體系結(jié)構(gòu)分為兩個部分,即被測系統(tǒng)及測試系統(tǒng)。

          (1)被測系統(tǒng),是IUT的載體,在測試系統(tǒng)中實現(xiàn)網(wǎng)絡(luò)管理功能。

          (2)測試系統(tǒng),用來執(zhí)行測試案例程序,該設(shè)備通過網(wǎng)絡(luò)跟被測設(shè)備相互通信。

          整個網(wǎng)絡(luò)管理測試方案分為兩個子塊,即測試管理模塊和輔助測試模塊。測試管理模塊由測試案例組成,在測試系統(tǒng)中運行;輔助測試模塊作為被測系統(tǒng)的應(yīng)用程序在被測設(shè)備中運行,用來配合測試管理模塊完成網(wǎng)絡(luò)管理功能的測試。在網(wǎng)絡(luò)管理功能測試中,輔助測試模塊起到兩方面的作用,一方面用來響應(yīng)測試系統(tǒng)的發(fā)來的請求,另一方面作為被測系統(tǒng)的應(yīng)用程序,通過調(diào)用NM API函數(shù),控制IUT的運行模式,并收集被測系統(tǒng)中IUT當(dāng)前的狀態(tài)信息,返回給測試系統(tǒng)。

          測試管理模塊和輔助測試模塊之間的數(shù)據(jù)信息交換通過應(yīng)用報文完成,該報文為測試管理協(xié)議數(shù)據(jù)單元(TM_PDU)。該方式下,2個測試模塊之間的通信獨立于底層網(wǎng)絡(luò)管理通信協(xié)議,不影響網(wǎng)絡(luò)管理功能。

          在OSEK 直接網(wǎng)絡(luò)管理中,網(wǎng)絡(luò)出錯處理機(jī)制是很重要的一部分。根據(jù)OSEK NM規(guī)范,OSEK NM可以處理一些常見的網(wǎng)絡(luò)錯誤,如通信超時、BusOff等,所以本文在網(wǎng)絡(luò)管理功能測試系統(tǒng)中增加了模擬和制造網(wǎng)絡(luò)錯誤的模塊。

          綜上所述,在直接網(wǎng)絡(luò)管理的測試架構(gòu)中,測試系統(tǒng)必須具備以下功能:

          (1)測試系統(tǒng)必須具備網(wǎng)絡(luò)管理功能,發(fā)送網(wǎng)絡(luò)管理報文,并能模擬一個或多個網(wǎng)絡(luò)管理節(jié)點的網(wǎng)絡(luò)關(guān)系行為。

          (2)測試系統(tǒng)能接受并分析NMPDU,判斷被測系統(tǒng)中的IUT是否符合網(wǎng)絡(luò)管理規(guī)范,即帶有OSEK 直接網(wǎng)絡(luò)管理功能。

          (3)測試系統(tǒng)能夠通過測試設(shè)備中一種特定的測試軟件編程來控制相應(yīng)的硬件設(shè)備,使總線出現(xiàn)特定的網(wǎng)絡(luò)故障(如Vector公司的CAN總線干擾儀CANstress)。

          2.2 測試方案和測試管理報文的定義

          在直接網(wǎng)絡(luò)管理模塊正常工作時,ECU應(yīng)用程序通過調(diào)用NM API接口函數(shù)來控制OSEK NM的相關(guān)動作,如功能開啟、關(guān)閉及睡眠等。而在直接網(wǎng)絡(luò)管理的測試過程中,整個測試系統(tǒng)必須能夠模擬這一過程。為了實現(xiàn)這一功能,在測試系統(tǒng)與被測系統(tǒng)之間有兩種類型的報文,即直接網(wǎng)絡(luò)管理報文和測試管理報文。測試管理報文是測試管理模塊和輔助測試模塊之間的數(shù)據(jù)通道,使測試管理模塊能夠間接控制IUT,從而實現(xiàn)測試功能。圖4所示為測試管理模塊和輔助測試模塊之間的兩種通信模式。

          測試系統(tǒng)用圖4(a)所示的通信模式獲取被測系統(tǒng)中NM模塊當(dāng)前的狀態(tài)以及配置信息,用圖4(b)所示的通信模式控制輔助測試模塊調(diào)用NM服務(wù)函數(shù),圖中虛線箭頭表示根據(jù)需求服務(wù)的返回值可以選擇性的傳回測試系統(tǒng)。

          測試管理報文的格式有apiCall和apiStatus兩種:

          (1)apiCall:用來請求輔助測試模塊調(diào)用NM API,控制OSEK NM實現(xiàn)特定的動作。報文名定義形式為CallXXX(其中“XXX”表示NM API名稱,如:StartNM);
          (2)apiStatus:將調(diào)用NM API函數(shù)的返回值和當(dāng)前NM的狀態(tài)信息返回給測試系統(tǒng),相應(yīng)的報文有APIStatus,NetStatusMsg等。

          測試管理報文兩種格式的數(shù)據(jù)單元映射到CAN報文的數(shù)據(jù)幀上,如表1所示。其中,報文名編號為不同功能測試管理報文的編號;服務(wù)編號為NM API編號,用以標(biāo)識該報文是控制某個API的調(diào)用或?qū)δ硞€API的響應(yīng);目的ID為標(biāo)識該測試管理報文要發(fā)送到的目標(biāo)網(wǎng)絡(luò)管理節(jié)點;報文數(shù)據(jù)單元為apiStatus報文專有數(shù)據(jù)單元,用來存儲API函數(shù)調(diào)用的返回值或當(dāng)前網(wǎng)絡(luò)管理單元的配置和狀態(tài)信息。


          2.3 測試的流程

          OSEK NM測試可分為以下步驟:
          (1)根據(jù)OSEK NM規(guī)范,抽象出需要測試的內(nèi)容。如從NMNormal→NMBusSleep轉(zhuǎn)換過程中,網(wǎng)絡(luò)管理內(nèi)部狀態(tài)的變化。
          (2)根據(jù)測試內(nèi)容和測試方法,將直接網(wǎng)絡(luò)管理功能分為一個或多個功能模塊,針對各個功能模塊設(shè)計相應(yīng)的測試用例。
          (3)在測試系統(tǒng)中執(zhí)行測試用例,并記錄執(zhí)行過程中測試系統(tǒng)獲取的網(wǎng)絡(luò)管理狀態(tài)數(shù)據(jù)。
          (4)將測試結(jié)果數(shù)據(jù)與OSEK NM管理協(xié)議做對比,分析被測功能模塊是否與協(xié)議一致,并分析不一致的可能原因。

          3 測試方法驗證

          3.1 測試用例設(shè)計

          本文以網(wǎng)絡(luò)管理狀態(tài)從NMNormal轉(zhuǎn)向NMBusSleep為例進(jìn)行測試。測試用例分為三個部分,即初始狀態(tài)、測試步驟和期望結(jié)果。下面給出測試用例的詳細(xì)內(nèi)容:

          (1)初始狀態(tài)

          ①操作模式為主動模式(NMActive);
          ②本地NM設(shè)置networkstatus.bussleep=0;
          ③網(wǎng)絡(luò)管理狀態(tài)為NMNormal;
          ④測試系統(tǒng)狀態(tài)與被測節(jié)點一致,在整個網(wǎng)絡(luò)中已建立邏輯環(huán),并正常工作。

          (2)測試步驟

          ①測試設(shè)備發(fā)送CallGotoMode(Sleep)報文;
          ②當(dāng)接收接下來IUT發(fā)來的第一條報文后使測試系統(tǒng)中其他的虛擬節(jié)點調(diào)用GotoMode(Sleep)服務(wù);
          ③當(dāng)接收到IUT發(fā)來的第二條報文后,測試設(shè)備發(fā)送CallGetStatus報文,等待NetStatusMsg報文的響應(yīng),讀取被測節(jié)點中IUT當(dāng)前的狀態(tài);
          ④等待TwaitBusSleep時間段后,再次發(fā)送CallGetStatus報文,等待NetStatusMsg報文的響應(yīng),讀取被測節(jié)點中IUT當(dāng)前的狀態(tài)。

          (3)期望結(jié)果

          ①IUT發(fā)送的第一條網(wǎng)絡(luò)管理報文中,sleep.ind位被置位;
          ②IUT發(fā)送的第二條網(wǎng)絡(luò)管理報文中,sleep.ack位被置位,且當(dāng)前IUT的網(wǎng)絡(luò)狀態(tài)為NMTwbsNormal;
          ③接收到sleep.ack=1的報文TwaitBusSleep后節(jié)點進(jìn)入NMBusSleep狀態(tài);
          ④整個運行過程中,IUT都處于NMActive狀態(tài)。

          3.2 測試平臺搭建與測試

          測試設(shè)備由裝有CANoe軟件的PC機(jī)、CANcaseXL和CANstress組成。CANoe是由Vector公司開發(fā)的網(wǎng)絡(luò)分析、設(shè)計和測試的專用工具,支持多種總線系統(tǒng)。CANcaseXL為Vector提供的新一代CAN和LIN的USB 2.0接口卡,與CANoe軟件組合使用。CANstress是CAN總線干擾儀,它可以直接串連到CAN網(wǎng)絡(luò)中,實現(xiàn)各種觸發(fā)條件與邏輯的干擾。被測設(shè)備為帶有OSEK NM功能的汽車儀表,外接12 V直流電源為汽車儀表供電。

          基于上述測試平臺進(jìn)行網(wǎng)絡(luò)管理功能測試。首先在CANoe軟件平臺上實現(xiàn)3個CAN節(jié)點,并用CAPL語言對每個節(jié)點編程,實現(xiàn)基于OSEK 規(guī)范的直接網(wǎng)絡(luò)管理功能,在其中一個節(jié)點中添加測試管理功能模塊,運行測試用例,實現(xiàn)總體測試管理控制。汽車儀表ECU軟件中添加輔助測試程序模塊,作為儀表的應(yīng)用軟件。最后,根據(jù)預(yù)先設(shè)計好的測試用例對NMNormal到NMBusSleep的狀態(tài)轉(zhuǎn)換進(jìn)行一致性測試,并記錄測試結(jié)果。

          3.3 測試結(jié)果

          圖5所示為直接網(wǎng)絡(luò)管理測試在CANoe的Trace窗口上的顯示結(jié)果。圖中對報文和數(shù)據(jù)的含義做了相應(yīng)的說明。在測試系統(tǒng)的控制下,整個網(wǎng)絡(luò)進(jìn)入睡眠狀態(tài),并根據(jù)測試案例成功讀取到直接網(wǎng)絡(luò)管理的狀態(tài)信息。

          通過對Trace窗口中的數(shù)據(jù)進(jìn)行分析可見,測試結(jié)果跟測試案例中的預(yù)期結(jié)果一致,這說明儀表節(jié)點中直接網(wǎng)絡(luò)管理睡眠流程符合OSEK NM規(guī)范。同時也驗證了該測試方法的正確性。

          本文提出了一種基于OSEK NM管理的一致性測試方法,并詳細(xì)敘述了測試系統(tǒng)的體系結(jié)構(gòu)、測試方案、測試管理報文的定義,以及測試流程。最后通過對儀表節(jié)點的直接網(wǎng)絡(luò)管理睡眠過程的測試,說明了該方法的有效性。通過對基于OSEK規(guī)范的直接網(wǎng)絡(luò)管理的測試,能夠發(fā)現(xiàn)OSEK NM在正常工作中很難出現(xiàn)的錯誤,并能有效地驗證OSEK NM的正確性,對提高基于OSEK規(guī)范的直接網(wǎng)絡(luò)管理可靠性和穩(wěn)定性有重要的作用。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉