當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]本文詳細描述了在TI (Texas Instruments) C55x系列DSP平臺上集成實時實現(xiàn)0.3kbps至16kbps多種速率語音編解碼算法的方法,及在現(xiàn)有C語言源代碼基礎(chǔ)上優(yōu)化匯編指令的技巧。介紹了在編寫C55x系列DSP匯編程序中的關(guān)鍵技術(shù),諸如函數(shù)調(diào)用中的參數(shù)傳遞,指令優(yōu)化,標志位設(shè)置,宏使用等。文章同時給出了一種采用TI C55x系列DSP設(shè)計實現(xiàn)的能運行多種語音編解碼算法硬件系統(tǒng)平臺。最后介紹了該硬件平臺的動態(tài)調(diào)整功耗設(shè)計,使系統(tǒng)的功耗在休眠狀態(tài)下最低僅為155.1mW。

近二十年來,全球半導體產(chǎn)業(yè)的飛速發(fā)展帶動相關(guān)的軟件、硬件設(shè)計水平迅速提高,這些發(fā)展使得一大批性能優(yōu)良的復雜的數(shù)字信號處理算法可以實時實現(xiàn)并在日常通信系統(tǒng)中得到廣泛應(yīng)用,極大地提高了現(xiàn)有通信系統(tǒng)的可靠性和效率。因此,研究語音處理技術(shù)并將其用基于DSP芯片硬件系統(tǒng)實現(xiàn)有著非常重要的現(xiàn)實意義和廣闊的市場前景。本文介紹了語音編解碼硬件平臺的設(shè)計思路和編解碼算法在硬件平臺上的實現(xiàn)和優(yōu)化過程,同時給出了硬件平臺結(jié)構(gòu)和低功耗設(shè)計思路。

1 平臺中語音編解碼算法簡述

本文在TI C55x系列DSP上實現(xiàn)了0.3kbps至16kbps的多種不同速率的語音編解碼算法。其中16kps速率采用連續(xù)可變增量調(diào)制(CVSD)的波形編碼算法,8kps速率采用了ITU-T公布的G.729a標準算法。而低速率編解碼采用了正弦激勵線性預測(SELP)算法。SELP算法是建立在傳統(tǒng)的線性預測模型的基礎(chǔ)上,其中清音成分用白噪聲擬合,濁音成分在每個諧波處用一個頻率變化的正弦信號合成,整個激勵的濁音部分由一組不同幅度的正弦疊加而成,這也是SELP模型不同于傳統(tǒng)的線性預測的一個非常的重要方面,即激勵信號采用分帶混合正弦激勵。

2 語音編解碼算法在DSP數(shù)字處理芯片上的實現(xiàn)和優(yōu)化

由于在DSP上運行的聲碼器必須要達到實時化的要求,而直接編譯的C程序遠無法達到。因此需要編寫和優(yōu)化C55x的匯編代碼來提高聲碼器的運行效率。下面介紹幾點在算法硬件實現(xiàn)過程中的關(guān)鍵技術(shù):

2.1 C程序和匯編程序的混編,函數(shù)的調(diào)用和參數(shù)傳遞

把一個模塊改寫為匯編函數(shù),然后在C程序或者匯編程序中調(diào)用它。在C55x的開發(fā)中,函數(shù)的調(diào)用機制是這樣的:首先記錄下函數(shù)傳遞來的參數(shù),和返回地址SP向低位移。然后再在堆棧中開出本地變量常量所需要的空間,SP再次向低位移。

(1)匯編函數(shù)的聲明:在匯編函數(shù)中定義的函數(shù)如果要想在C代碼中被調(diào)用,必須用.global語句加以聲明,這樣,對象或函數(shù)被定義為外部的(external)。比如:

.global _Rem_Dc

_Rem_Dc:

……

(2)參數(shù)傳遞:在函數(shù)調(diào)用的過程中,C代碼傳來的參數(shù)按照以下規(guī)則存放在特定的寄存器中:即16或23位的數(shù)據(jù)指針,先后存放在(X)AR0-(X)AR4中。16位的數(shù)據(jù),先后存放在T0,T1,AR0-AR4中,32位的數(shù)據(jù),先后存放在AC0,AC1和AC2中。如果參數(shù)個數(shù)超過寄存器個數(shù),則存放在堆棧中。同時,函數(shù)的返回值如果是短整型(short)則存放在T0中,如果是長整型(long)則存放在AC0中,如果是指針則存放在(X)AR0中。

例如:

①int fn(int i1, long l2, int *p3);

則fn->T0; il->T0, l2->AC0, p3->AR0

②long fn(int *p1, int i2, int i3, int i4);

則fn->AC0, p1->AR0, i2->T0, i3->T1, i4->AR1

③void 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 標志位的設(shè)置

標志位是DSP芯片在計算時設(shè)置一些位置。它們存放在ST0_55~ST3_55中,在運算中主要用到的幾個有:

FRCT,當其值等于1時,乘法運算的結(jié)果將左移一位。等于零時,運算結(jié)果不變。

SATD,當其值等于1時,運算發(fā)生溢出時作飽和處理

SXMD,當其值等于1時,輸入操作數(shù)有符號擴展

SMUL,當其值等于1時,飽和模式開

他們分別存儲在ST1_55和ST3_55寄存器的位置如圖1所示:

圖1 C55x DSP關(guān)鍵標志位在寄存器中的位置

這幾個操作位的設(shè)置不對的話,會出現(xiàn)運算結(jié)果的錯誤。所以要根據(jù)程序的需要正確設(shè)置操作位,同時要在程序的前后保護和還原其初值。

psh *(ST1_55)

psh *(ST3_55)

……

pop *(ST3_55)

pop *(ST1_55)

3 語音編解碼硬件平臺簡述

本文設(shè)計的多模式語音編解碼系統(tǒng)基于C55x系列DSP和MCU的雙處理器設(shè)計,主芯片采用了TI公司的TMS320VC5510A數(shù)字信號處理器。其時鐘周期最高為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,用來儲存程序和數(shù)據(jù)。本硬件平臺的框架結(jié)構(gòu)圖如圖2所示。

圖2 多速率語音編解碼系統(tǒng)硬件平臺框架結(jié)構(gòu)圖

4 低功耗設(shè)計

在數(shù)字集成電路設(shè)計中,CMOS電路的靜態(tài)功耗很低,與其動態(tài)功耗相比基本可以忽略不計,故暫不考慮。其動態(tài)功耗計算公式為:

(1)

式中Pd為CMOS芯片的動態(tài)功耗;CT為CMOS芯片的負載電容;V為CMOS芯片的工作電壓;f為CMOS芯片的工作頻率。本硬件平臺的低功耗設(shè)計從選用有可變電壓和多電壓的器件、動態(tài)功耗管理、動態(tài)頻率控制三個方面入手。

4.1 選用有可變電壓和多電壓的器件

首先在文中的系統(tǒng)中,選用的單片機芯片TI公司的MSP430系列MCU是一款功耗相當?shù)偷钠骷?,供電電?.8V~3.6V,運行模式下功耗280μA/MHz,待機模式下功耗1.6μA/MHz,禁用模式下功耗0.1μA/MHz。其次選用的DSP芯片TI的C5510 DSP采用兩種驅(qū)動電壓,內(nèi)核電壓1.6V,I/O電壓3.3V,根據(jù)(1)式,IC器件的功耗和供電電壓的平方成正比,1.6V供電的器件比3.3V供電器件能降低一半以上的功耗。IC設(shè)計中通常都將降低電壓作為控制功耗的最直接的手段,通過采用低電壓供電的DSP,既能有效地降低內(nèi)核動態(tài)功耗,還能兼顧I/O的電平兼容性。

4.2動態(tài)功耗管理

PCM編解碼芯片TLV320AIC11可以單獨將A/D或D/A部分禁用。當話筒PTT沒有按下時,表示沒有話音輸入,此時可以將A/D部分置為IDLE狀態(tài)。同樣的,當MODEM的CD信號為高時,表示沒有有效的數(shù)字碼流輸入聲碼器,故在此時可以將D/A部分設(shè)為IDLE狀態(tài)。通過將該芯片配置成低功耗模式,降低了系統(tǒng)的功耗。另外,C5510 DSP芯片內(nèi)部劃出了五個獨立的IDLE域,分別負責CPU、DMA、CACHE、外設(shè)、時鐘生成器、EMIF接口的配置。每個域可以獨立地將該域管轄的多個部件設(shè)置成活動模式或IDLE模式以此降低DSP的功耗。針對本文設(shè)計,由于沒有使用到DMA、CACHE、時鐘生成器三個域中的外設(shè),故將這三個域設(shè)置成了IDLE模式。EMIF域在DSP和MSP交換數(shù)據(jù)(為了調(diào)整發(fā)送和接收的比特流)時才被置為活動,其他時候被置為IDLE。通過這樣的設(shè)置,更加有效地控制了整個系統(tǒng)的運算功耗。

4.3動態(tài)頻率控制

根據(jù)(1)式,IC器件的功耗和頻率成正比,因此,將IC器件的頻率控制在剛剛好滿足運算處理要求的情況,可以大大減小系統(tǒng)功耗。這種方法的關(guān)鍵是算法運算量的大小,動態(tài)的調(diào)整芯片的運行頻率,從而達到節(jié)省功耗的目的。在本文設(shè)計的平臺上運行的六種速率的低速率語音編解碼算法中,600bps、1200bps、2400bps、8000bps、16kbps的峰值運算量分別為37.4MIPS、59.2MIPS、44.8MIPS、18.6MIPS、<1MIPS,因此將DSP的工作頻率分別設(shè)置在40.096MHz、65.536MHz、49.152MHz、24.576MHz。這樣處理能夠很有效地降低DSP的內(nèi)核功耗,最大限度地有效利用運算資源。

通過以上幾個方面的優(yōu)化設(shè)計,我們達到了應(yīng)用場合對功耗的要求。表1是本系統(tǒng)在不同運行模式下的功耗統(tǒng)計。

表1 不同模式下DSP功耗

工作方式

功耗

全速運行(80MHz)

521.4mW

低速運行(2MHz)

264mW

低速運行/DSP外設(shè)休眠

214.5mW

低速運行/DSP外設(shè)休眠/外圍芯片休眠

155.1mW

5 小結(jié)

本文中介紹了針對語音編解碼算法在TI C55x系列DSP上的實現(xiàn)方法。結(jié)合作者在實際開發(fā)過程中的經(jīng)驗與體會總結(jié)了編寫匯編程序中的主要技巧。目前C55x的高性能低功耗特點能大幅度提高便攜式設(shè)備的處理能力和電池的使用壽命,將會廣泛應(yīng)用于語音處理的各個領(lǐng)域。本文介紹的方法和經(jīng)驗具有廣闊的推廣價值。

本文的創(chuàng)新點:1.指出了多種在TI C55x系列DSP平臺上匯編語言的開發(fā)經(jīng)驗與技巧。2.實現(xiàn)了一個可同時加載多種速率制式語音編解碼的嵌入式硬件平臺。 3.采用多種方案實現(xiàn)了對該硬件平臺的低功耗設(shè)計,很大程度上節(jié)約了系統(tǒng)的運行功耗。

參考文獻(References)
[1]田秋玲,崔慧娟,唐昆.高質(zhì)量0.6Kb/s聲碼器的TMS320VC55x實現(xiàn)[J].電聲技術(shù),2005,8:50-53
[2]詹杰,唐昆,崔慧娟.基于TMS320VC5510的低功耗加密型語音硬件平臺的設(shè)計與實現(xiàn)[J],微計算機信息,2005/25:63-65
[3]TMS320C55xDSPProgrammer’sGuide(spru376a)[R].TexasInstruments,July2001
[4]TMS320C55xDSPMnemonicInstructionSetReferenceGuide(spru374g)[R].TexasInstruments,October2002
[5]趙永剛,高攀峰,崔慧娟,等.聲碼器通用硬件平臺的實現(xiàn)[J].電聲技術(shù),2004,7:24-26.
[6]荊元利,樊曉椏,高德遠,等.一種數(shù)字信號處理器的動態(tài)功耗管理方案[J].微電子學與計算機,2003,9:60-63.
[7]TI.MSP430X1XXFAMILYUSERGUIDE.[R].TexasInstruments,January2003

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉