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