資料介紹
近二十年來,全球半導體產業(yè)的飛速發(fā)展帶動相關的軟件、硬件設計水平迅速提高,這些發(fā)展使得一大批性能優(yōu)良的復雜的數字信號處理算法可以實時實現(xiàn)并在日常通信系統(tǒng)中得到廣泛應用,極大地提高了現(xiàn)有通信系統(tǒng)的可靠性和效率。因此,研究語音處理技術并將其用基于DSP芯片硬件系統(tǒng)實現(xiàn)有著非常重要的現(xiàn)實意義和廣闊的市場前景。本文介紹了語音編解碼硬件平臺的設計思路和編解碼算法在硬件平臺上的實現(xiàn)和優(yōu)化過程,同時給出了硬件平臺結構和低功耗設計思路。
1 平臺中語音編解碼算法簡述
本文在TI C55x系列DSP上實現(xiàn)了0.3kbps至16kbps的多種不同速率的語音編解碼算法。其中16kps速率采用連續(xù)可變增量調制(CVSD)的波形編碼算法,8kps速率采用了ITU-T公布的G.729a標準算法。而低速率編解碼采用了正弦激勵線性預測(SELP)算法。SELP算法是建立在傳統(tǒng)的線性預測模型的基礎上,其中清音成分用白噪聲擬合,濁音成分在每個諧波處用一個頻率變化的正弦信號合成,整個激勵的濁音部分由一組不同幅度的正弦疊加而成,這也是SELP模型不同于傳統(tǒng)的線性預測的一個非常的重要方面,即激勵信號采用分帶混合正弦激勵。
2 語音編解碼算法在DSP數字處理芯片上的實現(xiàn)和優(yōu)化
由于在DSP上運行的聲碼器必須要達到實時化的要求,而直接編譯的C程序遠無法達到。因此需要編寫和優(yōu)化C55x的匯編代碼來提高聲碼器的運行效率。下面介紹幾點在算法硬件實現(xiàn)過程中的關鍵技術:
2.1 C程序和匯編程序的混編,函數的調用和參數傳遞
把一個模塊改寫為匯編函數,然后在C程序或者匯編程序中調用它。在C55x的開發(fā)中,函數的調用機制是這樣的:首先記錄下函數傳遞來的參數,和返回地址SP向低位移。然后再在堆棧中開出本地變量常量所需要的空間,SP再次向低位移。
?。?)匯編函數的聲明:在匯編函數中定義的函數如果要想在C代碼中被調用,必須用.global語句加以聲明,這樣,對象或函數被定義為外部的(external)。比如:
.global _Rem_Dc
_Rem_Dc:
……
(2)參數傳遞:在函數調用的過程中,C代碼傳來的參數按照以下規(guī)則存放在特定的寄存器中:即16或23位的數據指針,先后存放在(X)AR0-(X)AR4中。16位的數據,先后存放在T0,T1,AR0-AR4中,32位的數據,先后存放在AC0,AC1和AC2中。如果參數個數超過寄存器個數,則存放在堆棧中。同時,函數的返回值如果是短整型(short)則存放在T0中,如果是長整型(long)則存放在AC0中,如果是指針則存放在(X)AR0中。
例如:
?、賗nt fn(int i1, long l2, int *p3);
則fn-》T0; il-》T0, l2-》AC0, p3-》AR0
?、趌ong fn(int *p1, int i2, int i3, int i4);
則fn-》AC0, p1-》AR0, i2-》T0, i3-》T1, i4-》AR1
?、踲oid fn(long l1, long l2, long l3, long l4, int i5);
則l1-》AC0, l2-》AC1, l3-》AC2, l4-》堆棧, i5-》T0
④void fn(long l1, long l2, long l3, int *p4, int *p5, int *p6, int *p7, int *p8, int i9, int i10);
則l1-》AC0,l2-》AC1,l3-》AC2,p4-》AR0,p5-》AR1, p6-》AR2, p7-》AR3, p8-》AR4, i9-》T0,i10-》T1
2.2 標志位的設置
標志位是DSP芯片在計算時設置一些位置。它們存放在ST0_55~ST3_55中,在運算中主要用到的幾個有:
FRCT,當其值等于1時,乘法運算的結果將左移一位。等于零時,運算結果不變。
SATD,當其值等于1時,運算發(fā)生溢出時作飽和處理
SXMD,當其值等于1時,輸入操作數有符號擴展
SMUL,當其值等于1時,飽和模式開
他們分別存儲在ST1_55和ST3_55寄存器的位置如圖1所示:
圖1 C55x DSP關鍵標志位在寄存器中的位置
這幾個操作位的設置不對的話,會出現(xiàn)運算結果的錯誤。所以要根據程序的需要正確設置操作位,同時要在程序的前后保護和還原其初值。
psh *(ST1_55)
psh *(ST3_55)
……
pop *(ST3_55)
pop *(ST1_55)
3 語音編解碼硬件平臺簡述
本文設計的多模式語音編解碼系統(tǒng)基于C55x系列DSP和MCU的雙處理器設計,主芯片采用了TI公司的TMS320VC5510A數字信號處理器。其時鐘周期最高為200MHz。擁有160KWord片上RAM(其中包括8塊4KWord的DARAM和32塊4KWord的SARAM)、16KWord片上ROM、8MWord的最大擴展尋址能力。微控制器(MCU)選用TI公司的MSP430F149,主要完成系統(tǒng)啟動,電源管理,狀態(tài)監(jiān)控,DSP程序加載,聲碼器二進制碼流位置重排等功能,并和DSP配合實現(xiàn)系統(tǒng)級加密機制。另外,硬件平臺的音頻編解碼芯片選用TLV320AIC10,而程序存儲部分采用的是SST39VF160 Flash,容量為1MWord,用來儲存程序和數據。本硬件平臺的框架結構圖如圖2所示。
圖2 多速率語音編解碼系統(tǒng)硬件平臺框架結構圖
4 低功耗設計
在數字集成電路設計中,CMOS電路的靜態(tài)功耗很低,與其動態(tài)功耗相比基本可以忽略不計,故暫不考慮。其動態(tài)功耗計算公式為:
? ?。?)
式中Pd為CMOS芯片的動態(tài)功耗;CT為CMOS芯片的負載電容;V為CMOS芯片的工作電壓;f為CMOS芯片的工作頻率。本硬件平臺的低功耗設計從選用有可變電壓和多電壓的器件、動態(tài)功耗管理、動態(tài)頻率控制三個方面入手。
4.1 選用有可變電壓和多電壓的器件
首先在文中的系統(tǒng)中,選用的單片機芯片TI公司的MSP430系列MCU是一款功耗相當低的器件,供電電壓1.8V~3.6V,運行模式下功耗280μA/MHz,待機模式下功耗1.6μA/MHz,禁用模式下功耗0.1μA/MHz。其次選用的DSP芯片TI的C5510 DSP采用兩種驅動電壓,內核電壓1.6V,I/O電壓3.3V,根據(1)式,IC器件的功耗和供電電壓的平方成正比,1.6V供電的器件比3.3V供電器件能降低一半以上的功耗。IC設計中通常都將降低電壓作為控制功耗的最直接的手段,通過采用低電壓供電的DSP,既能有效地降低內核動態(tài)功耗,還能兼顧I/O的電平兼容性。
4.2動態(tài)功耗管理
PCM編解碼芯片TLV320AIC11可以單獨將A/D或D/A部分禁用。當話筒PTT沒有按下時,表示沒有話音輸入,此時可以將A/D部分置為IDLE狀態(tài)。同樣的,當MODEM的CD信號為高時,表示沒有有效的數字碼流輸入聲碼器,故在此時可以將D/A部分設為IDLE狀態(tài)。通過將該芯片配置成低功耗模式,降低了系統(tǒng)的功耗。另外,C5510 DSP芯片內部劃出了五個獨立的IDLE域,分別負責CPU、DMA、CACHE、外設、時鐘生成器、EMIF接口的配置。每個域可以獨立地將該域管轄的多個部件設置成活動模式或IDLE模式以此降低DSP的功耗。針對本文設計,由于沒有使用到DMA、CACHE、時鐘生成器三個域中的外設,故將這三個域設置成了IDLE模式。EMIF域在DSP和MSP交換數據(為了調整發(fā)送和接收的比特流)時才被置為活動,其他時候被置為IDLE。通過這樣的設置,更加有效地控制了整個系統(tǒng)的運算功耗。
1 平臺中語音編解碼算法簡述
本文在TI C55x系列DSP上實現(xiàn)了0.3kbps至16kbps的多種不同速率的語音編解碼算法。其中16kps速率采用連續(xù)可變增量調制(CVSD)的波形編碼算法,8kps速率采用了ITU-T公布的G.729a標準算法。而低速率編解碼采用了正弦激勵線性預測(SELP)算法。SELP算法是建立在傳統(tǒng)的線性預測模型的基礎上,其中清音成分用白噪聲擬合,濁音成分在每個諧波處用一個頻率變化的正弦信號合成,整個激勵的濁音部分由一組不同幅度的正弦疊加而成,這也是SELP模型不同于傳統(tǒng)的線性預測的一個非常的重要方面,即激勵信號采用分帶混合正弦激勵。
2 語音編解碼算法在DSP數字處理芯片上的實現(xiàn)和優(yōu)化
由于在DSP上運行的聲碼器必須要達到實時化的要求,而直接編譯的C程序遠無法達到。因此需要編寫和優(yōu)化C55x的匯編代碼來提高聲碼器的運行效率。下面介紹幾點在算法硬件實現(xiàn)過程中的關鍵技術:
2.1 C程序和匯編程序的混編,函數的調用和參數傳遞
把一個模塊改寫為匯編函數,然后在C程序或者匯編程序中調用它。在C55x的開發(fā)中,函數的調用機制是這樣的:首先記錄下函數傳遞來的參數,和返回地址SP向低位移。然后再在堆棧中開出本地變量常量所需要的空間,SP再次向低位移。
?。?)匯編函數的聲明:在匯編函數中定義的函數如果要想在C代碼中被調用,必須用.global語句加以聲明,這樣,對象或函數被定義為外部的(external)。比如:
.global _Rem_Dc
_Rem_Dc:
……
(2)參數傳遞:在函數調用的過程中,C代碼傳來的參數按照以下規(guī)則存放在特定的寄存器中:即16或23位的數據指針,先后存放在(X)AR0-(X)AR4中。16位的數據,先后存放在T0,T1,AR0-AR4中,32位的數據,先后存放在AC0,AC1和AC2中。如果參數個數超過寄存器個數,則存放在堆棧中。同時,函數的返回值如果是短整型(short)則存放在T0中,如果是長整型(long)則存放在AC0中,如果是指針則存放在(X)AR0中。
例如:
?、賗nt fn(int i1, long l2, int *p3);
則fn-》T0; il-》T0, l2-》AC0, p3-》AR0
?、趌ong fn(int *p1, int i2, int i3, int i4);
則fn-》AC0, p1-》AR0, i2-》T0, i3-》T1, i4-》AR1
?、踲oid fn(long l1, long l2, long l3, long l4, int i5);
則l1-》AC0, l2-》AC1, l3-》AC2, l4-》堆棧, i5-》T0
④void fn(long l1, long l2, long l3, int *p4, int *p5, int *p6, int *p7, int *p8, int i9, int i10);
則l1-》AC0,l2-》AC1,l3-》AC2,p4-》AR0,p5-》AR1, p6-》AR2, p7-》AR3, p8-》AR4, i9-》T0,i10-》T1
2.2 標志位的設置
標志位是DSP芯片在計算時設置一些位置。它們存放在ST0_55~ST3_55中,在運算中主要用到的幾個有:
FRCT,當其值等于1時,乘法運算的結果將左移一位。等于零時,運算結果不變。
SATD,當其值等于1時,運算發(fā)生溢出時作飽和處理
SXMD,當其值等于1時,輸入操作數有符號擴展
SMUL,當其值等于1時,飽和模式開
他們分別存儲在ST1_55和ST3_55寄存器的位置如圖1所示:
圖1 C55x DSP關鍵標志位在寄存器中的位置
這幾個操作位的設置不對的話,會出現(xiàn)運算結果的錯誤。所以要根據程序的需要正確設置操作位,同時要在程序的前后保護和還原其初值。
psh *(ST1_55)
psh *(ST3_55)
……
pop *(ST3_55)
pop *(ST1_55)
3 語音編解碼硬件平臺簡述
本文設計的多模式語音編解碼系統(tǒng)基于C55x系列DSP和MCU的雙處理器設計,主芯片采用了TI公司的TMS320VC5510A數字信號處理器。其時鐘周期最高為200MHz。擁有160KWord片上RAM(其中包括8塊4KWord的DARAM和32塊4KWord的SARAM)、16KWord片上ROM、8MWord的最大擴展尋址能力。微控制器(MCU)選用TI公司的MSP430F149,主要完成系統(tǒng)啟動,電源管理,狀態(tài)監(jiān)控,DSP程序加載,聲碼器二進制碼流位置重排等功能,并和DSP配合實現(xiàn)系統(tǒng)級加密機制。另外,硬件平臺的音頻編解碼芯片選用TLV320AIC10,而程序存儲部分采用的是SST39VF160 Flash,容量為1MWord,用來儲存程序和數據。本硬件平臺的框架結構圖如圖2所示。
圖2 多速率語音編解碼系統(tǒng)硬件平臺框架結構圖
4 低功耗設計
在數字集成電路設計中,CMOS電路的靜態(tài)功耗很低,與其動態(tài)功耗相比基本可以忽略不計,故暫不考慮。其動態(tài)功耗計算公式為:
? ?。?)
式中Pd為CMOS芯片的動態(tài)功耗;CT為CMOS芯片的負載電容;V為CMOS芯片的工作電壓;f為CMOS芯片的工作頻率。本硬件平臺的低功耗設計從選用有可變電壓和多電壓的器件、動態(tài)功耗管理、動態(tài)頻率控制三個方面入手。
4.1 選用有可變電壓和多電壓的器件
首先在文中的系統(tǒng)中,選用的單片機芯片TI公司的MSP430系列MCU是一款功耗相當低的器件,供電電壓1.8V~3.6V,運行模式下功耗280μA/MHz,待機模式下功耗1.6μA/MHz,禁用模式下功耗0.1μA/MHz。其次選用的DSP芯片TI的C5510 DSP采用兩種驅動電壓,內核電壓1.6V,I/O電壓3.3V,根據(1)式,IC器件的功耗和供電電壓的平方成正比,1.6V供電的器件比3.3V供電器件能降低一半以上的功耗。IC設計中通常都將降低電壓作為控制功耗的最直接的手段,通過采用低電壓供電的DSP,既能有效地降低內核動態(tài)功耗,還能兼顧I/O的電平兼容性。
4.2動態(tài)功耗管理
PCM編解碼芯片TLV320AIC11可以單獨將A/D或D/A部分禁用。當話筒PTT沒有按下時,表示沒有話音輸入,此時可以將A/D部分置為IDLE狀態(tài)。同樣的,當MODEM的CD信號為高時,表示沒有有效的數字碼流輸入聲碼器,故在此時可以將D/A部分設為IDLE狀態(tài)。通過將該芯片配置成低功耗模式,降低了系統(tǒng)的功耗。另外,C5510 DSP芯片內部劃出了五個獨立的IDLE域,分別負責CPU、DMA、CACHE、外設、時鐘生成器、EMIF接口的配置。每個域可以獨立地將該域管轄的多個部件設置成活動模式或IDLE模式以此降低DSP的功耗。針對本文設計,由于沒有使用到DMA、CACHE、時鐘生成器三個域中的外設,故將這三個域設置成了IDLE模式。EMIF域在DSP和MSP交換數據(為了調整發(fā)送和接收的比特流)時才被置為活動,其他時候被置為IDLE。通過這樣的設置,更加有效地控制了整個系統(tǒng)的運算功耗。
dsp
加入交流群
掃碼添加小助手
加入工程師交流群
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- NANDFLASH快速BCH編解碼算法及便件實現(xiàn)
- PCM語音編解碼及原理圖下載 16次下載
- DSP芯片實現(xiàn)語音編解碼技術的設計方案 18次下載
- PCM語音編解碼的PCB原理圖免費下載 20次下載
- AP280語音編解碼芯片的數據手冊 3次下載
- 如何使用L9320實現(xiàn)ADPCM語音編解碼 24次下載
- 如何使用DSP和CPLD進行語音處理系統(tǒng)的設計資料說明 6次下載
- G.7xx語音編解碼模塊及在AD218X上的實現(xiàn) 0次下載
- 多制式數字視頻編碼器 55次下載
- 在DSP上G.729A算法的優(yōu)化
- G.726語音編解碼器在SoPC中的實現(xiàn)
- 三代移動通信變速率語音編解碼AMR-WB+算法優(yōu)化
- G.726語音編解碼器在SoPC中的實現(xiàn)
- 基于TMS320C6713的G.723.1語音編解碼的實時實
- 語音編解碼芯片MT8965在ALU中的應用
- TLV320AIC12KIDBTR 低功耗單聲道語音頻編解碼器 156次閱讀
- 音視頻編解碼封裝解封裝部件介紹 371次閱讀
- ADAU1787四個ADC、兩個DAC、帶音頻DSP的低功耗編解碼器技術手冊 1.3k次閱讀
- 遙控編解碼芯片有哪些 4.3k次閱讀
- MAXQ3120在編解碼應用中的應用 1.4k次閱讀
- 新唐科技音頻編解碼器簡介 2.4k次閱讀
- 新唐科技語音頻段編解碼器簡介 2.9k次閱讀
- 淺析基于嵌入式DSP的流媒體解決方案 1.6k次閱讀
- 基于TI Soc OMAP4430異構多核處理器的H264編解碼 2.1k次閱讀
- 關于音頻編解碼器EVS及用好要做的準備工作詳解 6.8k次閱讀
- FFMPEG視頻編解碼流程 H.264硬件編解碼實現(xiàn) 2w次閱讀
- 分析了各主流編解碼器的優(yōu)勢與不足,并對編解碼器的選擇給出建議 1.6w次閱讀
- 數字視頻編解碼技術回顧及展望 1.4k次閱讀
- 音頻編解碼器技術 5.5k次閱讀
- 基于DSP的雙通道數字語音監(jiān)錄器設計 1.6k次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數據手冊
- 3.00 MB | 次下載 | 免費
- 2MDD品牌三極管BC817數據手冊
- 2.51 MB | 次下載 | 免費
- 3MDD品牌三極管D882數據手冊
- 3.49 MB | 次下載 | 免費
- 4MDD品牌三極管MMBT2222A數據手冊
- 3.26 MB | 次下載 | 免費
- 5MDD品牌三極管MMBTA56數據手冊
- 3.09 MB | 次下載 | 免費
- 6MDD品牌三極管MMBTA92數據手冊
- 2.32 MB | 次下載 | 免費
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 3PC5502負載均流控制電路數據手冊
- 1.63 MB | 22次下載 | 免費
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論