語音處理系統的組成
語音算法多種多樣,要求語音處理系統的前端提供符合算法精度要求的數字採樣信號,因此要求前端的a/d、d/a具有較高的採樣率和採樣精度。語音處理系統還有實時性的要求,在一些套用中還要求語音編解碼算法、加解密算法、信道編解碼算法甚至調製、解調算法都在同一塊晶片中實現,因此要求系統的數據處理能力強,存儲空間大。在通常的dsp套用系統中,dsp加上存儲器、a/d、d/a和外設接口就可以實現。但是越來越多的場合要求系統完成與外部系統的通信和控制,例如人機接口、信道傳輸設備等控制功能。這些均可以採用mcu+dsp的結構,以彌補單一dsp系統控制能力差的不足
語音處理系統原理
模擬話音經過功放構成的帶通濾波器,通過tlv320aic10的模/數轉換器(adc)轉換成8 000hz的數位訊號,該採樣信號的精度為16位,對輸入模擬信號的幅度要求為-3.3~3.3v。數位化的語音信號通過同步串口(mcbsp)傳送到dsp(tms320vc5510a)內部緩衝區,送入編碼器進行編碼,得到的數據流通過同步串口(mcbsp)及信道接口傳給終端,經過信道編碼後傳輸。從信道收到的碼流經過終端解碼通過同步串口(mcbsp)傳給dsp內部的緩衝區,送入解碼器進行解碼,得到的數位化語音再通過同步串口(mcbsp)傳給tlv320aic10的模/數轉換器(adc),轉換成模擬信號輸出。為了增強該硬體平台的控制能力,dsp(tms320vc5510a)通過主機接口(hpi)與mcu(msp430f149)進行通信。並且增加了存儲器flash(sst39vf800a),以保證可以進行脫機運行。
系統軟體最佳化降低功耗
由於mcu具有較強的事件回響能力以及dsp具有較強的數據處理能力,因此可以通過mcu針對不同算法動態地改變系統的工作頻率及dsp的工作狀態,從而降低系統功耗。例如在該平台運行清華大學自主研製的600、1 200、2 400bps語音算法,需要針對不同算法要求不同的數據運算量進行動態配置。dsp採用mcu提供的8.192mhz的時鐘、通過片內集成的dpll進行倍頻得到所需要的主時鐘。由於系統的部分代碼是處於54兼容模式下,所以在系統軟體的主函式中,當不需要進行編解碼操作時,系統可以處於正常狀態,即idle1或idle2狀態。更具體的管理可以使用c55x系列的idle domain(idle域)機制進行管理]。3種狀態具體描述如下: no idle:定時器、通用串口和核心均處於正常工作模式。 idle 1:定時器和通用串口正常工作模式,核心處於idle狀態,由中斷喚醒。 idle 2:定時器、通用串口和核心都處於idle狀態,由中斷喚醒。 針對不同的算法,由於要求的數據運算量不同,能夠保證算法工作的最低系統頻率也不同。通過對不同的數據運算要求動態調整系統的工作狀態,可以最大限度地實現降低功耗的目的,從而實現針對不同運算量的功耗控制。實際使用中,當dsp:運行600selp算法時,系統工作在32.768mhz;運行1 200selp算法時,系統工作在40.960mhz;運行2 400selp算法時,系統工作在24.576mhz。與單一的運行在81.92mhz情況下相比,系統功耗分別降低了41%、36%、48%,大大減少了系統功耗。 該硬體平台已經成功運行了g.723.1、g.729a/b和cvsd等算法,並且獲得了良好的效果,具有廣闊的套用前景。