亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        艦船綜合導航模擬器1553B總線控制器軟件開發(fā)

        2012-07-04 02:46:10王程崢李文魁宋衛(wèi)紅黎海雪
        船電技術 2012年5期
        關鍵詞:板卡實時性模擬器

        王程崢 李文魁 宋衛(wèi)紅 黎海雪

        (1. 海軍工程大學電氣與信息工程學院,武漢 430033;2. 92823部隊三中隊,三亞 572021;3. 92853部隊,遼寧 興城 125106)

        0 引言

        艦船綜合導航系統(tǒng)作為導航系統(tǒng)的核心,對來自各種導航傳感器的導航信息進行處理,并向操舵系統(tǒng)、指控系統(tǒng)等外部用戶發(fā)送。為滿足岸基條件下某型艦船操舵系統(tǒng)維修調(diào)試的需要,開發(fā)了艦船綜合導航模擬器,用于模擬艦船操縱運動時綜合導航系統(tǒng)輸出的艦艇航向、航速、縱橫傾等導航信息,并通過1553B總線向操舵系統(tǒng)發(fā)送。1553B采用一種串行、異步和半雙工式總線結構[1],具有高可靠性、高實時性、高效率、抗干擾能力強等特點。

        本文就 Windows環(huán)境下如何使用 C++Builder編譯平臺實現(xiàn) 1553B總線控制器通信的方法進行了研究,同時在綜合導航系統(tǒng)模擬器設計中進行了成功應用。

        1 1553B總線控制器軟件設計方法

        1553B總線由傳輸介質、總線控制器(BC)、遠程終端(RT)和總線監(jiān)視(BM)器等四部分組成。BC的作用是組織信息傳輸,完成數(shù)據(jù)字的收/發(fā)、字/消息的處理[2]。針對總線上遠程終端的數(shù)量和通信復雜程度,BC發(fā)送消息的設計方法主要有兩種[3]:

        (1)簡單方式?;舅枷霝镽T回復消息的控制權完全在 BC。實現(xiàn)方法為:對周期消息采用固定周期來定時傳輸,對事件消息采用命令插入的方式。當BC要求RT 返回數(shù)據(jù)時,BC可向RT的子地址下達命令字,并通過采用查詢方式來獲取數(shù)據(jù)。該方法編程簡單,適用于總線結構單一、通信數(shù)據(jù)量較少的情況,對多個 RT總線,通信實時性相對下降。

        (2)矢量字方式?;舅枷胧菍⒒貜拖⒌闹鲃訖嘟贿€給RT。實現(xiàn)方法為:RT接收BC命令完成相應動作,將數(shù)據(jù)字寫到相應子地址緩存中,然后按照協(xié)議構造矢量字,把矢量字發(fā)送到RT 的0/31 號子地址BUF中。BC在發(fā)送完一次性消息后,可向0/31子地址發(fā)命令字從而讀出其中存放的矢量字,根據(jù)協(xié)議解析矢量字得到相應的子地址,并向該子地址發(fā)送命令從而得到 RT數(shù)據(jù)。該方法適合多RT的復雜通信,編程靈活,通訊數(shù)據(jù)量小。

        2 綜合導航信號模擬器BC設計

        2.1 系統(tǒng)組成

        如圖1所示,綜合導航模擬器接收操舵系統(tǒng)輸出的當前舵角,按照艦艇運動模型,實時計算出艦船運動參數(shù)。并采用2個1553B通道無應答地定周期連續(xù)向操舵系統(tǒng)發(fā)送艦船的航向、航速、縱傾、橫傾等導航參數(shù)。

        2.2 硬件及板卡驅動函數(shù)

        硬件平臺采用研華工控機。1553B通信卡采用北京神州飛航開發(fā)的基于 PCI接口的AEC1553-PCI- SBC31RT-S2型1553B通信卡。該1553B卡采用 FPGA設計,可分時工作在 BC、RT、BM模式下,雙冗余通道數(shù)據(jù)發(fā)送和接收,支持大容量的數(shù)據(jù)存儲。

        圖1 艦艇綜合導航模擬器的原理框圖

        該1553B板卡提供了豐富的驅動函數(shù),其中與BC通信相關的函數(shù)約有20多個,常用BC函數(shù)[4]見表 1。

        表1 常用BC通信函數(shù)列表

        隨卡附帶的驅動函數(shù)庫文件為基于 Visual C++的coff格式的M1553CSC.lib。若采用其它軟件進行開發(fā),則需要對庫函數(shù)進行格式轉換。如采用C++Builder,需用coff2omf命令轉換為omf格式的庫文件。相應命令為:coff2omf M1553CSC.lib M1553CSCB.lib。

        2.3 軟件設計

        在 Windows XP操作系統(tǒng)下,我們采用C++Builder開發(fā)軟件進行綜合導航信號模擬器總線控制器軟件設計。C++ Builder是由Borland公司推出的一款快速開發(fā)Win32應用程序的可視化開發(fā)工具,利用它可以實現(xiàn)高性能的執(zhí)行效率和出色的底層控制。

        對綜合導航模擬器,總線結構較為簡單,因此采用簡單方式進行 BC設計。程序流程如圖 2所示。主要程序代碼說明如下:

        圖2 BC通信軟件流程圖

        (1)板卡初始化

        M1553_Open(&hCard, CardId);

        打開板卡。hCard為板卡句柄,CardId為板卡編號,按板卡所在插槽離CPU的距離由近到遠依次編號0、1…、7。這里取為0、1。

        M1553_WorkMode(hCard, ModeSel);

        設置工作模式。工作模式 ModeSel可取為0(BC)、1(RT)、2(BM),這里取 0。

        M1553_AddTimeTag(hCard,true);

        開啟時間標簽。用于觀察消息周期和間隔。分辨率 1 μs。

        M1553_SetIntMaskReg(hCard,&IntMask);

        設置中斷屏蔽寄存器。由于實時性要求較高,采用單消息觸發(fā)一次中斷,將中斷屏蔽寄存器結構體 IntMask中的 BC_MsgOver(BC消息結束中斷使能位)和BC_STOP (BC消息出錯停止中斷使能位)使能。

        (2)數(shù)據(jù)加載

        SMsg.MsgBlock.Datablk[0]=StrToFloat(Form 1->Edit1->Text);

        將待發(fā)送數(shù)據(jù)字存放在BC消息描述結構體成員Datablk[32]中。

        BC_WriteDataBlock(hCard,MsgId,WordCnt,SMsg.MsgBlock.Datablk);

        修改運行中的BC發(fā)送的數(shù)據(jù)字,MsgId為消息 ID號,WordCnt為寫入數(shù)據(jù)字個數(shù)(取值0~32)。

        由于實時性要求較高,而C++Builder自帶計時器的定時精度最高只能達到55ms[5],故采用Microsoft Win32 API 提供的一項多媒體定時器服務來實現(xiàn)數(shù)據(jù)定時加載[6],定時精度最高能達到1 ms[7]。程序需包含定時器函數(shù)頭文件"mmsystem.h",實現(xiàn)方法如下:

        ①設定定時器分辨率

        建立最小定時器分辨率。uPeriod為最小分辨率,由設定的最小分辨率與計算機的硬件配置決定。

        使定時器定時精度回到系統(tǒng)的默認值。

        ② 設置定時事件

        uDelay 為事件周期,這里與BC發(fā)送消息的周期一致;uResolution 為延時分辨率;LpTimeProc 指向一個自定義的回調(diào)函數(shù),該函數(shù)用來設置定時事件,調(diào)用時應指定對應的事件標識符,并提供用戶數(shù)據(jù),在中斷時間內(nèi)被訪問;DwUser 存放用戶提供的回調(diào)數(shù)據(jù);FuEvent 為事件類型,TIME_ONESHOT為一次性事件,TIME_PERIODIC為周期性事件。

        調(diào)用任務完成后取消定時器回調(diào)事件,及時出讓珍貴的CPU 資源。

        (3)消息配置與發(fā)送

        SMsg.CtlWord.ChanSel=1;//消息發(fā)送時的通道選擇 0:Channel B 1:Channel A

        BC_WriteMsg(hCard, MsgId, &SMsg); //消息發(fā)送

        BC_AddEndOfListFlag(hCard, MsgId+1); //添加消息鏈表結束符

        (4)消息讀取

        數(shù)據(jù)的讀取顯示采用C++Builder自帶的計時器Timer定時觸發(fā)。

        2.4 系統(tǒng)調(diào)試

        硬件方面,傳輸距離小于30 cm時,采用短截線實現(xiàn)總線和終端設備的直接耦合;否則,采用變壓器耦合[8,9],連接時需要注意耦合器的位置。在總線兩端匹配電阻,消除信號反射。調(diào)試過程中若發(fā)現(xiàn)問題應首先判定是否為硬件問題,發(fā)送已知數(shù)據(jù),將板卡輸出腳接示波器上觀察電平,若正確則基本排除硬件問題。需要注意的是1553B總線上的消息是調(diào)制成雙極性碼的曼徹斯特碼[10]。

        圖3 艦艇綜合導航模擬器BC運行界面圖

        軟件方面,采用隨卡附帶的應用程序作為RT接收數(shù)據(jù)。調(diào)試時應遵循先易后難原則。先嘗試簡單通信模式,如 BC發(fā)送一個數(shù)據(jù)字測試 RT能否正確接收,RT返回的狀態(tài)字是否正常等,成功后再嘗試較復雜的通信模式。軟件運行界面如圖3所示。

        3 總結

        本文討論了1553B總線控制器軟件設計的方法,根據(jù)艦船綜合導航模擬器的實際需求,詳細介紹了 Windows環(huán)境下基于 C++Builder如何實現(xiàn)數(shù)據(jù)發(fā)送的具體方法及系統(tǒng)調(diào)試中的注意事項。試驗表明該系統(tǒng)運行可靠,達到了預定要求。

        [1]楊武志, 李敏勇. 基于艦船 1553B總線系統(tǒng)監(jiān)控測試軟件的設計[J].艦船電子工程, 2009, 29(1):190-192.

        [2]李志剛. 1553B總線測試系統(tǒng)的設計與實現(xiàn)[D]. 西安西北工業(yè)大學, 2005.

        [3]丁明亮, 魏志剛. 1553B總線遠程終端仿真軟件設計[J]. 計量與測試技術, 2008, 35(1): 43-47.

        [4]AEC1553-PCI-SBC31RT/S2 用戶手冊[Z]. 北京: 北京神州飛航科技有限責任公司, 2011.

        [5]Mark Nelson. 串行通信開發(fā)指南[M]. 北京: 中國水利水電出版社, 2001: 43.

        [6]Microsoft 公司. MICROSOFT WIN32 程序員參考大全(一)[M]. 北京: 電子科技出版社, 1994: 90-95.

        [7]李文魁, 陳永冰, 周永余等. 多任務實時系統(tǒng)提高實時性的方法及其在導航綜合信號源系統(tǒng)中的應用[J]. 中國慣性技術學報, 2003, 11(4): 11-15

        [8]GJB 289A-1997, 數(shù)字式時分制指令/響應型多路傳輸數(shù)據(jù)總線[s]. 中國軍用標準, 1997.

        [9]MIL-STD-1553,飛機內(nèi)部時分制指令/響應式多路傳輸數(shù)據(jù)總線[s]. 美國軍用標準, 1978.

        [10]武鵬, 畢君懿. 1553B總線中曼徹斯特編碼器的設計[J]. 現(xiàn)代電子技術, 2011, 34(4): 61-64.

        猜你喜歡
        板卡實時性模擬器
        了不起的安檢模擬器
        基于規(guī)則實時性的端云動態(tài)分配方法研究
        高技術通訊(2021年3期)2021-06-09 06:57:24
        盲盒模擬器
        劃船模擬器
        基于PCI9054的多總線通信板卡的研制
        測控技術(2018年3期)2018-11-25 09:45:46
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        測控技術(2018年12期)2018-11-25 09:37:42
        基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡實時性仿真
        航空電子AFDX與AVB傳輸實時性抗干擾對比
        一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g
        動態(tài)飛行模擬器及其發(fā)展概述
        综合久久久久6亚洲综合| 中国女人内谢69xxxx免费视频| 欧美人与动人物姣配xxxx| 国产精品18久久久久久不卡中国| 日韩一区二区,亚洲一区二区视频| 亚洲va视频一区二区三区| 女女互揉吃奶揉到高潮视频| 91久久青青草原线免费| 色老汉亚洲av影院天天精品 | 凹凸在线无码免费视频| 精品五月天| 日本大片在线一区二区三区| 亚洲人成在久久综合网站| 天天夜碰日日摸日日澡| 国产精品乱一区二区三区| 国产精品久久熟女吞精| 国产在线无码一区二区三区视频| 国语自产偷拍精品视频偷| 国产资源在线视频| 久久国产精品亚洲我射av大全| 免费国产在线精品一区 | 99久久无色码中文字幕人妻蜜柚| 亚洲欧洲偷自拍图片区| 无码中文字幕av免费放| 久久精品亚洲精品国产区| 美丽人妻在夫前被黑人| 欧美日韩精品乱国产538| av男人操美女一区二区三区| 亚洲av成人精品一区二区三区| 中文字幕亚洲欧美日韩2019| 亚洲男人天堂av在线| 新视觉亚洲三区二区一区理伦| 人妻丰满熟妇无码区免费 | 久久精品美女久久| 亚洲av熟女中文字幕| 国产精品人妻一码二码| 啪啪无码人妻丰满熟妇| 国产av一区二区日夜精品剧情| 男人和女人做爽爽视频| 国产3p视频| 久久精品国语对白黄色|