郭 巍,李 鑫
(中國電子科技集團公司第五十四研究所,河北石家莊050081)
話音通信由于其自身的便捷性和通用性,在目前所設計的各種衛星通信系統中仍然占有很大的比重。一套話音通信系統的設計實現之后,需要測試該系統的工作穩定性,即需要進行成百上千次的撥號呼叫,測試系統的呼叫成功率。這樣通常需要花費大量的人力物力,并且測試過程十分枯燥,經常會有人為的誤差。
為提高工作效率,降低人力成本,提高測試準確性,利用數字信號處理器(DSP)[1]芯片、單片機、中繼接口電路以及監控單元,設計了一種話音自動呼叫系統。利用該系統,可以模擬實現一部電話機的整個呼叫流程:通過中繼接口電路實現自動摘機,利用DSP芯片檢測信號音,并產生雙音多頻信號(DTMF)[2]進行撥號,進而實現呼通率的測試,通過本系統的監控單元,可以實時觀察到測試結果。此外,也可以通過C8051單片機的串口直接將結果輸出到計算機。
DSP是鑒于數字濾波和快速傅里葉變換的數字信號處理技術而發展的,DSP處理器具有多總線、多處理單元和流水線處理結構,并具有豐富的I/O接口,在音頻、圖像和視頻等眾多領域有著廣泛的應用。
本設計中的DSP采用Ti公司的TMS320 VC5509A,該芯片運算速度快、功耗低、接口豐富,非常適合于語音信號處理算法。由于DSP內部不帶用戶可以直接使用的程序存儲器,因此本系統使用Intel公司的28F160并口Flash芯片,該芯片讀寫速度快,具有16Mbit的存儲容量。
在電話通信過程中,通過電話機撥號,產生DTMF信號進行呼叫,該信號是由2個不同頻率的信號疊加而成的復合信號,用于自動程控交換機及電話撥號。撥號完成之后,通過一些固定的信號音來識別主被叫的狀態,協助完成整個通信過程,撥號完成之后,如果聽到忙音(0.5 s通,0.5 s斷的450 Hz單音),則呼叫失敗;如果聽到回鈴音(1 s通,4 s斷的450 Hz單音)則認為呼叫成功,此時被叫端送振鈴,主叫端等待被叫摘機,被叫摘機后,主叫端停止送回鈴音,被叫話機停止振鈴,此時,主被叫雙方可以進入話音通信階段。
利用DSP芯片,產生DTMF信號,模擬電話機撥號,呼叫完成之后,再通過DSP進行信號音的檢測,判斷一次話音通信是否成功,進而統計呼叫成功率。
DTMF的產生和信號音的檢測均由DSP芯片完成,然后通過異步串口上報給CPU單元。系統加電后,由片上Boot程序將系統程序加載到芯片,系統開始運行初始化模塊,對數據和部分全局變量進行初始化處理。初始化后,系統上報狀態,然后啟動中斷,中斷服務程序開始處理外部中斷、串口中斷。DSP系統運行中,看門狗模塊對系統進行監控,如果系統超過沒有響應看門狗模塊,該模塊會自動重啟系統。
DSP檢測信號音以及產生DTMF信號示意圖如圖1所示。DTMF音頻信號的產生通過CPU的控制命令實現,如果DSP的串口服務程序接收到產生DTMF的命令,則首先控制DSP產生2種所需的單音信號,然后再將2種單音進行疊加,得到所需的雙音多頻。

圖1 DSP檢測信號音以及產生DTMF信號示意圖
信號音檢測的原理是:首先通過信令檢測模塊檢測輸入的PCM是否為450 Hz的單音信號,其算法的基本原理是對待檢測語音進行FFT變換,分析其頻域的特征,選擇一定的門限對單音所在頻帶能量進行判斷,如果超過門限即判其為單音。考慮到待檢測的單音有可能不是標準的450 Hz單音信號,可以對一定范圍的單音進行判斷,比如本系統中450 Hz的單音檢測范圍為421.875~468.75 Hz。在檢測到單音信號之后需要對單音的通斷比進行判斷,如果是連續的則上報撥號音;如果為0.5 s通,0.5 s斷的單音則上報忙音;如果為1 s通,4 s斷的單音則上報回鈴音。
外部交換局(Foreign Exchange Office,FXO)接口,通常叫做中繼環路接口,簡稱中繼接口。中繼接口是接收模擬線路的埠,用來傳輸掛機/摘機指示。
本系統采用的是中繼接口電路為MY2033中繼模塊,該模塊具有二/四線轉換、環路檢測、鈴流檢測和模擬摘機等功能,并且內部帶有PCM編解碼功能(TP3057)。通過把2根平衡的電話線轉換成對地的模擬輸出信號VX再經過CODEC轉換成PCM輸出;相反,輸入PCM信號DR經過DODEC轉換成輸入模擬信號VR而后經過2/4線變換成平衡的2根信號。可以通過指定MY2033的工作時隙,選擇處理不同時隙的PCM信號。
利用單片機(MCU)作為CPU,外加一片FPGA芯片以及DSP芯片對系統電路進行控制和交互,通過中繼接口電路,將本系統接入待測試系統中。通過中繼電路控制摘機,通過DSP芯片進行DTMF撥號,信號音檢測,進而將結果上報到CPU,通過計算得到待測系統的呼叫成功率。最后可以通過一個RS232異步串口將測試結果上報計算機或者直接通過顯示屏顯示出來。系統設計結構示意圖如圖2所示。

圖2 系統設計結構示意圖
本系統中,CPU采用Silicon公司的C8051系列單片機;FPGA采用Xilinx公司的SPARTANXC2S50,中繼接口選用明亞公司的MY2033中繼接口模塊;DSP選用Ti公司的TMS320VC5509A,監控屏選擇MGLS-12233液晶模塊作為顯示輸出,并配有4個按鍵作為輸入。
呼通率測試開始之前,首先需要輸入被叫號碼長度和被叫號碼,本系統最長支持16位撥號。可以通過2種方式輸入,一種是直接通過監控屏和按鍵輸入;另一種方式是通過C8051自帶的異步串口,轉換為RS232電平,連接計算機,通過計算機的串口軟件輸入。完成被叫號碼的輸入后,通過電話線將本系統接入待測試的話音通信系統,通過FPGA設置中繼接口和DSP芯片工作在相同時隙,即可開始進行呼叫測試。單次呼叫測試流程如圖3所示。

圖3 測試呼通率流程
首先通過控制MY2033的RC管腳置高電平,模擬中繼接口摘機,利用DSP芯片檢測中繼接口收到的信號音,如果是撥號音,則可以進行撥號;如果是忙音,則不能進行呼叫,置MY2033的RC管腳低電平,模擬中繼接口掛機,開定時器,延時一段時間后,再次進行摘機檢測,直到檢測到撥號音后,便可以進行撥號呼叫。撥號號碼是預先輸入到在CPU之中的,按照300 ms間隔,持續時間 50 ms定時,順序通過串口給DSP發送產生DTMF命令,利用DSP芯片產生DTMF,模擬進行撥號呼叫,撥號完成后,DSP對對端回送的信號音進行監視檢測,并且上報給CPU。如果上報檢測到回鈴音,則認為呼叫成功,置MY2033中繼接口的RC管腳置低電平,模擬掛機,一次呼叫完成;如果定時超時或者檢測到忙音,則認為本次呼叫失敗,置RC管腳掛機,等待下次呼叫。完成一次呼叫之后,完成對呼叫總次數、成功次數、失敗次數的計算,并且顯示在監控顯示屏上,同時可以通過計算機串口對此時的呼叫情況進行查詢。
利用DSP芯片、中繼接口電路和單片機組成的話音自動呼叫系統,可以便利準確地對一套話音通信系統的呼叫成功率進行測試。本系統使用簡單,系統工作只需要+5 V一種電壓,并且不需要其他任何輔助裝置,即可利用按鍵直接輸入被叫電話號碼,并通過系統的液晶屏顯示測試結果。此外,在測試中,還可以選擇多種測試方式,既可以選擇一對一的呼叫,即利用本系統呼對一個固定的電話號碼進行呼叫測試;也可以進行一對多呼叫,即輪流呼叫待測系統中的多個不同的電話號碼,測試方式的多樣性使測試結果更加全面、準確。
[1]張雄偉,陳 亮,徐光輝.DSP芯片的原理與開發應用(第3版)[M].北京:電子工業出版社,2004.
[2]陳立萬.基于DTMF解碼器的DSP技術[J].無線電工程,2001,31(1):132-134.