聲納信號發(fā)生器通信控制模塊的設(shè)計與實現(xiàn)
摘要:文中針對某型聲納維修訓(xùn)練系統(tǒng)的通信需求,結(jié)合聲納信號發(fā)生器的特點,提出了基于C/S模式的通信控制模塊設(shè)計方案。模塊采用Winsock網(wǎng)絡(luò)編程技術(shù)實現(xiàn)了客戶機與服務(wù)器間高速局域網(wǎng)通信,服務(wù)器響應(yīng)客戶機的請求后,輸出數(shù)字控制量并利用PCI-1711的12位D/A轉(zhuǎn)換功能,將數(shù)字控制量轉(zhuǎn)換為模擬信號,從而實現(xiàn)聲納信號發(fā)生器任意波形產(chǎn)生。試信號發(fā)生器輸出信號的幅度、頻率、脈寬、持續(xù)時間等參數(shù)均可通過網(wǎng)絡(luò)通信方式設(shè)置,并易于調(diào)節(jié)。本系統(tǒng)控制靈活,具有較高的實用價值。
關(guān)鍵詞:C/S;Winsock;通信控制;聲納信號發(fā)生器
在聲納維修訓(xùn)練過程中,通常需要產(chǎn)生一些特殊波形,用于仿真實際信號波形。由于一般信號發(fā)生器模式固定、波形不可程控以及精度較低等問題,難以實現(xiàn)參訓(xùn)人員進(jìn)行實時信號檢測。為了滿足訓(xùn)練需求和易操作性,提高維修訓(xùn)練效率,聲納信號信號發(fā)生器的通信控制采用客戶機/服務(wù)器的網(wǎng)絡(luò)模式??蛻魴C/服務(wù)器模式發(fā)展迅速、占用資源少且通信速率高,已經(jīng)成為通信控制領(lǐng)域的主要通信標(biāo)準(zhǔn)。
1 總體結(jié)構(gòu)設(shè)計
網(wǎng)絡(luò)通信控制模塊采用局域網(wǎng)結(jié)構(gòu),如圖1所示。通過網(wǎng)線連接一臺服務(wù)器和1000/100Mbps的Ciseo3524交換機,交換機輸出端口連接至客戶機,保證實時數(shù)據(jù)傳輸。
網(wǎng)絡(luò)通信控制的對象是聲納信號發(fā)生器,該信號發(fā)生器基于研華公司的PCI-1711多功能數(shù)據(jù)采集卡,該卡具有16路單端模擬量輸入、12位A/D轉(zhuǎn)換器(采樣速率可達(dá)100 kHz)、兩路12位模擬信號輸出、16路數(shù)字量輸入和輸出等特點,可通過VC++編程產(chǎn)生正弦波、方波、三角波等任意波形信號,其信號幅度、頻率、脈寬、持續(xù)時間等參數(shù)在硬件允許范圍內(nèi)可根據(jù)用戶需求而設(shè)定。
PCI-1711卡使用時,選用電纜PCI-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ù)器進(jìn)行通信,將信號發(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ā)標(biāo)準(zhǔn)下的TCP/IP網(wǎng)絡(luò)程序接口,并包含了針對Windows的擴展庫函數(shù),使程序員能夠充分地利用消息驅(qū)動機制和異步網(wǎng)絡(luò)事件選擇方式進(jìn)行編程。Windows Sockets進(jìn)行網(wǎng)絡(luò)通信通常運用CAsyncSocket類和派生于CAsyncSocket的CSocket類兩種編程模式,這兩個類對WinSock API函數(shù)進(jìn)行了封裝,使用經(jīng)過封裝的WinSock類可減小編程工作量。在編程時通過對事件處理函數(shù)進(jìn)行重載,用戶可以在應(yīng)用程序中很方便地對套接字發(fā)送和接收數(shù)據(jù)等事件進(jìn)行處理。
所有Winsock的實現(xiàn)都支持Stream Sockets(流式套接字)和Datagram Sockets(數(shù)據(jù)報套接字),Stream Sockets提供有序的、無差錯的、面向連接的、無長度限制的雙向字節(jié)流傳輸、Datagram Sockets支持雙向的數(shù)據(jù)傳輸、提供不可靠的、無連接的數(shù)據(jù)報通信模式,不能保證數(shù)據(jù)準(zhǔn)確傳輸。
2.2 客戶端/服務(wù)器模式
利用Socket進(jìn)行網(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ù)提出請求。最后,當(dāng)客戶機請求結(jié)束后方可關(guān)閉通信通道。
用戶可通過客戶機向服務(wù)器發(fā)送請求數(shù)據(jù),服務(wù)器處理該請求并將該數(shù)據(jù)信息提取后,將信息參數(shù)傳遞給信號發(fā)生器,實現(xiàn)波形信號的產(chǎn)生。
通信相關(guān)文章:通信原理
交換機相關(guān)文章:交換機工作原理
負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理
評論