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