• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于1553B的綜合導航系統(tǒng)總線信息監(jiān)測儀*

      2011-06-07 00:49:52聶浩翔卞鴻巍王榮穎
      艦船電子工程 2011年12期
      關鍵詞:板卡高精度中斷

      聶浩翔 卞鴻巍 王榮穎

      (海軍工程大學電氣與信息學院 武漢 430033)

      1 引言

      MTL-STD-1553B是20世紀70年代發(fā)展起來的“飛機內(nèi)部時分制指令/響應式多路傳輸數(shù)據(jù)總線”[1],具有可靠性高、速度快、雙冗余、便于提高電子系統(tǒng)集成等優(yōu)點[6]。經(jīng)過30多年的發(fā)展,MTL-STD-1553B已經(jīng)成為國際公認的用于軍用平臺信息交換的總線標準[2]。

      目前,我國海軍、空軍的一些武器平臺已經(jīng)采用 GJB289A(MTL-STD-1553B)數(shù)據(jù)總線[2]。如某綜合導航系統(tǒng)中的若干個分系統(tǒng)通過1553B總線與其計算機進行數(shù)據(jù)交換。為了保證系統(tǒng)正常運行,使系統(tǒng)在聯(lián)調(diào)測試過程中,對發(fā)生的故障、問題能夠準確定位,及時排除,需要對1553B數(shù)據(jù)監(jiān)測技術進行研究。

      本文以某綜合導航系統(tǒng)聯(lián)調(diào)為背景,研制出一種對1553B總線系統(tǒng)信息進行監(jiān)測的系統(tǒng)。該1553B總線監(jiān)測系統(tǒng)初始化作為總線監(jiān)視器MT掛在總線系統(tǒng)上,監(jiān)視、記錄整個總線系統(tǒng)的數(shù)據(jù),為故障定位提供可靠的通信數(shù)據(jù),為日后建立相應的故障診斷系統(tǒng)積累大量的試驗數(shù)據(jù)。

      2 1553B總線監(jiān)測系統(tǒng)方案

      總線監(jiān)測系統(tǒng)主要由硬件和軟件兩部分組成。其中硬件部分主要由加固機和1553B板卡組成。根據(jù)系統(tǒng)需求,采用低功耗、散熱良好、性能穩(wěn)定的加固機作為系統(tǒng)應用軟件的硬件載體。

      為了加快硬件應用軟件的開發(fā)速度,選用了符合1553B 標 準 的 ELCUS 公 司 的 TEI-PCI4-01-C板卡,此板卡支持由ELCUS公司提供的源代碼級API,在1553B總線環(huán)境下,能實現(xiàn)總線控制器(BC)、總線監(jiān)視器(MT)、遠程終端(RT)功能。

      圖1 綜導系統(tǒng)總線信息監(jiān)測儀連接示意圖

      此板卡的源代碼級API函數(shù)提供了操作系統(tǒng)和硬件之間的接口,方便用戶進行程序設計和二次開發(fā)。該板卡應用平臺廣泛,針對DOS、Windows 98、XP、2000、ME、NT 4.0以及 Linux kernel 2.4等操作系統(tǒng),驅動都給出了相應的板卡通用接口函數(shù)。另外,通過軟件編程可任意更改板卡的工作模式(某些板卡要通過設備上的焊接或跳線來設置),方便開發(fā)人員靈活處理具體通訊問題。

      3 軟件設計及關鍵技術

      軟件部分是在Windows XP系統(tǒng)下采用VC++6.0作為開發(fā)環(huán)境,調(diào)用ELCUS公司的API函數(shù)來實現(xiàn)監(jiān)測總線數(shù)據(jù)通信的功能。

      3.1 軟件組成和工作流程

      總線監(jiān)測儀軟件采用程序設計中常用的模塊化思想。根據(jù)1553B通訊協(xié)議,總線監(jiān)視器的功能不響應總線控制器的任何命令,用于監(jiān)視總線數(shù)據(jù)及提取數(shù)據(jù)以便以后的數(shù)據(jù)分析[3]。因此軟件主要由主模塊和五個主要的模塊:初始化模塊、數(shù)據(jù)監(jiān)控模塊、數(shù)據(jù)解析模塊、數(shù)據(jù)顯示模塊和數(shù)據(jù)保存模塊組成。

      圖2 總線監(jiān)測儀軟件組成圖

      主模塊負責整個系統(tǒng)的軟件流程;初始化模塊主要用來對板卡和系統(tǒng)運行時所需要的一些參數(shù)如采樣時間進行初始化;數(shù)據(jù)監(jiān)控模塊以各種方式對用戶關心的消息進行選擇監(jiān)控;數(shù)據(jù)解析模塊把監(jiān)控的數(shù)據(jù)按照一定的格式解析成為具體的物理含義;數(shù)據(jù)顯示模塊是用編輯框或圖表把監(jiān)控解析后的數(shù)據(jù)進行顯示;數(shù)據(jù)保存模塊是保存解析后的數(shù)據(jù)以便事后分析。

      3.2 基于多線程和板卡中斷機制的數(shù)據(jù)采集

      該綜合導航系統(tǒng)交聯(lián)關系十分復雜,1553B總線承擔著所有消息的傳輸,消息多而且傳輸頻率比較高,因此,1553B總線信息監(jiān)測系統(tǒng)必須具有實時性[8~9],才能監(jiān)控總線上傳輸?shù)乃邢?,不會出現(xiàn)消息丟失的情況。

      中斷技術是解決實時性較好的辦法,即每個消息傳輸結束,產(chǎn)生消息中斷,中斷服務程序對傳輸完的消息進行處理。然而由于Windows操作系統(tǒng)對中斷不完全開放,在Windows下開發(fā)中斷處理程序非常困難。但是Windows提供了消息循環(huán)機制和多線程機制[4,7],采用 Windows的多線程機制和板卡的中斷機制可以解決這個問題[5]。

      圖3 軟件流程圖

      1553B板卡底層通信軟件的運行由總線接口板上的微處理器直接管理,因此,它不直接由Windows操作系統(tǒng)管理,具有實時性。一條消息運行結束時,總線接口板產(chǎn)生消息結束中斷,微處理器組織將消息數(shù)據(jù)存儲到雙口存儲器中。

      在程序中創(chuàng)建一個MTProc線程,該線程一般處理“睡眠等待”狀態(tài),當查詢到有中斷產(chǎn)生時,線程被“喚醒”,中斷服務程序對消息進行處理,這樣,采用Windows消息循環(huán)機制和底層板卡實時中斷機制相結合,保證了消息采集的實時性。流程圖如圖3所示。具體過程如下:

      在初始化模塊中創(chuàng)造一個事件對象并返回句柄hEvent,并將事件對象置為無信號狀態(tài)。調(diào)用板卡API函數(shù)tmkdefevent定義當前板卡事件對象,驅動利用該句柄通知進程接收設備中斷。在MTProc線程中,由于事件處于“非信號狀態(tài)”,通過調(diào)用WaitForSingleObject()函數(shù)來監(jiān)視這個信號。如果檢測到有信號則返回WAIT_OBJECT_0,按照需求進行操作;如果超過了超時間隔,事件對象仍然為信號,則返回WAIT_TIMEOUT。

      3.3 高精度定時器的設計

      目前系統(tǒng)定時器是在Visual C++6.0中常用的定時器,即使用SetTimer()函數(shù)進行初始化,應用程序響應SetTimer()函數(shù)發(fā)送的消息 WM_TIMER。該定時器在用Visual C++6.0編程時使用較多,但是它的最大缺點是其最小定時時間約為55.0722ms[11],只能滿足測控軟件的一般定時需求。

      本文針對1553B通信速率高的特點,在多線程的基礎上,利用QueryPerformanceCounter函數(shù)和QueryPerformanceFrequency函數(shù)設計了高精度定時器。

      兩個函數(shù)的原型為

      兩個函數(shù)均在MTProc線程中調(diào)用。

      1)首先調(diào)用QueryPerformanceFrequency函數(shù)取得高精度運行計數(shù)器的頻率f。單位是次/秒(n/s),該數(shù)值一般很大。

      2)在需要定時的代碼兩端分別調(diào)用QueryPerformanceCounter以取得高精度運行計數(shù)器的數(shù)值n1,n2。兩次數(shù)值的差值通過f換算成時間間隔t=(n2-n1)/f。

      3)建立一個while(t≥time)循環(huán),time為采樣時間,若滿足條件,則進行相應的處理。

      測試證明,設計的高精度定時器滿足數(shù)據(jù)采集的要求。

      4 結語

      1)針對某綜合導航系統(tǒng)設計了一種總線監(jiān)測儀器,重點介紹了系統(tǒng)的組成和程序設計中的關鍵問題。

      2)在軟件設計中采用了多線程和硬件板卡中斷技術進行數(shù)據(jù)采集,在此基礎上設計了一種高精度定時器保證了數(shù)據(jù)的實時性。

      3)測試表明,該總線監(jiān)測儀能較好地接收綜導總線數(shù)據(jù),人機界面良好,工作穩(wěn)定,為系統(tǒng)數(shù)據(jù)分析、故障定位提供了支持,可以為綜合導航系統(tǒng)聯(lián)調(diào)提供有力支持。

      [1]MARC R P.MIL-STD-1553Bdesigner's guide[S].6th edition.New York:ILC Data Device Corportion,1998:2~4

      [2]周明光,馬海潮.計算機測試系統(tǒng)原理與應用[M].北京:電子工業(yè)出版社,2005:35~36

      [3]王少蕾,朱華兵,周強.1553B總線系統(tǒng)通信軟件設計[J].火炮發(fā)射與控制學報,2008(4):87~88

      [4]Jim Beveridge,Robert Wiener.Win32multithreading application in Win32[M].侯捷,譯.武漢:華中科技大學出版社,2002:121~132

      [5]趙永庫.MIL-STD-1553B總線綜合測試系統(tǒng)設計[J].計算機技術與應用,2005,25(3):42~44

      [6]陳凱,閻杰,苗睿鋒.MIL-STD-1553B總線測試儀軟件開發(fā)[J].彈箭與制導學報,2005:264~266

      [7]David J Kruglinski.Visual C++技術內(nèi)幕[M].第四版.北京:清華大學出版社,2002

      [8]DOUGIAS E C.MIL-STD-1553Bvalidation and test facility[J].IEEE AIAA 9th Conference 2proceeding,1990,15(2):23~31

      [9]郭澤仁.1553B總線系統(tǒng)優(yōu)化及可靠性設計[J].山東理工大學學報:自然科學版,2008,22(1):67

      [10]徐欣.無線網(wǎng)絡導航服務系統(tǒng)的設計與實現(xiàn)[J].計算機與數(shù)字工程,2008,36(12)

      [11]吳正平,等.用Visual C++6.0實現(xiàn)高精度定時器[J].江漢石油學院學報,2002,24(3):87

      猜你喜歡
      板卡高精度中斷
      基于PCI9054的多總線通信板卡的研制
      測控技術(2018年3期)2018-11-25 09:45:46
      基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
      測控技術(2018年12期)2018-11-25 09:37:42
      高抗擾高精度無人機著艦縱向飛行控制
      跟蹤導練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      船載高精度星敏感器安裝角的標定
      基于高精度測角的多面陣航測相機幾何拼接
      一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g
      高精度免熱處理45鋼的開發(fā)
      山東冶金(2015年5期)2015-12-10 03:27:41
      一種通用模擬量及開關量信號采集板卡的設計
      陵水| 泊头市| 肇庆市| 福鼎市| 虹口区| 奈曼旗| 仁布县| 景德镇市| 苗栗县| 恩施市| 阜平县| 徐闻县| 兴业县| 彩票| 托里县| 宣城市| 若羌县| 顺昌县| 望城县| 蒲城县| 五台县| 当阳市| 都匀市| 平乡县| 海宁市| 泌阳县| 罗江县| 喜德县| 施甸县| 定结县| 垫江县| 崇明县| 东阳市| 拜泉县| 桦川县| 土默特左旗| 临湘市| 江西省| 通辽市| 屏山县| 保康县|