• 
    

    
    

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

      ?

      聲納信號發(fā)生器通信控制模塊的設(shè)計與實現(xiàn)

      2012-09-26 02:27:42胡金華
      電子設(shè)計工程 2012年21期
      關(guān)鍵詞:客戶機聲納網(wǎng)絡(luò)通信

      饒 喆,胡金華,陳 迪

      (海軍工程大學(xué) 電子工程學(xué)院,湖北 武漢 430033)

      在聲納維修訓(xùn)練過程中,通常需要產(chǎn)生一些特殊波形,用于仿真實際信號波形。由于一般信號發(fā)生器模式固定、波形不可程控以及精度較低等問題,難以實現(xiàn)參訓(xùn)人員進行實時信號檢測。為了滿足訓(xùn)練需求和易操作性,提高維修訓(xùn)練效率,聲納信號信號發(fā)生器的通信控制采用客戶機/服務(wù)器的網(wǎng)絡(luò)模式??蛻魴C/服務(wù)器模式發(fā)展迅速、占用資源少且通信速率高,已經(jīng)成為通信控制領(lǐng)域的主要通信標準[1]。

      1 總體結(jié)構(gòu)設(shè)計

      網(wǎng)絡(luò)通信控制模塊采用局域網(wǎng)結(jié)構(gòu),如圖1所示。通過網(wǎng)線連接一臺服務(wù)器和1000/100Mbps的Cisco3524交換機,交換機輸出端口連接至客戶機,保證實時數(shù)據(jù)傳輸。

      網(wǎng)絡(luò)通信控制的對象是聲納信號發(fā)生器,該信號發(fā)生器基于研華公司的PCI-1711多功能數(shù)據(jù)采集卡,該卡具有16路單端模擬量輸入、12位A/D轉(zhuǎn)換器(采樣速率可達100 kHz)、兩路12位模擬信號輸出、16路數(shù)字量輸入和輸出等特點,可通過VC++編程產(chǎn)生正弦波、方波、三角波等任意波形信號,其信號幅度、頻率、脈寬、持續(xù)時間等參數(shù)在硬件允許范圍內(nèi)可根據(jù)用戶需求而設(shè)定[2]。

      圖1 網(wǎng)絡(luò)通信控制結(jié)構(gòu)圖Fig.1 Structure diagram of the network communication control

      PCI-1711卡使用時,選用電纜PCL-10168將板卡與接線端子板ADAM-3968相連,聲納信號發(fā)生器通過服務(wù)器輸出的數(shù)字控制量,利用PCI-1711的12位D/A轉(zhuǎn)換功能,將數(shù)字控制量轉(zhuǎn)換為模擬信號,從而實現(xiàn)任意波形輸出。

      根據(jù)維修訓(xùn)練任務(wù),客戶機通過高速局域網(wǎng)與服務(wù)器進行通信,將信號發(fā)生器的信號參數(shù)發(fā)送給服務(wù)器,服務(wù)器響應(yīng)客戶機的請求后,由接線端子板ADAM-3968輸出的相應(yīng)信號,經(jīng)信號調(diào)理后供維修訓(xùn)練人員檢測。

      2 網(wǎng)絡(luò)通信控制的設(shè)計

      2.1 WinSock網(wǎng)絡(luò)通信

      WinSock定義了一套在Windows開發(fā)標準下的TCP/IP網(wǎng)絡(luò)程序接口,并包含了針對Windows的擴展庫函數(shù),使程序員能夠充分地利用消息驅(qū)動機制和異步網(wǎng)絡(luò)事件選擇方式進行編程。Windows Sockets進行網(wǎng)絡(luò)通信通常運用CAsyncSocket類和派生于CAsyncSocket的 CSocket類兩種編程模式,這兩個類對WinSock API函數(shù)進行了封裝,使用經(jīng)過封裝的WinSock類可減小編程工作量。在編程時通過對事件處理函數(shù)進行重載,用戶可以在應(yīng)用程序中很方便地對套接字發(fā)送和接收數(shù)據(jù)等事件進行處理。

      所有Winsock的實現(xiàn)都支持Stream Sockets(流式套接字)和 Datagram Sockets(數(shù)據(jù)報套接字),Stream Sockets提供有序的、無差錯的、面向連接的、無長度限制的雙向字節(jié)流傳輸、Datagram Sockets支持雙向的數(shù)據(jù)傳輸、提供不可靠的、無連接的數(shù)據(jù)報通信模式,不能保證數(shù)據(jù)準確傳輸。

      2.2 客戶端/服務(wù)器模式

      利用Socket進行網(wǎng)絡(luò)編程,涉及到C/S(客戶機/服務(wù)器)模式,即客戶端向服務(wù)器發(fā)出請求,服務(wù)器接收到請求后提供相應(yīng)的服務(wù).首先服務(wù)器要啟動,并打開通信通道,偵聽客機方是否有連接請求,待客戶機發(fā)出請求數(shù)據(jù)后,根據(jù)請求數(shù)據(jù)提供相應(yīng)服務(wù)。其次客戶機要等待服務(wù)器的接收應(yīng)答數(shù)據(jù)才可繼續(xù)提出請求。最后,當客戶機請求結(jié)束后方可關(guān)閉通信通道。

      用戶可通過客戶機向服務(wù)器發(fā)送請求數(shù)據(jù),服務(wù)器處理該請求并將該數(shù)據(jù)信息提取后,將信息參數(shù)傳遞給信號發(fā)生器,實現(xiàn)波形信號的產(chǎn)生。

      3 程序設(shè)計思想

      3.1 客戶機信息錄入方式

      為滿足聲納裝備維修訓(xùn)練的要求,設(shè)計聲納信號數(shù)據(jù)庫時應(yīng)考慮可擴展性和通用性。因此,客戶端信號參數(shù)設(shè)置可采用讀取表格的方式,表格具有高可讀性、方便修改等優(yōu)點,有利于非專業(yè)人員在不修改程序的情況下,根據(jù)訓(xùn)練任務(wù)完成信號參數(shù)的設(shè)置。

      3.2 客戶機與服務(wù)器通信

      服務(wù)器[3]首先啟動,通過調(diào)用socket(,創(chuàng)建套接字,然后調(diào)用bind(,將套接字和本地網(wǎng)絡(luò)地址關(guān)聯(lián),再調(diào)用listen(,使套接字做好偵聽準備,之后就調(diào)用accept(,來等待客戶機的連接;客戶機啟動后,創(chuàng)建套接字并調(diào)用connect(,和服務(wù)器建立連接,客戶機和服務(wù)器之間就可以調(diào)用receive(,和send(,來收發(fā)數(shù)據(jù)。在完成通信后,雙方調(diào)用close(,關(guān)閉套接字,然后退出。

      3.3 數(shù)據(jù)采集與控制

      服務(wù)器接收來自客戶端的數(shù)據(jù)信息后,寫入到寄存器中,通過PCI-1711卡的軟件觸發(fā)編程方式,查詢寄存器實現(xiàn)數(shù)據(jù)的采集,利用中斷服務(wù)程序?qū)⒉杉臄?shù)據(jù)傳輸?shù)筋A(yù)先定義好的內(nèi)存變量中,完成參數(shù)的傳遞,實現(xiàn)變量的賦值,從而控制信號發(fā)生器的信號輸出。

      系統(tǒng)的通信控制流程如圖2所示。

      圖2 通信控制流程圖Fig.2 Flow chart of the communication control

      4 應(yīng)用實例

      下面結(jié)合本人課題中的聲納信號發(fā)生器通信控制部分,通過一個客戶機/服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用程序,在VC開發(fā)平臺上實現(xiàn)本系統(tǒng)功能[4-6]。主要程序代碼如下:

      創(chuàng)建服務(wù)器對話框并對套接字進行初始化,然后服務(wù)器開始偵聽客戶機的連接。

      客戶機也建立一個套接字,設(shè)置服務(wù)器IP和端口號,在與服務(wù)器建立連接后,將線路的狀態(tài)信息發(fā)送給服務(wù)器端。

      客戶機讀取表格數(shù)據(jù)并向服務(wù)器發(fā)送數(shù)據(jù),此處將表格數(shù)據(jù)保存在文本文件中,通過VC對文本文件的讀取操作,實現(xiàn)數(shù)據(jù)通信。

      服務(wù)器接收數(shù)據(jù),并返回該數(shù)據(jù)以確認數(shù)據(jù)收發(fā)正確,保證通信正常,同時將數(shù)據(jù)寫入文本文件,再將該文本文件中的數(shù)據(jù)信息讀入到信號發(fā)生函數(shù)的相應(yīng)變量中,實現(xiàn)信號發(fā)生器指定信號的輸出。

      客戶機/服務(wù)器實現(xiàn)數(shù)據(jù)通信功能,其結(jié)果如圖3所示。

      圖3 數(shù)據(jù)通信示例Fig.3 Data communication example

      正弦信號波形在示波器中的顯示結(jié)果如圖4所示,其幅度在 0~10 V,頻率在 1~1 kHz內(nèi)任意可調(diào)。

      5 結(jié)束語

      介紹了在客戶機/服務(wù)器模式下,運用Winsock網(wǎng)絡(luò)編程技術(shù),通過網(wǎng)絡(luò)通信實現(xiàn)聲納信號發(fā)生器的控制。模塊設(shè)計從聲納維修訓(xùn)練的需求出發(fā),結(jié)合了裝備的特點,具有一定的實用性和可擴展性。實驗測試的結(jié)果說明該通信控制的設(shè)計方案合理,采用的軟件開發(fā)工具和硬件設(shè)備能夠?qū)崿F(xiàn)系統(tǒng)功能。

      圖4 正弦信號Fig.4 Sine signal

      [1]孫業(yè)國,秦世引.網(wǎng)絡(luò)控制系統(tǒng)研究進展 [J].科技導(dǎo)報,2010,28(2):109-115.

      SUN Ye-guo,QIN Shi-yin.The progress of network control system[J].Science&Technology Review,2010,28(2):109-115.

      [2]王星,蔡廷文.基于VC++的數(shù)據(jù)采集系統(tǒng)[J].計算機應(yīng)用技術(shù),2006,33(11):41-43.

      WANG Xing,CAI Ting-wen.The data acquisition system based on VC++[J].Technology of Computer Application,2006,33(11):41-43.

      [3]馬永宏,劉載文,賈永振.VC++環(huán)境下基于WinSock的網(wǎng)絡(luò)通信[J].北京工商大學(xué)學(xué)報:自然科學(xué)版,2006,24(6):40-44.

      MA Yong-hong,LIU Zai-wen,JIA Yong-zhen.Network communication based on WinSock in VC++[J].Journal of Beijing Technology and business University:Natual Science Edition,2006,24(6):40-44.

      [4]胡志坤,秦業(yè),鄢峰,等.Visual C++通信編程工程實例精解[M].北京:機械工業(yè)出版社,2007.

      [5]魏揚.基于JAVA Socket網(wǎng)絡(luò)通信模型設(shè)計與實現(xiàn)[J].內(nèi)江科技,2011(8):97.

      WEI Yang.Design and implement socket model of network communication on Java[J].Neijiang Technology,2011(8):97.

      [6]胡鳴.Windows網(wǎng)絡(luò)編程技術(shù)[M].北京:科學(xué)出版社,2008.

      猜你喜歡
      客戶機聲納網(wǎng)絡(luò)通信
      Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
      Daniel Kish
      船載調(diào)頻連續(xù)波聲納測深技術(shù)研究
      基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計
      電子制作(2019年15期)2019-08-27 01:11:48
      基于聽覺特征的被動聲納目標識別
      電子測試(2018年14期)2018-09-26 06:04:12
      網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
      基于網(wǎng)絡(luò)通信的校園智能音箱設(shè)計
      電子制作(2018年1期)2018-04-04 01:48:30
      談計算機網(wǎng)絡(luò)通信常見問題及技術(shù)發(fā)展
      電子制作(2017年17期)2017-12-18 06:41:06
      關(guān)于聲納發(fā)射電源的改進設(shè)計
      瘦客戶機:安全與便捷的選擇
      迁安市| 松阳县| 安多县| 黄石市| 拉孜县| 东宁县| 重庆市| 尼玛县| 镇雄县| 阜平县| 霍州市| 丽水市| 两当县| 志丹县| 太谷县| 东宁县| 湖州市| 永安市| 章丘市| 龙山县| 龙门县| 隆德县| 运城市| 抚远县| 郴州市| 遵化市| 黔西| 子长县| 天长市| 托里县| 江北区| 安达市| 六盘水市| 图们市| 进贤县| 鄂尔多斯市| 临汾市| 娄底市| 湄潭县| 富阳市| 喀什市|