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

        ?

        基于AECMF的光纖慣導(dǎo)穩(wěn)定平臺通信策略研究*

        2015-03-15 00:50:48徐振國
        艦船電子工程 2015年4期
        關(guān)鍵詞:設(shè)置

        許 彩 徐振國 郭 斌

        (1.海軍駐七一九所軍事代表室 武漢 430205)(2.海軍工程大學(xué)導(dǎo)航工程系 武漢 430033)

        ?

        基于AECMF的光纖慣導(dǎo)穩(wěn)定平臺通信策略研究*

        許 彩1徐振國1郭 斌2

        (1.海軍駐七一九所軍事代表室 武漢 430205)(2.海軍工程大學(xué)導(dǎo)航工程系 武漢 430033)

        通信系統(tǒng)是數(shù)字化穩(wěn)定平臺控制系統(tǒng)的關(guān)鍵環(huán)節(jié),針對穩(wěn)定平臺高波特率、高數(shù)據(jù)更新率的通信需求,制定了基于AECMF多串口卡的通信策略。對AECMF多串口卡的工作原理及特點(diǎn)進(jìn)行了介紹,設(shè)計(jì)了通信程序流程,基于VC++編程實(shí)現(xiàn)了串行通信。實(shí)驗(yàn)結(jié)果表明,通信系統(tǒng)工作穩(wěn)定可靠。

        穩(wěn)定平臺; AECMF; 串口通信; VC++

        Class Number TN967.2

        1 引言

        穩(wěn)定平臺[1~4]是應(yīng)用艦船、飛機(jī)搭載重力儀進(jìn)行重力測量必不可少的儀器設(shè)備。它主要為重力儀提供高度穩(wěn)定的水平基準(zhǔn)和姿態(tài)信息,消除運(yùn)動(dòng)載體姿態(tài)變化帶來的測量誤差,隔離振動(dòng)等干擾因素對重力測量的影響,是提高重力測量精度的關(guān)鍵儀器設(shè)備之一。數(shù)字化平臺控制回路相對于傳統(tǒng)的模擬電子系統(tǒng)有體積小、成本低、可靠性高等優(yōu)勢,而數(shù)字化的通信方式是平臺控制的關(guān)鍵。文獻(xiàn)[5~6]介紹了在VC++開發(fā)平臺下,基于MSComm進(jìn)行串口編程的方法。MSComm是VC++的一個(gè)ActiveX控件,它高度集成化的特點(diǎn)使得串口編程更為簡單。但是,在高波特率和高數(shù)據(jù)更新頻率的情況下,用MSComm控件進(jìn)行串口通信編程,主機(jī)CPU的負(fù)荷很重,可靠性也不高。文獻(xiàn)[7~8]闡述了在VC++開發(fā)平臺下基于MOXA多串口卡和MOXA公司提供的PComm函數(shù)庫的多串口實(shí)時(shí)通信的實(shí)現(xiàn)方法。文中提到,利用MOXA多串口卡進(jìn)行串行通信,一方面可以減輕主機(jī)CPU的負(fù)荷,另一方面編程簡單。但是,智能MOXA卡只能工作在RS 232模式下[9~11],其接收數(shù)據(jù)的波特率范圍較窄。本文針對穩(wěn)定平臺的高波特率和高數(shù)據(jù)更新率的通信需求,利用AECMF多串口卡及其庫函數(shù)來實(shí)現(xiàn)串口通信,AECMF能工作在多種串口模式,能智能識別完整幀,能用于高波特率傳輸并且編程簡單。實(shí)驗(yàn)證明AECMF-PCI-4/S2在高波特率、高數(shù)據(jù)更新率下通信可靠。

        2 AECMF多串口卡簡介

        AECMF-PCI-4/S2是一款多串口通訊接口板卡,它提供4個(gè)串行通訊端口,用于連接各種類型的串行設(shè)備、4個(gè)串口可以工作在三種模式:RS 232/RS 422/RS 485,RS232波特率從2400bps到115200bps可選,RS422和異步RS485波特率從2400bps到1.8432Mbps可選。其強(qiáng)大的功能能夠滿足不同用戶的工業(yè)測量和自動(dòng)化控制需求,良好的兼容性適用于各類系統(tǒng)配置。它專為PCI總線設(shè)計(jì),可用于Windows 98/2000/Xp/2003操作系統(tǒng)。AECMF-PCI-4/S2中有專門的FPGA芯片對串口通信進(jìn)行管理,其接收FIFO空間總?cè)萘繛?×8M×8bit,發(fā)送FIFO空間總?cè)萘?×511×8bit。憑借以上兩點(diǎn),AECMF-PCI-4/S2可以大大降低主機(jī)CPU的通信開銷。其功能結(jié)構(gòu)如圖1所示。

        圖1 AECMF-PCI-4/S2多串口卡功能結(jié)構(gòu)圖

        如圖1所示,通過串行電平轉(zhuǎn)換電路,用戶可以對板卡的工作模式進(jìn)行切換。板卡上的FPGA的控制模塊可以對串口進(jìn)行設(shè)置,可以對通信協(xié)議與FIFO進(jìn)行控制。用戶若選擇透明模式接收,則板卡將收到的數(shù)據(jù)直接傳輸給計(jì)算機(jī);用戶若選擇按協(xié)議模式接收,則需要設(shè)置協(xié)議模式、數(shù)據(jù)長度以及幀頭、幀尾等,板卡自動(dòng)判斷是否接收到一幀完整數(shù)據(jù),若已接收到完整數(shù)據(jù)幀,板卡則將其傳輸給計(jì)算機(jī)。

        3 串行通信指標(biāo)及程序流程

        本課題中上位機(jī)采用工控機(jī),下位機(jī)為光纖陀螺捷聯(lián)慣導(dǎo)系統(tǒng)。上位機(jī)實(shí)時(shí)采集慣導(dǎo)輸出的數(shù)據(jù),將數(shù)據(jù)幀解包之后,使用姿態(tài)角和角速率信息控制穩(wěn)定平臺穩(wěn)定。

        慣導(dǎo)系統(tǒng)采用422模式輸出導(dǎo)航數(shù)據(jù)。通信波特率設(shè)置為921.6Kbps,數(shù)據(jù)更新率為1000Hz。普通串口或串口卡難以可靠地接收這樣高波特率和高更新率的數(shù)據(jù),即使能正確接收,上位機(jī)的CPU也將為通信分配很多的資源和時(shí)間,難以再去可靠完成控制系統(tǒng)的其他操作。因此,本課題中使用AECMF-PCI-4/S2實(shí)現(xiàn)穩(wěn)定、可靠、智能化的串口通信。

        通信控制程序中采用多線程技術(shù),在程序中創(chuàng)建了一個(gè)子線程實(shí)現(xiàn)讀串口、提取數(shù)據(jù)、發(fā)送數(shù)據(jù)和界面更新。程序流程如圖2所示。

        圖2 通信程序流程圖

        如圖2所示,程序在主線程中打開板卡,然后創(chuàng)建子線程。串口數(shù)據(jù)首先進(jìn)入AECMF多串口卡的接收FIFO,然后子線程反復(fù)垂詢接收FIFO中是否存儲了一幀以上完整的數(shù)據(jù),若得到的結(jié)果為真,則將數(shù)據(jù)提取到上位機(jī)。上位機(jī)對數(shù)據(jù)進(jìn)行解包、保存和轉(zhuǎn)發(fā),進(jìn)而更新顯示界面。子線程循環(huán)執(zhí)行,直到主線程中關(guān)閉子線程為止。

        4 基于VC++的串行通信實(shí)現(xiàn)

        AECMF-PCI-4/S2驅(qū)動(dòng)程序?yàn)閃indows提供了豐富的接口函數(shù),AECMF-PCI-4/S2驅(qū)動(dòng)程序接口函數(shù)按ANSI C標(biāo)準(zhǔn)編寫,以動(dòng)態(tài)鏈接庫AECMFC4B.dll形式提供給用戶,能滿足用戶對板卡的操作需求。使用該鏈接庫的函數(shù)進(jìn)行串口通信程序的編寫,較之使用API通信函數(shù)進(jìn)行串口通信編程更為簡單。且該庫函數(shù)具有良好的兼容性,能適用于多種編程環(huán)境,因此可以大大縮短用戶的通信程序開發(fā)周期。目前,該庫函數(shù)專門應(yīng)用于運(yùn)行環(huán)境:Windows 98/2000/2003/xp操作系統(tǒng),支持Visual C++、Visual Basic、C++ Builder和Delphi等編程語言。

        要使用AECMFC4B.dll中的函數(shù),必須在編譯選項(xiàng)中指明它所在的路徑。在Visual C++環(huán)境下使用AECMFC4B.dll的庫函數(shù),需要進(jìn)行以下操作。

        1) 將〈windows.h〉和〈AECMFC4B_lib.h〉包含到主程序的源文件中。

        2) 將AECMFC4B.lib文件導(dǎo)出到連接庫列表中。

        3) 將AECMFC4B_lib.h和AECMFC4B.lib文件放到執(zhí)行路徑里面。

        4.1 AECMF串行通信函數(shù)

        本課題中主要用到了以下幾個(gè)AECMFC4B.dll庫函數(shù):

        打開板卡函數(shù):AECMFC4B_Open(phAECMFC4B,CardId)。phAECMFC4B是指針變量,用來存放板卡的句柄;CardId表示板卡編號。

        關(guān)閉板卡函數(shù):AECMFC4B_Close(hAECMFC4B)。hAECMFC4B表示板卡的句柄。

        板卡復(fù)位函數(shù):Sio_Reset(hAECMFC4B)。hAECMFC4B表示板卡的句柄。

        串口工作模式設(shè)置函數(shù):Sio_SetWorkMode(hAECMFC4B,ChannelNo,Mode)。hAECMFC4B表示板卡的句柄;ChannelNo:表示通道號;Mode表示串口工作模式。

        串口數(shù)據(jù)傳輸格式設(shè)置函數(shù):Sio_SetDataFormat(hAECMFC4B,ChannelNo,DataFmt)。hAECMFC4B表示板卡的句柄;ChannelNo:表示通道號;DataFmt為結(jié)構(gòu)指針變量,存有串口工作的波特率、數(shù)據(jù)位長度、停止位長度及奇偶校驗(yàn)位設(shè)置。

        串口數(shù)據(jù)幀格式設(shè)置函數(shù):Sio_SetFrameFormat(hAECMFC4B,ChannelNo,FrameFmt)。hAECMFC4B表示板卡的句柄;ChannelNo:表示通道號;FrameFmt為結(jié)構(gòu)指針變量,存有串口幀格式。

        串口數(shù)據(jù)接收方式設(shè)置函數(shù):Sio_SetRevMode(hAECMFC4B,ChannelNo,RevMode)。hAECMFC4B表示板卡的句柄;ChannelNo:表示通道號;RevMode為結(jié)構(gòu)指針變量,存有串口數(shù)據(jù)接收方式。

        函數(shù)Sio_Rx_IsFrameOver(hAECMFC4B,ChannelNo)。hAECMFC4B表示板卡的句柄;ChannelNo表示通道號。

        函數(shù)Sio_ReadFrame(hAECMFC4B,ChannelNo,RxBuf,nResult)。hAECMFC4B表示板卡的句柄;ChannelNo表示通道號;RxBuf為接收buffer,用來存放接收到的數(shù)據(jù)幀;nResult用來存放幀長度。

        4.2 部分程序代碼

        本課題的通信控制軟件中,使用AECMFC4B.dll庫函數(shù)進(jìn)行串行通信編程的部分代碼如下:

        hCard = NULL; // 板卡的句柄

        btCardID = 0; // card's ID

        CH_RMAX=1; // 最大通道數(shù)

        for (i=0; i

        {

        // 設(shè)置串口位傳輸格式

        stdf[i].BaudRate = 921600; // 設(shè)置波特率

        stdf[i].DataLength = 8; // 設(shè)置數(shù)據(jù)位長度

        stdf[i].StopBits = 1; // 設(shè)置停止位長度

        stdf[i].ParityEnable = FALSE; // 校驗(yàn)位使能

        stdf[i].EvenParity = FALSE; // 設(shè)置校驗(yàn)?zāi)J?/p>

        // 設(shè)置串口數(shù)據(jù)幀格式

        stff[i].HDR = 0x99; // 設(shè)置幀頭1

        stff[i].EDR = 0x66; // 設(shè)置幀頭2

        stff[i].LENR = 43; // 設(shè)置數(shù)據(jù)幀長度

        // 設(shè)置數(shù)據(jù)接收方式

        strm[i].IsProtocol = TRUE; // 設(shè)置數(shù)據(jù)接收方式為協(xié)議接收

        strm[i].ProtocolSel = 0; //串口幀協(xié)議選擇

        strm[i].SumCheckEN = FALSE; //協(xié)議接收時(shí),硬件是否對校驗(yàn)和部分進(jìn)行檢驗(yàn)

        strm[i].HeadIncluded = FALSE; //協(xié)議接收時(shí),校驗(yàn)和是否包含幀起始符

        // 串口工作模式設(shè)置

        wmode[i] = 1; // 設(shè)置串口工作模式為422模式

        ……

        }

        AECMFC4B_Open(&hCard, btCardID) // 打開板卡并分配板卡資源

        Sio_Reset(hCard) // 復(fù)位所有FIFO

        for (i=0; i

        {

        Sio_SetWorkMode(hCard, i, wmode[i]) // 設(shè)置板卡工作模式

        Sio_SetRevMode(hCard, i, &(strm[i])) // 設(shè)置數(shù)據(jù)接收方式

        Sio_SetDataFormat(hCard, i, &stdf[i]) // 設(shè)置串口位傳輸格式

        Sio_SetFrameFormat(hCard, i, &stff[i]) // 設(shè)置串口數(shù)據(jù)幀格式

        }

        // 子線程線程

        DWORD WINAPI thread422(LPVOID lpParam)

        {

        WORD rt=0,wd=0;

        BYTE bufRx[RX_BUF_SIZE], chno=0;;

        int i=0;

        while (isNeedThread) // 當(dāng)接收數(shù)據(jù)的標(biāo)志位有效時(shí),進(jìn)入解碼程序

        {

        if (strm[chno].IsProtocol) //是否按協(xié)議方式接收

        {

        if (Sio_Rx_IsFrameOver(hCard, chno)) // 是否至少接收到1幀數(shù)據(jù)

        {

        union Data data;

        Sio_ReadFrame(hCard, chno, bufRx, &rt);// bufRx為讀串口的緩沖區(qū)

        ……

        } //end of if (Sio_Rx_IsFrameOver(hCard, chno))

        }

        } // end of while (isNeedThread)…

        ……

        ExitThread(0);

        }

        5 結(jié)語

        數(shù)字化穩(wěn)定平臺的控制精度取決于測量元件的精度、伺服控制回路的數(shù)據(jù)更新頻率等因素。要想提高平臺在各種工況下的控制精度,就必須提高控制回路的伺服控制周期。因此,高速、穩(wěn)定、可靠的通信是數(shù)字化平臺控制系統(tǒng)的關(guān)鍵環(huán)節(jié)。

        AECMF多串口卡有工作模式多樣、能智能識別完整數(shù)據(jù)幀、傳輸波特率可選范圍廣以及編程簡單、工作可靠等優(yōu)勢,能夠滿足不同用戶的工業(yè)測量和自動(dòng)化控制需求。本文利用AECMF多串口卡實(shí)現(xiàn)了高波特率和高數(shù)據(jù)更新率的串行通信,實(shí)驗(yàn)證明,該通信系統(tǒng)工作穩(wěn)定可靠。

        [1] 馬海龍.船用激光測距儀穩(wěn)定平臺的設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工程大學(xué),2012:65-75.

        [2] 陳明杰.基于TMS320F28335數(shù)字光電穩(wěn)定系統(tǒng)的研究[D].哈爾濱:哈爾濱工程大學(xué),2012:23-39.

        [3] 朱華征,周曉堯,張文博,等.光電穩(wěn)定平臺中陀螺隨機(jī)漂移的處理方法[J].中國慣性技術(shù)學(xué)報(bào),2009,17(2):225-230.

        [4] 周向陽,劉煒.航空遙感慣性穩(wěn)定平臺振動(dòng)特性分析與隔振系統(tǒng)設(shè)計(jì)[J].中國慣性技術(shù)學(xué)報(bào),2012,20(3):266-272.

        [5] 李薇,耿淑琴.基于VC實(shí)現(xiàn)MSP430與PC之間的異步串行通信[J].微型機(jī)與應(yīng)用,2012,31(5):23-25.

        [6] 周小剛,單斌,汪立新,等.基于PC104的嵌入式轉(zhuǎn)臺控制系統(tǒng)設(shè)計(jì)[J].自動(dòng)化應(yīng)用,2013(1):62-24.

        [7] 趙素娟.基于Moxa多串口卡的多串口通信的VC++實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2011(8):117-123.

        [8] 李瑞先.VC++中基于Moxa多串口卡串行通信的實(shí)現(xiàn)[J].通信技術(shù),2009,42(11):71-72,192.

        [9] 柯伯樂,池紅,湯天浩.基于MOXA多串口卡的多串口通信的實(shí)現(xiàn)[J].自動(dòng)化儀表,2004,25(11):17-20.

        [10] 劉安,曹劍中,劉波,等.實(shí)時(shí)控制系統(tǒng)MOx多串口卡同步串行通信容錯(cuò)算法[J].科學(xué)技術(shù)與工程,2005,5(15):1095-1099.

        [11] 丁正華,江凌云.MOXA C320Turbo多串口卡在數(shù)據(jù)實(shí)時(shí)傳輸中的應(yīng)用[J].遙測遙控,2002,23(2):62-63.

        The Fiber-optic Inertial Stable Platform Communication Strategy Based on AECMF

        XU Cai1XU Zhenguo1GUO Bin2

        (1. Navy Representative Office in the 719th Research Institute, Wuhan 430205) (2. The Department of Navigation, Navy University of Engineering, Wuhan 430033)

        Communication system is a key part of digital stable platform. Communication strategy based on AECMF is formulated, concerning the high baud rate and data update rate needed by the stable platform. The principle and characteristics of AECMF multi-port card are introduced. The process of the program is designed. Serial communication is realized based on VC++. The experimental results show that the communication system works stably and reliably.

        stable platform, AECMF, serial communication, VC++

        2014年10月12日,

        2014年11月27日

        國家重大科學(xué)儀器開發(fā)專項(xiàng)(編號:2011YQ12004502);國家自然科學(xué)基金(編號:41404002);海軍工程大學(xué)青年基金(編號:HGDQNEQJJ13011)資助。

        許彩,女,碩士,助理工程師,研究方向:慣性技術(shù)及應(yīng)用。徐振國,男,高級工程師,研究方向:慣性技術(shù)及應(yīng)用。郭斌,男,碩士研究生,研究方向:慣性技術(shù)及應(yīng)用。

        TN967.2

        10.3969/j.issn1672-9730.2015.04.017

        猜你喜歡
        設(shè)置
        中隊(duì)崗位該如何設(shè)置
        船舶防火結(jié)構(gòu)及設(shè)置的缺陷與整改
        水上消防(2020年5期)2020-12-14 07:16:18
        中外醫(yī)學(xué)專業(yè)與??圃O(shè)置對比分析及啟示
        特殊場景下列控等級轉(zhuǎn)換的設(shè)置方案
        7招教你手動(dòng)設(shè)置參數(shù)
        動(dòng)車段(所)股道有效長設(shè)置研究
        我國中小學(xué)將設(shè)置人工智能相關(guān)課程
        玩具世界(2017年9期)2017-11-24 05:17:29
        吃紙的妖怪
        本刊欄目設(shè)置說明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        天天色影网| 少妇我被躁爽到高潮在线影片| 午夜影院免费观看小视频| 人妻 丝袜美腿 中文字幕| 香港日本三级亚洲三级| 精品无码久久久九九九AV| 二区三区视频在线观看| 亚洲国产丝袜久久久精品一区二区 | 四月婷婷丁香七月色综合高清国产裸聊在线| 91青青草久久| 久久精见国产亚洲av高清热| 国产a在亚洲线播放| 插鸡网站在线播放免费观看| 国产精品无码av一区二区三区| 欧美久久久久中文字幕| 亚洲一区二区三区亚洲| 大奶白浆视频在线观看| 免费无码一区二区三区蜜桃大| 欧美视频九九一区二区| 在线亚洲精品免费视频| 亚洲一区二区女搞男| 黄色视频免费在线观看| 午夜国产一区二区三区精品不卡| 美女把内衣内裤脱了给男人舔| 免费看美女被靠到爽的视频 | 亚洲无av在线中文字幕| 国产乱人伦av在线无码| 91精品在线免费| 久久亚洲精品国产av| 中文字幕日韩人妻不卡一区| 人妻少妇偷人精品无码 | 无码人妻一区二区三区兔费| 日韩精品一区二区三区视频| 日本第一区二区三区视频| 少妇免费av一区二区三区久久| 国产午夜精品一区二区三区嫩草| 久久91综合国产91久久精品| 日本老熟女一区二区三区| 午夜成人理论福利片| 人人妻人人澡人人爽人人精品电影| 美女黄网站永久免费观看网站|