常海濱,王帑
針對對講機的VOIP中繼網關設計
常海濱,王帑
針對當前對講機在特定領域中發揮的重要作用,并考慮到傳統中繼臺在轉發對講機語音信號上的缺陷,參考當前流行的VOIP技術,設計了一種搭建簡單,但功能齊全的針對對講機的中繼網關設計。利用兩臺對講機進行中繼臺的雙頻收發,利用嵌入式技術和互聯網技術實現將中繼臺的信號通過網絡進行遠距離轉發。大大增加了對講機語音信號的中繼距離。用了互聯網中SIP和RTP協議完成會話的建立刪除,利用微處理器來控制中繼臺接口。經過試驗證明,設計大大簡化了中繼臺搭建的復雜程度,并且有效的擴大了中繼臺的中繼范圍。具有很強的創新性和實用價值。
對講機;中繼臺;語音網關;VOIP;嵌入式
綜合考慮現今技術趨勢和傳統模擬通信弊端,本文介紹了一種基于對講機和嵌入式系統結合的嵌入式中繼網關設計,利用因特網在速度與距離上的優勢,重新發掘傳統對講機在各種應用場合下的優勢。在本設計中采用因特網傳輸對講機中的語音與其他信令信息,使用兩臺對講機和嵌入式處理核心實現中繼臺的基本功能。利用兩臺對講機完成兩個頻點上信號的收發,經過嵌入式處理器進行相關信號采集,并將語音信號打包通過互聯網進行遠距離通信,最終實現通過網絡提高中繼臺的中繼范圍。
本系統主要由中繼終端和網絡服務器組成。中繼終端在接收到中繼請求后,判斷發起請求的對講機所發出的信令信號,經由網絡服務器獲取目標IP地址,然后連接到目標中繼終端,并最終完成遠距離中繼。系統總體設計如圖1所示:

圖1 系統總體結構圖
中繼終端由兩部對講機和兩塊嵌入式控制板組成。一塊是作為語音網關核心的ARM9處理器,另一塊是由單片機為核心的底層電信號控制單元。底層控制單元主要負責完成兩組對講機的信號采集與控制信號的生成。由兩部對講機分別完成信號的收發,來實現中繼臺的基本中繼功能。其中一臺采集接收到的信號,產生傳輸觸發信號。核心處理器通過該信號觸發語音信號發送線程,并在該線程中對信道中的語音信號進行采樣量化,并完成打包傳輸。接收到語音包之后,語音網關核心模塊對其進行解包,觸發PTT信號,并通過DA將語音信號合成輸出。同時考慮到在傳輸過程中會需要相應信令傳輸,本設計還添加了DTMF編解碼模塊,完成對應的雙音頻信號的獲取與生成。并最后通過服務器根據撥號選擇中繼IP,發起中繼會話。
1)硬件總體設計:
針對雙對講機拼接完成的中繼臺,本文設計一種簡易而且功能完全的硬件接口電路。其中包含了對PTT發射鍵、信號接收和語音收發信號的處理。硬件上主要包括ARM核心處理板、單片機控制板和接口控制電路3部分組成。硬件總體結構如圖2所示:

圖2 硬件總體結構圖
如圖2所示,單片機作為底層核心控制器,利用其IO引腳對邏輯信號進行控制,完成對DTMF信號的編解碼、PTT發射鍵控制和對接收信號監控的功能。對講機組成的中繼臺產生的語音信號,通過阻抗網絡,連接到ARM核心處理器中。同時ARM處理器從網絡接收到的語音信號也經由阻抗網絡送至中繼臺發送出去。
2)DTMF收發模塊設計:
常見的雙音頻編解碼的方式有模擬電路方式、DSP方式和FPGA的方式實現。這里采用標準IC芯片實現的方式。本次設計采用了敏特爾MT8880CE芯片實現DTMF編解碼功能,系統采用STC89C52RC單片機作為控制芯片,完成對該芯片的初始化設置,實現雙音多頻的編碼與解碼功能?;倦娐吩O計參考手冊中給出的推薦電路,接口接入單片機。參考電路及相應參數如圖3所示:

圖3 MT8880參考功能電路
圖3 中元件參數為:

與單片機連接后設計電路如圖4所示:

圖4 MT8880ce單片機控制電路
3)語音與控制信號接口設計:
中繼網關接口的電氣連接需要進行簡單處理。針對語音信號,在AD和DA的輸入輸出接口前,需要對語音信號進行調整。在這里通過使用集成運放設計電路調理網絡來實現另外,考慮到單片機與ARM核心處理器之間的引腳工作電平不兼容,需要在單片機和ARM處理器之間進行電平調整,完成數據傳輸。最后設計一個開關電路,將開關信號連接至對講機PTT發射鍵上。至此硬件基礎基本完成。
1)軟件總體設計:
本次設計中,需要編寫三大部分的應用軟件。分別是針對單片機的控制軟件、針對ARM核心處理器的應用軟件和針對服務器中的服務代碼。單片機中的控制代碼主要負責監控中繼臺中發出的接收信號,并根據上層ARM處理器給予的信息完成PTT的開關。另外還要完成對MT8880DTMF芯片的操作,完成對雙音頻信號的編解碼功能。這里的ARM核心處理器選擇三星公司的Scs2440處理器,該處理器運算速率高,完美支持Linux嵌入式操作系統,本次設計中利用Linux系統對網絡的強大支持,移植SIP和RTP協議,完成中繼網關之間的遠距離通信功能。同時,編寫驅動程序,完成IO引腳與單片機的通信功能。最后服務器上的程序是將掛載到網絡上的各路語音網關列入狀態表中,并初始化狀態記錄各自IP。當有語音網關發起服務請求時,查找被請求目標網關的IP發送發起請求網關。
2)單片機及MT8880控制程序:
對于芯片的驅動程序,由于該芯片接收到信號并解碼后會產生中斷脈沖信號,首先要對單片機進行初始化,初始化之后應當對芯片進行初始化設置,即讀寫芯片內部相應寄存器。將常用操作分成四個獨立模塊:
讀狀態寄存器:char readreg()
寫控制寄存器:void writereg(char d)
讀數據寄存器:char readdat()
寫數據寄存器:void writedat(char d)
實現以上各功能之后將芯片工作模式設置成為:發送50ms的DTMF雙音多頻音頻段,使能接收DTMF雙音多頻信號并解碼,解碼和發送完數據之后有中斷脈沖產生。
設置參數方式為:

之后應當設置好外部中斷,并在外部中斷的響應中編寫相應的處理程序。主要步驟為:開總中斷:EA=1;開外部中斷:EX0=1;設置外部中斷為上升沿:TCON=0x01;
在中斷處理程序中要首先查詢芯片狀態寄存器,判斷是接收到信號還是發送完畢的信號。然后根據不同結果執行不同功能??刂瞥绦蛄鞒虉D如圖5所示:

圖5 控制程序流程圖
3)系統主代碼編寫:
整個系統由多個線程并行執行,主要由SIP、RTP的收發線程和核心調度線程組成。主要負責監控整個中繼臺狀態,根據各種信號發起結束會話;管理中繼臺的收發設置;設置偵聽循環,來獲取客戶端輸入命令;創建SIP用戶代理客戶端線程和SIP用戶代理服務器端線程,以實現兩個角色的不停切換;創建RTP接收和RTP發送線程,實現全雙工通信。主要代碼如:

創建線程后,初始化每個線程需要的驅動模塊,包括音頻OSS驅動,通用IO引腳讀寫驅動。然后初始化網絡協議模塊,設定IP和端口地址。然后開始偵聽和檢測。完成中繼網關功能。主程序代碼流程圖如圖6所示:

圖6 系統主程序流程圖
完成要求的線纜鏈接,將四部對講機中所需信號引出,接到中繼網關接口處,完成兩臺中繼網關A、B,設置兩部網關工作于不同頻點,這樣方便本地測試。使用兩部對講機,并工作于不同頻點中。給中繼網關各模塊設備上電,開始正常工作。手持對講機,將頻率調整至中繼網關A工作頻點,按住發射鍵,講話。可以在另一端將另一部對講機調整至網關B發送頻點,此時可以看到另一部對講機的busy指示燈被點亮,對講機中有一側對講機內講話的聲音,至此測試完成。
經測試表明,本設計可以在使用多個對講機時,利用對講機搭建簡易但是傳播距離更遠的中繼臺。該中繼臺設計使用因特網VOIP的技術,憑借網絡的巨大便利和強大功能,突破了傳統中繼臺在中繼距離上的限制,具有很強的創新性和實用性。僅需要對兩部對講機進行簡易鏈接就可以完成傳統中繼臺無法實現的遠距離中繼,對未來相關語音通信產品有較強的指導意義。
[1] 肖勇軍,李海標,楊文,杜明.基于SIP的嵌入式語音網關設計與實現[J].計算機系統應用,2009,8:120-123.
[2] 洪斌,王利霞,孫紅嶺,孫皓月,杜春梅.基于ARM和DSP的VoIP網關設計與實現[J].通信技術,2008,41(8):173-178.
[3] 王古.基于軟交換技術的RoIP網關設計與實現[J].現代電子技術,2010,320(9):72-74.
[4] 羅苑棠.嵌入式驅動程序和系統開發實例精講[M].北京:電子元器件應用工業出版社,2009(08):1-33.
[5] 馮國進.linux驅動程序開發實例[M].機械工業出版社,2011:132-134.
[6] 于明,范書瑞,曾祥燁.ARM9嵌入式系統設計與開發教程[J].北京:電子工業出版社,2008:260-266.
Design of VOIP Relay Gateway for Interphone
Chang Haibin1, Wang Tang2
(1.Shanxi Xueqian Normal University, Xi'an 710100, China; 2.Xi'an University of Technology, Xian 710048, China)
Considering the need of interphone in many particular area and the shortage of the traditional relay when relaying the signal from each interphone, a design of relay gateway that is easy to be built and fully functional is described in this article. Two interphones are used to build the relay with each of them working on a different frequency. With the help of the technology of embedded system and internet, this machine can expend the distance that the traditional relay spread the signal greatly. In this article, the protocol of SIP and RTP in the Internet is used to establish and cancel the conversation and transmitted the voice signal. A MCU is used to help control the interface of the relay. After testing the machine, it is found that this design reduces the complexity of traditional relay and expends the area that the relay covers. This design is very creative and useful in daily life.
Interphone; Relay; Gateway; VOIP; Embedded System
TN916
A
1007-757X(2016)08-0040-03
2015.12.18)
陜西學前師范學院科研基金項目(2015ZDKY020)
常海濱(1981-),男,陜西西安人,碩士,陜西學前師范學院,實驗室與設備管理處,講師,研究方向:網絡開發與設計,西安,710000
王 帑(1982-),男,長安大學機械電子工程系,碩士研究生,西安理工大學,助理工程師,研究方向:計算機信息應用,西安,710048