《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM7TDMI內(nèi)核SEP3203處理器的語(yǔ)音信號(hào)的軟件實(shí)時(shí)編解碼的實(shí)現(xiàn)
基于ARM7TDMI內(nèi)核SEP3203處理器的語(yǔ)音信號(hào)的軟件實(shí)時(shí)編解碼的實(shí)現(xiàn)
摘要: 在設(shè)計(jì)一款面向多媒體應(yīng)用的嵌入式系統(tǒng)時(shí),實(shí)時(shí)性能非常重要。本文提出了一種基于ARM7TDMI內(nèi)核的SoC中語(yǔ)音處理系統(tǒng)的設(shè)計(jì)方案,并根據(jù)該款SoC具有eSRAM的特點(diǎn),進(jìn)行了系統(tǒng)性能的優(yōu)化。對(duì)樣機(jī)的測(cè)試表明系統(tǒng)在主頻70 MHz、有操作系統(tǒng)的情況下編碼速率為19.88 KB/s,解碼速率為22.68 KB/s,達(dá)到了語(yǔ)音系統(tǒng)的實(shí)時(shí)性要求。而且,如果語(yǔ)音處理作為樣機(jī)的子系統(tǒng)應(yīng)用,其硬件設(shè)計(jì)也支持MP3播放和LCD觸摸屏的功能,實(shí)現(xiàn)了系統(tǒng)板面積減小、整機(jī)成本降低的目的,不失為一種高效價(jià)廉的設(shè)計(jì)方案。
Abstract:
Key words :

關(guān)鍵字:ARM7 TDMI內(nèi)核 SEP3203處理器 實(shí)時(shí)編解碼

  本文基于東南大學(xué)國(guó)家專用集成電路系統(tǒng)工程技術(shù)研究中心自主研發(fā)的ARM7TDMI內(nèi)核的32位嵌入式SoC——SEP3203處理器,采用G.721標(biāo)準(zhǔn)ADPCM算法,實(shí)現(xiàn)了語(yǔ)音信號(hào)的軟件實(shí)時(shí)編解碼,為語(yǔ)音處理應(yīng)用提供了一種有效的嵌入式解決方案。

  1 G.721標(biāo)準(zhǔn)概述

  1937年,A.H.Reeves提出脈沖編碼調(diào)制(PCM),開(kāi)創(chuàng)了語(yǔ)音數(shù)字化通信的歷程。CCITT在20世紀(jì)80年代初,開(kāi)始研究低于64 Kb/s的非PCM編碼算法,先后制定通過(guò)了G.721、G.728、 G.729等編碼標(biāo)準(zhǔn)。其中,G.721協(xié)議作為ADPCM的典型算法,不僅具有與PCM近乎相同的語(yǔ)音質(zhì)量,而且有簡(jiǎn)單的算法結(jié)構(gòu)和優(yōu)良的抗誤碼性能,在衛(wèi)星、海纜及便攜式數(shù)字語(yǔ)音設(shè)備等方面都有廣泛應(yīng)用。G.721算法的簡(jiǎn)化框圖如圖1所示。

  編碼過(guò)程:

  ① 計(jì)算Sl(k)與自適應(yīng)預(yù)測(cè)器輸出Se(k)的差值E(k)=Sl(k)-Se(k);

  ② 通過(guò)自適應(yīng)量化模塊對(duì)E(k)進(jìn)行量化,得到ADPCM碼字I(k);

  ③ 通過(guò)自適應(yīng)反量化模塊對(duì)I(k)計(jì)算得到量化差分預(yù)測(cè)信號(hào)Dq(k);

  ④ 根據(jù)重建信號(hào)Sr(k)=Se(k)+Dq(k)和Dq(k)更新預(yù)測(cè)濾波器系數(shù);

  ⑤ 利用新的系數(shù),計(jì)算得到Se(k+1),重復(fù)上述5個(gè)步驟,壓縮下一個(gè)語(yǔ)音采樣數(shù)據(jù)。

  解碼過(guò)程:

  ① 通過(guò)自適應(yīng)反量化和自適應(yīng)預(yù)測(cè)得到Dq(k)和Se(k),得到語(yǔ)音重建信號(hào)Sr(k);

  ② 對(duì)重建信號(hào)Sr(k)進(jìn)行PCM格式轉(zhuǎn)換,得到PCM碼字Sp(k);

  ③ 采用與編碼器相同的方法更新預(yù)測(cè)濾波器系數(shù);

  ④ 為實(shí)現(xiàn)雙向通信,同步調(diào)整Sp(k);

  ⑤ 利用新的濾波器系數(shù),重復(fù)上述5個(gè)步驟,解碼下一個(gè)I(k)。

 


圖1 G.721編碼器和解碼器簡(jiǎn)化框圖

關(guān)鍵字:ARM7 TDMI內(nèi)核 SEP3203處理器 實(shí)時(shí)編解碼

 

  2 芯片簡(jiǎn)介

  SEP3203芯片為系統(tǒng)處理核心,總體結(jié)構(gòu)框圖如圖2所示。該芯片是東南大學(xué)國(guó)家專用集成電路系統(tǒng)工程技術(shù)研究中心自主設(shè)計(jì)的基于ARM7TDMI的32位SoC,采用AMBA2.0標(biāo)準(zhǔn),0.25μmCMOS工藝,主要面向嵌入式中低端手持設(shè)備。片上提供AC97控制器、外存接口EMI、6通道DMAC、TIMER、PMU、INTC等模塊。其中,語(yǔ)音系統(tǒng)使用的模塊有:EMI,負(fù)責(zé)控制對(duì)外存的訪問(wèn);片上存儲(chǔ)器eSRAM,用于優(yōu)化耗時(shí)的核心代碼;AC97,提供AC97標(biāo)準(zhǔn)的音頻接口;DMAC,用于實(shí)現(xiàn)大數(shù)據(jù)量的DMA傳送。


圖2 SEP3203芯片結(jié)構(gòu)框圖

  3 系統(tǒng)設(shè)計(jì)

  3.1 硬件系統(tǒng)

  硬件系統(tǒng)框圖如圖3所示。虛線框內(nèi)是片內(nèi)模塊;框外為片外器件,包括外存(SDRAM/SRAM/Flash等)、CODEC等。Philips公司的UCB1400作為CODEC。以下為系統(tǒng)工作過(guò)程。

 


圖3 語(yǔ)音處理硬件系統(tǒng)框圖

  ① 編碼。CODEC采樣語(yǔ)音數(shù)據(jù),暫存在AC97的輸入FIFO中。然后,由DMAC通過(guò)中斷方式,將數(shù)據(jù)傳送到指定存儲(chǔ)區(qū)域。在ARM7TDMI的控制下,運(yùn)行G.721編碼程序,將語(yǔ)音PCM數(shù)據(jù)壓縮為ADPCM碼。

  ② 解碼。運(yùn)行G.721解碼程序,把存儲(chǔ)器中的ADPCM碼解碼為PCM碼。每解滿1幀數(shù)據(jù)后,由DMAC通過(guò)中斷方式把數(shù)據(jù)傳送到AC97的輸出FIFO,通過(guò)CODEC驅(qū)動(dòng)放音設(shè)備(耳機(jī)、揚(yáng)聲器等)。

關(guān)鍵字:ARM7 TDMI內(nèi)核 SEP3203處理器 實(shí)時(shí)編解碼

 

  根據(jù)語(yǔ)音實(shí)時(shí)性的需要,設(shè)置UCB1400采樣速率為8 kb/s。該芯片用16位表示一個(gè)采樣點(diǎn),故采樣速率為128 kb/s。編碼后,每個(gè)采樣點(diǎn)用4位表示,故傳輸率為32 kb/s。

  3.2 軟件系統(tǒng)

  軟件流程如圖4所示。每幀數(shù)據(jù)為64個(gè)采樣點(diǎn),共計(jì)為128字節(jié)、16位表示的PCM碼,編碼后為32字節(jié)、4位表示的ADPCM碼。


圖4 編解碼的軟件流程

  (1) 編碼

  首先對(duì)系統(tǒng)初始化,包括對(duì)AC97、CODEC、DMAC等模塊配置,以及有關(guān)狀態(tài)變量的初始化。然后,采樣第1幀語(yǔ)音數(shù)據(jù),采樣結(jié)束進(jìn)入DMA中斷,在中斷處理中再次配置DMAC,觸發(fā)新的采樣傳輸,并對(duì)剛采樣的數(shù)據(jù)編碼。由于編碼由內(nèi)核執(zhí)行,采樣由CODEC和DMA完成,故對(duì)第K幀編碼和對(duì)第K+1幀采樣是并發(fā)進(jìn)行的。

  (2) 解碼

  同編碼過(guò)程類似,首先對(duì)系統(tǒng)進(jìn)行初始化,然后解碼第1幀音頻數(shù)據(jù)。解碼完配置DMAC,觸發(fā)數(shù)據(jù)傳送至AC97輸出FIFO,通過(guò)放音設(shè)備播放錄音。同樣,解碼第K+1幀數(shù)據(jù)與播放第K幀數(shù)據(jù)并發(fā)進(jìn)行。

  本設(shè)計(jì)采用“雙Buffer”機(jī)制緩沖數(shù)據(jù)。“雙Buffer”是指:開(kāi)辟兩個(gè)幀緩沖區(qū)為Buf0、Buf1,緩沖標(biāo)志Flg初始為0。編碼時(shí),采樣第1幀數(shù)據(jù),DMA從AC97輸入FIFO向Buf0傳輸數(shù)據(jù),傳 輸完后,設(shè)置Flg=1,編碼器從Buf0中取數(shù)據(jù)編碼;同時(shí),DMA向Buf1中傳送新數(shù)據(jù)。周而復(fù)始,每幀數(shù)據(jù)采樣完,設(shè)置Flg=!Flg,編碼器從Buf!Flg緩沖區(qū)取數(shù)據(jù)編碼,DMA傳送采樣數(shù)據(jù)的目的地址為Buf Flg,從而實(shí)現(xiàn)了第K+1幀數(shù)據(jù)采樣和第K幀數(shù)據(jù)編碼并發(fā)。只要編碼速度高于采樣速度,就不會(huì)出現(xiàn)數(shù)據(jù)的覆蓋。處理過(guò)程如下(解碼時(shí)的情況類似):


  4 性能優(yōu)化

  語(yǔ)音處理的實(shí)時(shí)性要求很高,否則,若數(shù)據(jù)處理速度跟不上語(yǔ)音變化速度,就會(huì)在錄音時(shí)出現(xiàn)剛采樣的數(shù)據(jù)覆蓋了先采入但未處理的數(shù)據(jù);在放音時(shí),出現(xiàn)播放的速度比實(shí)際語(yǔ)音慢。當(dāng)然,如果用足夠大的緩沖,可以避免錄音出現(xiàn)的問(wèn)題,但放音出現(xiàn)的問(wèn)題是無(wú)法避免的。同時(shí),鑒于存儲(chǔ)資源對(duì)于嵌入式系統(tǒng)是很寶貴的,故此方案沒(méi)有實(shí)際價(jià)值。上文介紹的“雙Buffer”機(jī)制,能夠使采樣和編碼之間、解碼和播放之間分別互不影響、并發(fā)執(zhí)行,易于控制;但要滿足實(shí)時(shí)性要求,還要使編解碼速度符合采樣和播放的要求。語(yǔ)音速率是8 KB/s,而系統(tǒng)中一個(gè)采樣點(diǎn)用16位表示,故編解碼速度不能低于16 KB/s(即每秒至少編碼16 KB的PCM碼,每秒至少解出16 KB的PCM碼)。表1是未對(duì)系統(tǒng)優(yōu)化前,測(cè)試裸機(jī)無(wú)操作系統(tǒng)情況下,處理512 KB的PCM碼(對(duì)應(yīng)128 KB的ADPCM碼)所用時(shí)間。該測(cè)試是使用SoC內(nèi)部定時(shí)器TIMER進(jìn)行的,見(jiàn)參考文獻(xiàn)。測(cè)試結(jié)果顯示,系統(tǒng)優(yōu)化前沒(méi)有滿足語(yǔ)音實(shí)時(shí)性要求。


  到此,系統(tǒng)目標(biāo)代碼都是在SDRAM中運(yùn)行的。SEP3203提供了一個(gè)很有用的模塊——片內(nèi)高速存儲(chǔ)器eSRAM。eSRAM存取速度非常快,可達(dá)到0.89 MIPS/MHz,所以對(duì)系統(tǒng)性能有很大的優(yōu)化作用,而SDRAM卻只能有其性能的1/3左右。表2是在50 MHz時(shí)鐘、32位ARM指令情況下,SDRAM和eSRAM的性能比較。各項(xiàng)指標(biāo)的意義見(jiàn)參考文獻(xiàn)。

關(guān)鍵字:ARM7 TDMI內(nèi)核 SEP3203處理器 實(shí)時(shí)編解碼

 

  但是,SEP3203的20K的資源是有限的,不可能也不必要將所有代碼都放在其中執(zhí)行。ARM集成開(kāi)發(fā)工具提供了Profile功能,可以對(duì)整個(gè)程序進(jìn)行統(tǒng)計(jì)分析,得到各部分代碼(主要以標(biāo)準(zhǔn)C函數(shù)為單位)所耗時(shí)間占系統(tǒng)總時(shí)間的百分比。通過(guò)對(duì)軟件系統(tǒng)做Profile分析,得到各編解碼庫(kù)函數(shù)在總編解碼時(shí)間內(nèi)所占的百分比,其中主要部分如表3所列。


  以上三個(gè)函數(shù)在總編解碼時(shí)間內(nèi)占用了近80 %的時(shí)間(Quan()、Fmult()、Update()的功能分別為量化表查找、定點(diǎn)化的浮點(diǎn)數(shù)乘法、狀態(tài)變量更新),對(duì)這些代碼優(yōu)化就會(huì)明顯提高編解碼速度。把這些函數(shù)代碼整合到文件rec_esram.c中,然后加載remap.scf文件進(jìn)行內(nèi)存映像(*.scf文件是ARM ADS集成開(kāi)發(fā)工具提供的鏈接腳本文件)。

  進(jìn)行內(nèi)存映像后,rec_esram.c的目標(biāo)代碼rec_esram.o(約為1.5KB)就加載到eSRAM(起始地址為0x1fff0000)中執(zhí)行了。表4是經(jīng)過(guò)eSRAM優(yōu)化后編解碼速度測(cè)試結(jié)果。

 


  在有操作系統(tǒng)的情況下,也對(duì)語(yǔ)音系統(tǒng)性能進(jìn)行了測(cè)試,如表5所列。該操作系統(tǒng)為東南大學(xué)專用集成電路系統(tǒng)工程技術(shù)與研究中心自主研發(fā)的面向嵌入式應(yīng)用的ASIXOS,提供圖形用戶界面、網(wǎng)絡(luò)、時(shí)鐘、實(shí)時(shí)中斷管理等支持和清晰的應(yīng)用程序開(kāi)發(fā)接口。語(yǔ)音系統(tǒng)為該OS環(huán)境中的一個(gè)應(yīng)用,有獨(dú)立的用戶界面和底層服務(wù)。限于篇幅,本文不再詳述。


  從以上測(cè)試可以看出,在經(jīng)過(guò)eSRAM優(yōu)化后,無(wú)論是在裸機(jī)上還是在有操作系統(tǒng)的情況下,編解碼速度都能滿足語(yǔ)音實(shí)時(shí)性的需要,達(dá)到了設(shè)計(jì)要求。

  結(jié)語(yǔ)

  在設(shè)計(jì)一款面向多媒體應(yīng)用的嵌入式系統(tǒng)時(shí),實(shí)時(shí)性能非常重要。本文提出了一種基于ARM7TDMI內(nèi)核的SoC中語(yǔ)音處理系統(tǒng)的設(shè)計(jì)方案,并根據(jù)該款SoC具有eSRAM的特點(diǎn),進(jìn)行了系統(tǒng)性能的優(yōu)化。對(duì)樣機(jī)的測(cè)試表明系統(tǒng)在主頻70 MHz、有操作系統(tǒng)的情況下編碼速率為19.88 KB/s,解碼速率為22.68 KB/s,達(dá)到了語(yǔ)音系統(tǒng)的實(shí)時(shí)性要求。而且,如果語(yǔ)音處理作為樣機(jī)的子系統(tǒng)應(yīng)用,其硬件設(shè)計(jì)也支持MP3播放和LCD觸摸屏的功能,實(shí)現(xiàn)了系統(tǒng)板面積減小、整機(jī)成本降低的目的,不失為一種高效價(jià)廉的設(shè)計(jì)方案。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国内成+人亚洲| 亚洲综合色在线| 国产精品日韩| 欧美视频在线视频| 欧美日本精品一区二区三区| 免费在线观看精品| 免费成年人欧美视频| 麻豆精品传媒视频| 美国三级日本三级久久99| 老牛嫩草一区二区三区日本| 久久婷婷成人综合色| 久久久久国产一区二区| 久久精品av麻豆的观看方式| 久久福利资源站| 欧美在线视频一区二区| 久久精品国产久精国产一老狼| 久久av二区| 久久精品在这里| 久久久久久尹人网香蕉| 久久视频一区二区| 欧美aaa级| 欧美日本韩国在线| 国产精品xxx在线观看www| 国产精品久久久久久久久久尿| 国产精品午夜av在线| 国产日韩精品在线观看| 国产一区二区三区无遮挡| 狠狠色香婷婷久久亚洲精品| 在线观看日韩一区| 亚洲激情第一页| 99精品国产在热久久下载| 亚洲午夜成aⅴ人片| 亚洲在线电影| 久久成人综合视频| 亚洲精品久久嫩草网站秘色 | 午夜日韩av| 欧美专区福利在线| 免费不卡亚洲欧美| 欧美日韩国产高清| 国产欧美精品一区aⅴ影院| 狠狠色狠狠色综合人人| 亚洲欧洲美洲综合色网| 一区二区三区视频免费在线观看| 亚洲欧美国产精品桃花 | 亚洲观看高清完整版在线观看| 亚洲黄页一区| 在线性视频日韩欧美| 欧美一区二区三区四区高清| 美女性感视频久久久| 欧美日韩性视频在线| 国产欧美日韩亚洲一区二区三区| 影视先锋久久| 一区二区三区欧美日韩| 欧美一区国产二区| 一本色道久久88精品综合| 欧美亚洲综合在线| 欧美国产一区视频在线观看| 国产精品欧美日韩久久| 亚洲高清不卡在线| 亚洲一级二级在线| 亚洲欧洲精品一区二区三区不卡 | 国模套图日韩精品一区二区| 亚洲美女中出| 欧美在线免费视频| 一区二区成人精品| 久久免费精品视频| 欧美视频免费| 在线观看亚洲一区| 亚洲一区日韩在线| 亚洲乱码久久| 久久精品日产第一区二区| 欧美日韩视频在线观看一区二区三区 | 一二三区精品| 亚洲高清久久久| 亚洲欧美另类久久久精品2019| 男女激情视频一区| 国产日韩精品视频一区| 99热在这里有精品免费| 亚洲国产婷婷| 久久国产精品久久精品国产 | 中文日韩电影网站| 亚洲乱亚洲高清| 久久久久久穴| 国产精品乱码一区二三区小蝌蚪 | 一区二区不卡在线视频 午夜欧美不卡'| 久久av一区二区三区漫画| 欧美日韩免费观看一区三区| 伊人久久大香线| 欧美在线看片a免费观看| 亚洲欧美日韩精品久久久| 欧美精品91| 在线精品视频一区二区| 亚洲欧美中文日韩在线| 亚洲一区二区三区欧美| 欧美激情在线播放| 又紧又大又爽精品一区二区| 欧美一区二区成人6969| 午夜日本精品| 国产精品成人观看视频国产奇米| 最新成人在线| 亚洲黄色影院| 免费成人网www| 激情成人在线视频| 欧美在线视屏| 久久国产精品高清| 国产日韩欧美另类| 午夜视频在线观看一区二区| 亚洲在线免费观看| 欧美午夜精品一区| 一区二区国产精品| 亚洲视频第一页| 欧美日韩成人激情| 亚洲国产美女| 亚洲卡通欧美制服中文| 欧美电影美腿模特1979在线看| 黄色亚洲在线| 亚洲国产成人精品久久| 美国三级日本三级久久99| 在线成人黄色| 亚洲精品久久久蜜桃| 欧美激情中文字幕一区二区| 亚洲精品久久久久中文字幕欢迎你| 亚洲欧洲精品一区二区三区| 欧美www在线| 亚洲三级网站| 一本一本久久a久久精品综合妖精| 欧美高清在线观看| 亚洲精品免费一二三区| 一区二区三区视频在线看| 欧美视频一区在线| 亚洲一区二区三区免费视频| 欧美一级成年大片在线观看| 国产视频亚洲精品| 久久精品一区| 欧美成人官网二区| 亚洲精品色图| 亚洲欧美精品在线观看| 国产欧美精品日韩区二区麻豆天美| 亚洲欧美久久久久一区二区三区| 欧美综合77777色婷婷| 黑人一区二区| 亚洲人永久免费| 欧美色网一区二区| 亚洲欧美日韩国产成人| 久久精品一区二区三区中文字幕| 永久555www成人免费| 亚洲免费观看高清完整版在线观看熊 | 亚洲一区二区三区在线播放| 国产精品色婷婷| 欧美一区高清| 欧美国产精品va在线观看| 99这里只有久久精品视频| 性欧美1819性猛交| 狠狠色狠狠色综合系列| 99re66热这里只有精品3直播| 国产精品mm| 欧美在线高清| 欧美精品一区二区三区一线天视频 | 久久久7777| 亚洲欧洲精品一区二区三区波多野1战4| 一本久道综合久久精品| 国产精品综合| 亚洲精品字幕| 国产精品午夜国产小视频| 亚洲丰满在线| 欧美日韩理论| 欧美与黑人午夜性猛交久久久| 欧美高清视频一区二区| 在线视频你懂得一区二区三区| 久久久精品国产一区二区三区| 亚洲激情在线视频| 午夜宅男欧美| 91久久精品一区二区别| 亚洲欧美影院| 亚洲国产精品成人一区二区| 午夜精品福利电影| 亚洲国产精品一区二区尤物区| 香港久久久电影| 亚洲黄网站黄| 久久精品动漫| 一本色道久久综合亚洲精品婷婷 | 国产女精品视频网站免费| 亚洲另类自拍| 国产色产综合产在线视频| 日韩一级网站| 激情久久中文字幕| 新片速递亚洲合集欧美合集| 91久久精品美女高潮| 久久九九久精品国产免费直播 | 亚洲一区二区三区视频播放| 精品91在线| 欧美一级播放| 亚洲精品综合久久中文字幕| 久久久精品999| 亚洲视频在线二区| 欧美国产先锋| 久久精品国产96久久久香蕉| 国产精品久久久一本精品| 日韩午夜av| 一区在线播放|