《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > MVB總線故障注入方法研究與實現
MVB總線故障注入方法研究與實現
2016年電子技術應用第8期
仲康正,徐惠勇
中國地質大學(北京) 信息工程學院,北京100083
摘要: 為滿足列車通信網絡(TCN)中多功能車輛總線(MVB)設備的測試驗證要求,基于一般總線測試方法,結合MVB總線協議特點,提出一種基于故障注入技術的測試方法。通過對板卡寄存器的定義與配置,開發了基于VS平臺的MVB故障注入設備驅動程序,從電氣層、物理層、協議層三方面,詳細給出了MVB總線故障注入方法和部分驅動程序。通過Wireshark抓取報文的方式,驗證了故障注入的準確性,證明了此方法的可行性和正確性。
中圖分類號: TP336
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.017
中文引用格式: 仲康正,徐惠勇. MVB總線故障注入方法研究與實現[J].電子技術應用,2016,42(8):74-76,83.
英文引用格式: Zhong Kangzheng,Xu Huiyong. Research and implementation of MVB bus fault injection method[J].Application of Electronic Technique,2016,42(8):74-76,83.
Research and implementation of MVB bus fault injection method
Zhong Kangzheng,Xu Huiyong
Department of Information Engineering,China University of Geoscience(Beijing),Beijing 100083,China
Abstract: To meet the test and validate requirements of multifunction vehicle bus devices in train communication network, based on the test method of general bus and combining with the characteristics of the MVB bus protocol, this paper presents a test method based on fault injection technique. By means of the definition and configuration of the card registers, Multifunction vehicle bus fault injection device driver, based on VS platform, was developmented. MVB bus fault injection method and part of the driver are given in detail,in terms of physical, electrical, and protocol . Through the way of Wireshark graping messages to verify accuracy of fault injection, and prove the feasibility and correctness of this method.
Key words : multifunction vehicle bus;fault injection;registers

0 引言

  多功能車輛總線(Multifunction Vehicle Bus,MVB)是針對車輛環境下,車輛內部功能設備數據通信的現場總線,是列車通信網絡系統(Train Communication Network,TCN)的核心部分之一。隨著微電子技術和分布式現場總線技術的發展,MVB的應用日益廣泛,此類列車可通過網絡實現對車載設備的集散式監控和管理,逐步實現了列車控制系統的智能化、網絡化與信息化[1]。

  MVB介質訪問控制的優點在于,它將總線上的時間分為固定大小的基本周期,每個基本周期又由周期相和偶發相組成,這樣既可傳送對時間有確切要求的數據,同時也可以處理偶發緊急數據[2]。為了保證總線系統的高可靠性,總線測試必不可少,然而由于國外對MVB技術的壟斷,國內尚沒有統一高效的測試方案。本文基于故障注入技術,提出了一種總線測試方案,并通過軟件注入的方式,進行試驗驗證。

1 故障注入技術

  故障注入是進行產品測試性實驗的重要技術手段,在產品檢測中,通過故障注入可以驗證被測產品的機內測試、外部測試的診斷能力[3]。與傳統的測評方法相比,故障注入技術具有應用范圍廣、結果精確度高、節省時間等優點[4]。特別是在有關國防安全的航空航天系統中,最為關鍵的系統都采用高可靠性的容錯計算機系統。在過去近20年中,故障注入的研究對容錯系統的設計和應用起到了重要作用[5]。

  故障注入主要分為硬件注入和軟件注入兩種。與硬件注入相比,軟件故障注入具有易于控制、成本低、方便靈活等優點,逐漸成為故障注入技術的發展方向和研究熱點。

2 故障注入方法

  本文通過掛接在總線系統中的故障注入設備,在不改變設備激勵以及被測信號的前提下,從MVB故障注入板卡底層寄存器、內存開始,通過軟件實現對板卡內寄存器、存儲器值的修改,模擬輸入信號的故障情況,從而實現相應的故障注入。故障注入過程中,利用分析軟件Wireshark抓取以太網報文,檢測設備的故障注入情況,從而驗證系統的容錯性能。

  MVB故障注入設備包含核心板寄存器配置和2個MVB通信節點寄存器配置,寄存器地址共32 bit,由8 bit保留位(R)、3 bit板卡地址CardAddr、5 bit通道地址port_

  num和16 bit偏移地址OffsetAddr組成,寄存器地址=R+CardAddr+port_num+OffsetAddr。

  在故障注入時,考慮到系統的合理性及高效性,將MVB板卡內寄存器定義為核心板全局配置寄存器、子版全局配置寄存器、通道級寄存器3種類型。結合其他總線的相關經驗和理論,將MVB總線的故障概括為3個層面:電氣層、物理層與協議層。

  2.1 電氣層

  電氣層故障配置項包括斷路故障、短路故障、串行、并行阻抗等,FPGA接收軟件的指令,處理采樣所得的信號,控制繼電器矩陣和電阻網路,以實現對應故障注入。以斷路故障項為例說明。斷路故障Memory偏移地址為0x0200,port_number為0x00,故障參數bit位說明見表1。

圖像 005.png

  根據表1中內容,在程序中定義斷路故障參數結構體和對應的位域結構體。斷路故障寄存器位域結構體如下:

  typedef struct _reg_cut_fault

  {

  int periodValue :15

  int periodCut :1;

  int cutTime :14;

  int negLineCut :1;

  int posiLineCut :1;

  }TY_REG_CUT_FAULT_CONF;

  typedef union

  {

  TY_CUT_FAULT_CONF stCutConf;

  int cutConfValue;

  }TY_CUT_FAULT_UNION

  2.2 物理層

  物理層故障配置項包括幅值調節故障項配置、占空比調節、總線延時故障等8項。幅值故障寄存器偏移地址為0x0218,portnumber為0x00。故障配置參數見表2。

圖像 006.png

  根據表中內容定義類似電氣層的結構體,在驅動開發時以實現相關故障參數的配置及賦值實現。

  2.3 協議層

  協議層故障項參數配置包括2個內容:匹配策略信息Memory、故障策略信息Memory。MVB總線傳輸數據幀的兩種類型具有不同的幀結構和幀標識符。協議層故障由客戶端根據需要選擇主幀還是從幀故障相關參數配置。

  匹配策略信息配置參數主從幀一致,位域結構體只需要區分結構體名稱即可。0位對應Fcode_mask,當值為1時,對功能碼進行匹配,匹配對象為Fcode_data(31-28 bit);1位為Addr_mask,當值為1時,對地址進行匹配,匹配對象為Addr_data(27-16 bit)??筛鶕嗀ddr_mask_x(x為0-11,占據2-13 bit)選擇需要匹配的地址bit位。

  故障策略匹配信息Memory大小為:位寬32 bit,深度128。160個32 bit深度的數據共分為32組,每組5個32 bit的數據,對應32組故障策略,包括功能碼、校驗碼、位反轉、位毛刺等故障參數配置。

3 故障注入的實現

  鑒于Windows系統的高普及性,本文根據定義的MVB故障注入設備寄存器說明,基于VS2010開發環境,利用C語言開發故障注入驅動。利用Wireshark抓取以太網報文的方式驗證API的正確性,然后通過故障注入軟件調用檢驗后的API,完成對設備的故障注入。

  3.1 Wireshark

  Wireshark是一個網絡封包分析軟件,其功能是擷取網絡分包,并盡可能顯示最為詳細的網絡封包資料。Wireshark使用WinPCAP作為接口,直接與網卡進行數據報文交換。

  3.2 以太網報文

  UDP報文中,源端口、目的端口、UDP長度、校驗和大小為2B,用戶數據根據具體操作與信息,占據若干字節,包括4B的消息包頭、4B的地址、若干字節(4B整數倍)的具體數據。

  發送時,將消息總線數據組合成以太網報文,總線數據以4 B為單位,先發送最低字節,再發送次低字節,最后發送高字節。消息總線數據格式為:

  消息包頭(Type+Opcode+R+DataLEN)

  地址域(R+cardaddr+portnum+OffsetAddr)

  數據域(one or more 32 bits)

  Type為固定值0x1D,占6 bit;Opcode為操作碼,占6 bit,表示信息類型,對應讀、寫寄存器(Memory);R為保留位,占7 bit,DataLen為數據長度,包括信息包頭,占13 bit。

  3.3 Memory操作格式

  與消息總線數據格式一致,寫Memory包括n×4B的數據內容。第一行4B數據為消息包頭,Type為固定值0x1D,Opcode為固定值0x0C,加上7 bit保留位和13 bit的DataLen;第二行為地址域R+cardaddr+port_num+OffsetAddr;第三行開始為32 bit整數倍的數據域,數據域長度與DataLen大小對應。

  3.4 故障注入驅動

  為方便對各項故障的選擇性注入,利用選擇結構編寫驅動程序。為了規范化測試步驟,在故障注入開始前,先進行掃描,確認在線設備數量及地址端口,然后利用驅動打開設備,開始相關故障注入。在整體的測試流程中,需要包括打開、關閉、復位、暫停等一系列操作。

  物理層故障注入部分代碼如下:

  int devPhysicalInjConf( TY_DEV_HANDLE *pHandle,

  int32 chnId, TY_PHYSICAL_FAULT_STRUCT phyFaultConfig)

  {

  ……

  if((phyFaultConfig.faultEn.cutFaultInjEn & 0x01))

  //若故障使能,對各參數賦值;

  {

  cutConf.stCutConf.periodValue=

  phyFaultConfig.cutConf.periodValue;

  cutConf.stCutConf.periodCut=phyFaultConfig.cutConf.periodCut;

  ……

  cutConf.stCutConf.posiLineCut=

  phyFaultConfig.cutConf.posiLineCut;

  tmpConfig[0] = tmpPhyFaultConf.cutConf.cutConfValue;

  ret=SetCutConfig(pHandle,chnId,tmpConfig,

  MEM_CONST_LEN);

  if(ret != RET_OK)

  {

  return RET_ERROR_CUT;

  }

  }

  }

  斷路故障功能實現部分代碼如下:

  int SetCutConfig(TY_DEV_HANDLE *pHandle, int chn,

  unsigned int *data,

  unsigned int dataLen)

  {

  int ret = 0;

  TY_ADDR_UNION tmpInjAddr;

  ret=getAddr(chn,LOCALREG, &tmpInjAddr);

  //獲取寄存器地址;

  ……

  ret=writeMEM(pHandle, tmpInjAddr.addr, data,

  dataLen);//配置下發;

  return ret;

  }

  3.5 實驗結果與分析

  驅動編譯完成后,通過以太網連接設備運行編寫的Demo程序,調用相關API,實現故障注入。本文以斷路、幅值故障注入情況為例,結合以太網報文,驗證驅動準確性。

  Demo調用斷路故障設置函數,通過對斷路故障項配置定義的結構體內參數賦值,實現對設備的斷路故障注入。對斷路時間賦值2(其他默認值為0)時的報文如圖1。

圖像 003.png

  從第三行14 00 c0 74 開始為用戶配置數據段。翻譯為:

  74 c0 00 14:對應寫memory 操作,DataLen為5B。

  00 40 02 00:對應32 bit地址域,8 bit保留位,3 bit卡位號,5 bit通道號,16 bit偏移地址(0x0200)

  00 02 00 00:對應32 bit斷路故障寄存器位,報文顯示與驅動賦值結果一致。

  00 00 00 00 :空數據字節

  00 00 00 00 :空數據字節

  幅值故障注入參數賦值,vppEn=1,vppValue=3.4,得以太網報文如圖2。

圖像 004.png

  數據翻譯如下:

  74 c0 00 14:對應寫memory 操作,DataL為5 B。

  00 40 02 18:對應32 bit地址域,8 bit保留位,3 bit卡位號,5 bit通道號,16 bit偏移地址(0x0218)

  00 00 80 02:對應32 bit幅值故障Memory位,報文顯示與驅動賦值結果一致。

  00 00 00 00 :空數據字節

  00 00 00 00 :空數據字節

  與斷路、幅值故障項類似,分別對電氣層、物理層和協議層各故障寄存器位賦值,用Wireshark抓取報文驗證。實驗中,報文顯示結果均與驅動注入值相匹配,驗證了驅動對設備故障注入的有效性、可控性。

4 結束語

  隨著我國高鐵技術的不斷進步發展,MVB總線技術在國內的應用將逐步擴大。本文結合MVB總線協議特點和通信方式,探討適用于MVB總線設備的故障注入方法,并開發出相應的故障注入驅動,彌補了MVB總線故障注入手段的不足。

  故障注入驅動對各類設備的高度兼容性、適應性是故障注入技術的發展方向。本文提出的測試方法,可適用于大部分MVB總線設備,且與其他總線設備也具有共通性。如何利用此擴展性,開發出適用于各類總線設備測試的故障注入驅動,值得深入研究。

  參考文獻

  [1] 楊昌休.多功能車輛總線MVB關鍵技術的研究[D].成都:西南交通大學,2012.

  [2] 宋娟,王立德,嚴翔,等.MVB協議分析裝置設計及其實時性分析[J].鐵道學報,2011(11):41-45.

  [3] 石君友,李鄭,駱明珠,等.故障注入控制軟件的設計與實現[J].測控技術,2008(4):65-67,70.

  [4] 李志宇,黃考利,連光耀.基于測試性設計的軟件故障注入研究綜述[J].計算機測量與控制,2013(5):1112-1114,1117. 

  [5] 孫天竹,吳小兵.采用故障注入技術提高系統可靠性[J].信息技術,2004(6):85-86.

  


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美怡红院视频| 在线亚洲免费视频| 日韩一级在线| 在线日韩中文字幕| 国产午夜精品在线| 国产精品欧美风情| 欧美亚一区二区| 欧美日韩精品欧美日韩精品| 欧美成人国产| 久久久午夜视频| 欧美在线999| 欧美一激情一区二区三区| 亚洲专区一二三| 亚洲一区二区三区四区在线观看| 一本不卡影院| 日韩一级不卡| 一区二区免费看| 在线视频一区二区| 一区二区高清在线| 一区二区三区www| 在线视频欧美一区| 在线亚洲激情| 亚洲淫性视频| 亚洲欧美一级二级三级| 亚洲女同同性videoxma| 亚洲欧美卡通另类91av| 香蕉乱码成人久久天堂爱免费 | 欧美怡红院视频一区二区三区| 亚洲欧美日韩第一区| 亚洲欧洲99久久| 欧美一区二区三区视频免费播放 | 亚洲欧洲精品一区二区精品久久久 | 欧美美女视频| 欧美日韩一区二区三区在线视频 | 午夜亚洲视频| 久久久国产午夜精品| 久久全国免费视频| 男人的天堂成人在线| 欧美国产日韩免费| 欧美日韩视频在线一区二区观看视频| 欧美丝袜一区二区三区| 国产精品豆花视频| 国产精品亚洲综合久久| 国产一区二区三区自拍| 亚洲国产高清视频| 99视频精品免费观看| 亚洲一区免费网站| 亚洲高清三级视频| 99re热这里只有精品免费视频| 亚洲天堂久久| 久久福利影视| 免费人成精品欧美精品| 欧美日韩国产首页在线观看| 国产精品草莓在线免费观看| 国产欧美一区二区三区久久| 激情欧美丁香| 99re热精品| 性色av一区二区三区| 亚洲黄色成人| 亚洲一区影音先锋| 久久久一区二区| 欧美日韩激情网| 国产免费成人| 91久久久久久| 亚洲欧美日韩精品久久奇米色影视| 欧美自拍偷拍| 一本一本大道香蕉久在线精品| 欧美在线播放| 欧美精品在欧美一区二区少妇| 国产精品色午夜在线观看| 精品999网站| 亚洲无毛电影| 亚洲精品视频一区| 欧美在线播放| 欧美日韩免费观看一区二区三区| 国产日产欧产精品推荐色| 亚洲激情成人网| 欧美亚洲视频在线看网址| 99re亚洲国产精品| 久久国产一区二区| 欧美深夜影院| 怡红院精品视频| 亚洲欧美国产日韩天堂区| 日韩午夜精品视频| 久久久在线视频| 欧美午夜视频在线观看| 在线观看一区| 欧美一级视频免费在线观看| 99re8这里有精品热视频免费| 久久国产精品99精品国产| 欧美日韩国产综合视频在线观看| 狠狠色丁香久久综合频道| 中文国产成人精品| 亚洲精品乱码久久久久久按摩观| 欧美在线观看视频| 欧美日韩午夜精品| 亚洲国产精品热久久| 久久国产精品99国产精| 性欧美在线看片a免费观看| 欧美日韩成人在线| 在线日韩日本国产亚洲| 欧美一级在线视频| 亚洲在线视频观看| 欧美日韩理论| 亚洲激情网址| 最新国产成人在线观看| 久久久国产午夜精品| 国产乱码精品一区二区三区忘忧草| 亚洲免费观看视频| 亚洲乱码国产乱码精品精天堂| 狼狼综合久久久久综合网| 国产日韩专区| 亚洲男人的天堂在线| 中文一区字幕| 欧美日韩黄视频| 亚洲精品亚洲人成人网| 亚洲美女黄色片| 蜜桃av久久久亚洲精品| 黑人巨大精品欧美一区二区小视频| 亚洲欧美日韩在线不卡| 亚洲欧美久久久久一区二区三区| 欧美视频福利| 99国产精品99久久久久久| 99re66热这里只有精品3直播| 欧美国产日韩一区二区| 亚洲黄色在线观看| 亚洲美女一区| 欧美日本精品一区二区三区| 亚洲三级电影在线观看| 一本大道久久a久久综合婷婷| 欧美日韩八区| 9久re热视频在线精品| 亚洲午夜女主播在线直播| 欧美午夜在线| 亚洲视频在线二区| 亚洲女人av| 国产伦精品一区二区三区| 欧美一区二区三区免费视频| 久久久99爱| 伊人成人在线| 亚洲人成免费| 欧美精品一区二区视频| 亚洲久久在线| 午夜精品久久久久久久99热浪潮| 国产欧美日韩在线视频| 欧美一二三区在线观看| 久久综合九九| 亚洲欧洲日本mm| 亚洲午夜久久久| 国产精品午夜春色av| 欧美一级黄色网| 久久人人超碰| 亚洲国产成人精品久久久国产成人一区| 亚洲精选成人| 欧美亚男人的天堂| 亚洲欧美综合| 久久综合狠狠综合久久综合88| 亚洲国产精品尤物yw在线观看| 一区二区三区精品久久久| 国产精品任我爽爆在线播放| 久久aⅴ乱码一区二区三区| 欧美成人午夜激情在线| 在线天堂一区av电影| 久久精品视频亚洲| 亚洲国产精品一区二区www| 国产精品99久久久久久宅男 | 欧美福利一区二区| 亚洲精品日本| 午夜亚洲激情| 1024成人| 亚洲免费视频在线观看| 狠狠色2019综合网| 中文精品视频一区二区在线观看| 国产欧美另类| 99国产精品99久久久久久| 国产精品麻豆va在线播放| 亚洲观看高清完整版在线观看| 欧美日韩精品免费看| 香蕉久久精品日日躁夜夜躁| 欧美国产激情二区三区| 亚洲一区在线视频| 免费高清在线视频一区·| 中文日韩在线| 毛片av中文字幕一区二区| 一区二区三区你懂的| 久久综合中文| 中文在线不卡视频| 免费成人你懂的| 亚洲在线视频| 欧美人成在线| 欧美伊人久久| 欧美日一区二区三区在线观看国产免| 欧美一区中文字幕| 欧美吻胸吃奶大尺度电影| 久久精品视频网| 国产麻豆综合| 一区二区冒白浆视频| 极品尤物av久久免费看| 午夜一区二区三视频在线观看| 91久久精品久久国产性色也91|