目前無繩電話或IP電話使用的通用SoC集成了接入器件和統一的無線通信器件,并且在系統軟件中集成軟件語音引擎,可以完全支持VoIP要求的軟件數字信號處理。語音引擎采用了軟DSP(soft-DSP)實現技術,能夠滿足嵌入式處理器的系統性能要求。為了確保VoIP具有電話質量的語音性能,系統軟件必須滿足語音引擎的實時要求。
下一代軟DSP產品采用了實時處理和寬帶(高清晰度)語音通信技術,可以比當前技術取得更大的最終用戶滿意度和市場潛力。這些產品為語音通信建立了新的高清晰度標準。根據本文建議開發的產品可以取得超過電話質量通信的效果。相反,不滿足這些實時要求將造成許多語音質量劣化的癥狀,包括掉話、顯著的時延、爆破音或卡嗒聲、傳真/調制解調器呼叫失敗或傳真頁錯亂,以及由于丟包或超額延時造成的語音不清等等。不滿足實時要求還將導致錯過時限,這將是嚴重的系統故障,需要整個系統復位才能解決,除非系統支持硬件和軟件的恢復。
電話呼叫中的語音通信是雙向的:音頻的發送和接收同時進行。因此盡量減小語音系統中的延時以確保音頻質量很關鍵;然而,減小時延的優化工作與滿足語音處理要求相沖突。在傳統的回放音頻系統中,如音頻(MP3)回放或多媒體流,緩存可以做得很大以補償系統處理能力的低下,此時延時與質量無關。語音引擎卻不能這樣做,因為音頻緩存必須能在固定時間得到全部處理。這種架構通常采用中斷優先級劃分和軟件調度,利用甚至在某些時候增強操作系統的實時性能來保證語音處理的完成。
在語音引擎系統中,軟件中斷服務程序將與語音硬件編解碼器交換語音采樣。語音硬件編解碼器以8kHz的采樣速率完成模擬信號與音頻采樣之間的來回轉換。在電話應用中,硬件編解碼器被連接到作為電話物理接口的用戶線接口電路(SLIC)或無繩電話的DECT射頻電路。而在IP電話或移動手機場合,硬件編解碼器被連接到放大器,放大器再與麥克風和揚聲器相連。
SoC硬件接口在保證語音引擎的實時性能和準確調度方面扮演著關鍵的角色。如果SoC帶TDM或AC97外設,電話語音編解碼器可以直接連到處理器。如果嵌入式處理器不帶這些外設,最低成本的解決方案是經過一個CPLD再與處理器相連。CPLD可以從硬件編解碼器逐個收發采樣,這種方案對時間最敏感,并且代表了最壞情況下的時序要求。
不管是通過TDM、AC97還是CPLD,語音硬件服務必須優先處理以確保中斷得到響應;其他系統軟件必須不影響這個中斷的關鍵時序。在8kHz的采樣速率下,中斷將每125μs發生一次。對于運行在200MHz的SoC來說,針對速度優化過的CPLD中斷服務程序處理時間在25μs以內。這就允許最大中斷延時的計算值為90μs(125μs–(25μs+中斷服務建立時間10μs))。系統要想滿足實時時限,操作系統必須在收到編解碼器中斷后的90μs內調用中斷服務程序,并且操作系統必須允許服務運行并立即完成。
操作系統還必須保證中斷服務程序可以調度語音引擎,以便立即對在音頻緩存進行處理。中斷服務程序使用緩存準備好信號激活這種調度,如圖所示。在該圖中可以看到,DMA外設用來將音頻采樣采集到緩存中供語音引擎的處理,這種方法的效率要比CPLD實現高。
對語音引擎的要求是要在下一個語音緩存準備好之前完成語音采樣的處理。語音引擎中處理語音所需的時間取決于多個因素,包括處理器、緩存大小、RAM速度、物理語音接口數量(音頻通道)、緩存要求的軟件DSP處理以及所用的語音編碼器類型。
要想全面地分析語音引擎時序要求,請參考附表。tidle參數代表的是所有其他系統進程或系統應用程序留給可用處理的剩余時間。從語音引擎設計角度看,就是指空閑時間。所有較低優先級系統的處理都是發生在語音引擎完成實時語音處理后的空閑時間內。在最壞情況下,tidle可能為0ms,此時語音引擎處理會有多次反復。
D2科技公司的vPort軟件包含了針對所支持配置的性能基準。例如,vPort版本可能規定三方G.729AB語音會議呼叫的語音處理,作為最壞情況和緩存連續清空的條件下,要求語音引擎提供每10ms最大100MHz的處理能力。如果運行在400MHz RISC處理器上,tvoice在最壞情況處理時要求100MHz(CPU處理能力的25%),對應每隔10ms處理間隔中的2.5ms處理時間。如果tswitch超過7.5ms(tswitch=tbuffer–(tvoice+tidle)),實時時限就無法滿足,這個時間還不包括在語音引擎處理期間由于其他外設中斷、下半部處理或“tasklet”軟中斷引起的額外開銷。
以下是設計師在集成用于軟DSP處理的語音引擎時需要考慮的最重要的一些設計準則:
1. 為了使質量最優,語音通信要求最小化系統時延;
2. 語音通信是連續的,丟失采樣或失去實時性將是最嚴重的錯誤;
3. 語音硬件有嚴格的時序要求,在丟失時序時需要一種差錯恢復機制;
4. 語音引擎實時處理必須在10ms的軟件時限內完成對語音緩存的處理。語音引擎中斷服務程序在CPU外設硬件基礎上有嚴格的時序限制。
圖1:語音引擎時序圖
責任編輯:gt
-
dsp
+關注
關注
553文章
7998瀏覽量
348901 -
調制解調器
+關注
關注
3文章
854瀏覽量
38813
發布評論請先 登錄
相關推薦
評論