• 
    

    
    

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

      ?

      激光打靶多路數(shù)據(jù)通信系統(tǒng)設(shè)計(jì)

      2012-09-12 03:22:48銳,
      電子測(cè)試 2012年11期
      關(guān)鍵詞:數(shù)據(jù)通信控件串口

      周 銳, 周 健

      (1. 中北大學(xué) 信息與通信工程學(xué)院, 太原 030051; 2.國(guó)營(yíng)781廠, 蘭州 730000)

      0 引言

      在我國(guó)部隊(duì)中,戰(zhàn)士在進(jìn)行射擊打靶訓(xùn)練時(shí),現(xiàn)在一般仍采取傳統(tǒng)的實(shí)彈射擊訓(xùn)練方法,激光模擬訓(xùn)練器材還沒(méi)有裝備使用,實(shí)彈射擊訓(xùn)練不僅浪費(fèi)彈藥,而且危險(xiǎn)性高,組織實(shí)施比較困難。用激光射擊系統(tǒng)模擬實(shí)彈射擊,節(jié)省了彈藥的同時(shí)又能提高訓(xùn)練的安全性并獲得實(shí)彈射擊同樣的效果,大大提高戰(zhàn)士們的實(shí)際水平。利用含有激光技術(shù)、單片機(jī)技術(shù)、傳感器和微電子技術(shù)的模擬射擊訓(xùn)練系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn),對(duì)國(guó)防建設(shè)現(xiàn)代化,軍事訓(xùn)練智能化、提高部隊(duì)整體素質(zhì),以及節(jié)約國(guó)防開(kāi)支都具有重要意義。

      1 系統(tǒng)總體設(shè)計(jì)

      為了提高系統(tǒng)在通信過(guò)程中的性能,本系統(tǒng)在設(shè)計(jì)時(shí)采用RS485總線進(jìn)行串行數(shù)據(jù)的通信。系統(tǒng)中計(jì)算機(jī)通過(guò)調(diào)用串口控件與外部的RS232C進(jìn)行通信,RS232C與RS485總線標(biāo)準(zhǔn)間的轉(zhuǎn)換通過(guò)RS232/RS485轉(zhuǎn)換器來(lái)實(shí)現(xiàn)。各單片機(jī)與RS485總線的連接通過(guò)SN75176芯片來(lái)實(shí)現(xiàn)。

      本系統(tǒng)的設(shè)計(jì)容量為12個(gè)終端和一臺(tái)控制器(計(jì)算機(jī)),2者都與RS485總線進(jìn)行連接通信,根據(jù)系統(tǒng)設(shè)計(jì)的具體要求,其總體設(shè)計(jì)框圖如圖1所示。

      圖1 多路數(shù)據(jù)通信系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)

      2 系統(tǒng)硬件和軟件設(shè)計(jì)

      2.1 RS485總線電路設(shè)計(jì)

      RS485是一種多發(fā)送器的電路標(biāo)準(zhǔn),電路結(jié)構(gòu)是在平衡連接電纜兩端由終端電阻,在平衡電纜上掛發(fā)送器、接收器、組合收發(fā)器。在一般的RS485總線多機(jī)串行通信系統(tǒng)設(shè)計(jì)中,均采用主從式結(jié)構(gòu)。圖2所示為采用SN75176芯片和RS485總線構(gòu)成的單片機(jī)間多機(jī)通信的原理圖。

      圖2 采用RS485構(gòu)成的多單片機(jī)通信原理圖

      如圖2所示,在總線末端需要接一個(gè)匹配電阻,來(lái)吸收總線上的反射信號(hào),保證正常傳輸信號(hào)干凈、無(wú)毛刺。匹配電阻的取值應(yīng)該與總線的特性阻抗相當(dāng)。

      2.2 微機(jī)的串行通信協(xié)議設(shè)計(jì)

      要保證通信的可靠性,必須有嚴(yán)格的通信協(xié)議。下面是本設(shè)計(jì)中涉及到的最基本的幾條協(xié)議:

      (1)系統(tǒng)中從機(jī)容量最多可為255臺(tái),分別設(shè)置其地址為00H~FEH;

      (2)地址FFH是對(duì)所有從機(jī)都起作用的一條控制命令,命令各個(gè)從機(jī)可以恢復(fù)SM2=1時(shí)的狀態(tài);

      (3)數(shù)據(jù)塊的長(zhǎng)度設(shè)為16個(gè)字節(jié);

      (4)主從機(jī)間的聯(lián)絡(luò)過(guò)程為:主機(jī)首先發(fā)送地址,被尋址從機(jī)返回本機(jī)地址給主機(jī),如果判斷其地址相符后,主機(jī)給其發(fā)送控制命令,該從機(jī)根據(jù)主機(jī)的命令回送主機(jī)本機(jī)的狀態(tài),如果主機(jī)判斷狀態(tài)正常,則開(kāi)始發(fā)送或接收數(shù)據(jù),其第一個(gè)字節(jié)是數(shù)據(jù)塊的長(zhǎng)度;

      (5)設(shè)定主機(jī)發(fā)送的控制命令代碼為:

      00:要求從機(jī)接收數(shù)據(jù)塊;

      01:要求從機(jī)發(fā)送數(shù)據(jù)塊;

      (6)從機(jī)狀態(tài)字的基本格式為:

      D7 D6 D5 D4 D3 D2 D1 D0 ERR 0 0 0 0 0 TRDY RRDY

      ERR=1,從機(jī)接收到非法命令;

      TRDY=1,從機(jī)發(fā)送準(zhǔn)備就緒;

      RRDY=1,從機(jī)接收準(zhǔn)備就緒。

      本系統(tǒng)采用的標(biāo)準(zhǔn)是異步串行通信模式,傳輸?shù)臄?shù)據(jù)格式設(shè)置為11位,即:1位起始位、8位數(shù)據(jù)位、1位校驗(yàn)位、1位停止位。

      通信協(xié)議包括3種幀格式:呼叫幀、應(yīng)答幀和數(shù)據(jù)幀。

      呼叫幀是由上位機(jī)發(fā)出的,它的格式為起始字符、下位機(jī)地址和異或校驗(yàn)位。依據(jù)其功能細(xì)分為呼叫幀1和呼叫幀2,呼叫幀1用來(lái)輪詢各臺(tái)下位機(jī)的狀態(tài);呼叫幀2則用來(lái)關(guān)閉輪詢,而只與一臺(tái)下位機(jī)進(jìn)行通信,接下來(lái)上位機(jī)開(kāi)始與某一臺(tái)下位機(jī)通過(guò)數(shù)據(jù)幀進(jìn)行一對(duì)一的大量數(shù)據(jù)通信。

      應(yīng)答幀只能由下位機(jī)發(fā)出。當(dāng)下位機(jī)收到呼叫幀后,把本機(jī)地址和當(dāng)前狀態(tài)回發(fā)給上位機(jī)。

      上下位機(jī)都能發(fā)出數(shù)據(jù)幀,這是上下位機(jī)間進(jìn)行大量數(shù)據(jù)傳輸?shù)幕靖袷?。在發(fā)數(shù)據(jù)幀前,上位機(jī)通過(guò)呼叫幀2與某一臺(tái)下位機(jī)形成一對(duì)一的連接。

      2.3 通信功能實(shí)現(xiàn)的軟件設(shè)計(jì)

      控制AT89S52單片機(jī)串行口的控制寄存器共有2個(gè):特殊功能寄存器SCON和PCON,分別用于設(shè)定4種不同的通信方式及定義波特率。它的串行口工作方式3是可變波特率的9位數(shù)據(jù)異步通信方式,發(fā)送或接收一幀數(shù)據(jù)為11位:1位起始位(0)、8位數(shù)據(jù)位、l位附加的校驗(yàn)位和1位停止位(1)。其中附加的第9位數(shù)據(jù)是可編程的,利用這一可控的第9位數(shù)據(jù),同時(shí)設(shè)置好傳輸波特率和數(shù)據(jù)傳輸格式就可以實(shí)現(xiàn)多機(jī)通信。主機(jī)與從機(jī)的通信程序流程框圖如圖3所示。其中:左圖為發(fā)送流程圖;右圖為接收流程圖。

      圖3 通信程序設(shè)計(jì)流程圖

      2.4 Visual C++編程實(shí)現(xiàn)串口通信

      本系統(tǒng)使用Visual C++中的MScomm控件實(shí)現(xiàn)串口通信功能。MScomm是Microsoft公司提供的簡(jiǎn)化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過(guò)串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法。

      (1)在建立的Project中添加了類CMSComm,打開(kāi)“Project->Add to Project ->Components->and Controls-> Registered ActiveX Controls”菜單選擇Components: Microsoft Communi -cations Control version 6.0;(2)在對(duì)話框上添加MSComm控件及其ID的控制變量;(3)對(duì)串口進(jìn)行初始化,設(shè)置MSComm控件的屬性;(4)添加串口事件的消息處理函數(shù)OnComm()函數(shù),在函數(shù)中編寫數(shù)據(jù)處理代碼;(5)編寫串口發(fā)送等其它代碼;(6)關(guān)閉串口。

      3 系統(tǒng)測(cè)試與結(jié)論

      圖4是用Microsoft Visual Studio 2008編寫測(cè)測(cè)試程序,從圖中可以看出,系統(tǒng)達(dá)到了設(shè)計(jì)目標(biāo),基本實(shí)現(xiàn)了激光打靶數(shù)據(jù)通信的功能。后續(xù)的工作還要完善計(jì)算機(jī)上位機(jī)程序,完成激光打靶數(shù)據(jù)處理系統(tǒng)和數(shù)據(jù)庫(kù)的建立。

      圖4 測(cè)試程序顯示結(jié)果

      本文所述的激光打靶多路數(shù)據(jù)通信系統(tǒng)滿足了我軍部隊(duì)射擊模擬訓(xùn)練的需要。體積小,經(jīng)濟(jì)實(shí)用,完全擺脫了其他電子訓(xùn)練設(shè)備臃腫的外貌。操作方便,維護(hù)簡(jiǎn)單,提高了部隊(duì)進(jìn)行群體射擊訓(xùn)練的效率。解決了激光打靶系統(tǒng)的連網(wǎng)問(wèn)題,滿足了部隊(duì)群體訓(xùn)練的需要。

      [1]馬明建,周長(zhǎng)城.數(shù)據(jù)采集與處理技術(shù)[M].西安:西安交通大學(xué)出版社,1999.

      [2]Intel Corporation.MCS51 Microcontroller Family Programmer’s Guide and Instruction Set[R].Intel Corporation ,1997.

      [3]蔡美琴.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用[M].北京:高等教育出版社,1992.

      [4]毛謙敏.單片機(jī)原理及應(yīng)用教程[M].北京:國(guó)防工業(yè)出版社,2005.

      [5]周志光,劉定良.單片機(jī)技術(shù)與應(yīng)用[M].長(zhǎng)沙:中南大學(xué)出版社,2005.

      [6]M Asim Khan.PC RS422 INTERFACE,2002[EB/OL].http://wenku.baidu.com/view/0b790dd6 360cba1aa811da09.html.

      [7]東方人華,李秀敏,凌宇欣.Visual C++ 6.0范例入門與提高[M].北京:清華大學(xué)出版社,2003.

      [8]劉曉華.精通MFC[M].北京:電子工業(yè)出版社,2003.

      猜你喜歡
      數(shù)據(jù)通信控件串口
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      基于快牙平臺(tái)實(shí)現(xiàn)全站儀與計(jì)算機(jī)的數(shù)據(jù)通信
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      監(jiān)測(cè)系統(tǒng)接口數(shù)據(jù)通信方式
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      一種高效可靠的串行數(shù)據(jù)通信協(xié)議及處理算法
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
      TCN實(shí)時(shí)協(xié)議棧過(guò)程數(shù)據(jù)通信研究
      基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
      就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      碌曲县| 苏尼特右旗| 罗山县| 句容市| 昌江| 周口市| 喀什市| 探索| 巍山| 仙游县| 信阳市| 姚安县| 澳门| 商水县| 泽普县| 北碚区| 天台县| 宁都县| 扶沟县| 安新县| 阿图什市| 临西县| 荆门市| 双柏县| 深水埗区| 西畴县| 山东| 商洛市| 高邑县| 本溪| 新竹县| 鄂温| 乳源| 含山县| 青田县| 张家港市| 武陟县| 深水埗区| 河北省| 翁源县| 潜山县|