適于多種通信設備的多媒體通信終端軟件設計
通過網絡電臺進行通信時,終端軟件通過 USB 連接將數據包交給網絡電臺,由電臺進 行數據傳輸。圖3 描述了適用于網絡電臺的通信模塊的結構。網絡電臺上運行的服務程序維 護著一個套接字列表,同時多媒體通信終端程序維護了套接字的索引表。終端程序和電臺服 務程序根據一個自定義的遙控套接字協議進行通信,保持索引和套接字的一一對應。在需要 進行套接字操作(創建、關閉或者發送數據)時,終端程序通過協議將命令發送電臺服務程序; 電臺服務程序將命令執行的結果通過協議返回給終端。電臺服務程序接收到來自套接字的數 據包時,也通過協議傳遞給終端程序。于是,終端程序可以構造出虛擬的套接字,使虛擬套 接字的接口與系統提供的套接字一致。這樣,只要用虛擬套接字替換圖2 所示通信模塊中的 套接字,就能實現適用于網絡電臺的通信模塊。
2.3 適用于短波電臺的通信模塊
短波電臺與上述兩種通信設備有著極大的差別,因此相應的通信模塊也迥然不同。由于短波信道具有較窄的通信帶寬,因此終端不支持視頻通信業務。為了充分利用短波信道有限 的帶寬資源,需要對實時業務和非實時業務進行不同的處理。語音通信業務具有定長的數據 包,并且等間隔時間產生一個數據包;各種非實時業務具有不定長的數據包,并且數據包產 生的時間間隔也不固定。針對信道和業務的特點,通信模塊采用了雙層復接結構進行數據復 接,為業務模塊提供了不可靠的數據包傳輸服務,同時取得了較高的通信效率和較短的語音 通信延遲。數據復接算法在文[6]中進行了詳細的描述,本文只針對通信模塊的接口做簡單 的介紹。
在發送端,通信模塊讀取來自各非實時業務的數據包,通過增加分隔字節、業務標識和 CRC 校驗字節將數據包復接為比特流。然后,根據語音通信狀態和數據比特流的長度,定 長幀復接模塊選擇出合適的幀模式,并將語音數據包和數據比特流復接到定長幀中。在幀模 式的選擇中,將優先保證語音通信所需的帶寬資源。最后,將定長幀通過串口發送出去。在 接收端,通信模塊讀取來自串口的比特流數據,進行幀同步、定長幀解復接和變長幀的解復 接,從而獲得各個業務的數據包。然后,通信模塊將接收到的所有語音數據包寫入語音業務 模塊的接收緩沖區;而對于其它非實時通信業務,通信模塊只將CRC 校驗正確的數據包提 交給相應的業務模塊。
圖4 適用于短波通信的通信模塊
3 結論
實驗證明,本文介紹的多媒體通信終端能適用于以太網卡、網絡電臺和短波電臺等多種通信設備,并且具有較高的通信效率和良好的多媒體通信效果。軟件結構清晰,具有較強的 可擴展性:可以通過增加業務模塊實現通信業務的擴展;也可以通過增加新的通信模塊使多媒體通信終端能適用于新的通信設備。
評論