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

  引 言

  隨著微電子和計算機技術的高速發(fā)展,許多嵌入式應用系統應運而生。其中,各種語音處理系統不斷被開發(fā)出來,在各行業(yè)得到廣泛應用,如語音報站器、自動解說裝置、采訪錄音筆等,為人類的生產、生活提供了極大的便利。本文基于東南大學國家專用集成電路的32位嵌入式SoC——SEP3203處理器,采用G.721標準ADPCM算法,實現了語音信號的軟件實時編解碼,為語音處理應用提供了一種有效的嵌入式解決方案。

  1、G.721標準概述

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

  編碼過程:

  ① 計算Sl(k)與自適應預測器輸出Se(k)的差值E(k)=Sl(k)-Se(k);
  ② 通過自適應量化模塊對E(k)進行量化,得到ADPCM碼字I(k);
  ③ 通過自適應反量化模塊對I(k)計算得到量化差分預測信號Dq(k);
  ④ 根據重建信號Sr(k)=Se(k)+Dq(k)和Dq(k)更新預測濾波器系數;
  ⑤ 利用新的系數,計算得到Se(k+1),重復上述5個步驟,壓縮下一個語音采樣數據。

  解碼過程:

  ① 通過自適應反量化和自適應預測得到Dq(k)和Se(k),得到語音重建信號Sr(k);
  ② 對重建信號Sr(k)進行PCM格式轉換,得到PCM碼字Sp(k);

 


 

圖1 G.721編碼器和解碼器簡化框圖


  ③ 采用與編碼器相同的方法更新預測濾波器系數;
  ④ 為實現雙向通信,同步調整Sp(k);
  ⑤ 利用新的濾波器系數,重復上述5個步驟,解碼下一個I(k)。

 

  2、芯片簡介

  SEP3203芯片為系統處理核心,總體結構框圖如圖2所示。該芯片是東南大學國家專用集成電路系統工程技術研究中心自主設計的基于ARM7TDMI的32位SoC,采用AMBA2.0標準,0.25μmCMOS工藝,主要面向嵌入式中低端手持設備。片上提供AC97控制器、外存接口EMI、6通道DMAC、TIMER、PMU、INTC等模塊。其中,語音系統使用的模塊有:EMI,負責控制對外存的訪問;片上存儲器

eSRAM,用于優(yōu)化耗時的核心代碼;AC97,提供AC97標準的音頻接口;DMAC,用于實現大數據量的DMA傳送。

 


 

圖2 SEP3203芯片結構框圖

 

  3、系統設計

  3.1 硬件系統

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

 


 

圖3 語音處理硬件系統框圖

 

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

  ② 解碼。運行G.721解碼程序,把存儲器中的ADPCM碼解碼為PCM碼。每解滿1幀數據后,由DMAC通過中斷方式把數據傳送到AC97的輸出FIFO,通過CODEC驅動放音設備(耳機、揚聲器

等)。

 

  根據語音實時性的需要,設置UCB1400采樣速率為8 kb/s。該芯片用16位表示一個采樣點,故采樣速率為128 kb/s。編碼后,每個采樣點用4位表示,故傳輸率為32 kb/s。

  3.2 軟件系統

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

 


 

圖4 編解碼的軟件流程

 

  (1) 編碼

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

  (2) 解碼

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

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

  Flg=0;
  Psmp=Buf Flg;
  Run_Sample(Psmp);//采樣第1幀數據
  While(1) { 
    Flg=! Flg;
    Penc=Buf !Flg;//編碼指針指向緩沖區(qū)Buf !Flg
    Psmp=Buf Flg;//采樣指針指向緩沖區(qū)Buf Flg
    Run_Sampler(Psmp); Run_Encoder(Penc); 
             //啟動采樣器和編碼器,兩者并發(fā)
  }

  4、性能優(yōu)化

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

 


 

表1 優(yōu)化前編解碼速度

 

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

 


 

表2 eSRAM和SDRAM性能比較

 

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

 


 

表3 最耗費時間的庫函數

 

  以上三個函數在總編解碼時間內占用了近80 %的時間(Quan()、Fmult()、Update()的功能分別為量化表查找、定點化的浮點數乘法、狀態(tài)變量更新),對這些代碼優(yōu)化就會明顯提高編解碼速度。把這些函數代碼整合到文件rec_esram.c中,然后加載remap.scf文件進行內存映像(*.scf文件是ARM ADS集成開發(fā)工具提供的鏈接腳本文件)。下面是remap.scf文件的內容:
  FLASH 0x30002000 0x1000000
  {
    FLASH 0x30002000
            //系統初始化入口及其他代碼存放地址
    {
      init_ice.o (INIT, +First)
      * (+RO,+RW,+ZI)
    }
    32bitRAM 0x00000000 //中斷向量表入口地址
    {
      boot_gfd.o (BOOT, +First)
    } 
    ESRAM 0x1fff0000 0x600 //核心庫代碼存放地址,在eSRAM中
    {
      rec_esram.o (+RO,+RW,+ZI)
    }
    /*堆棧設置部分*/
  }

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

 


 

表4 eSRAM優(yōu)化后的編解碼速度

 

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

  從以上測試可以看出,在經過eSRAM優(yōu)化后,無論是在裸機上還是在有操作系統的情況下,編解碼速度都能滿足語音實時性的需要,達到了設計要求。

 


 

表5 eSRAM優(yōu)化后的編解碼速度

 

  結語

  在設計一款面向多媒體應用的嵌入式系統時,實時性能非常重要。本文提出了一種基于ARM7TDMI內核的SoC中語音處理系統的設計方案,并根據該款SoC具有eSRAM的特點,進行了系統性能的優(yōu)化。對樣機的測試表明系統在主頻70 MHz、有操作系統的情況下編碼速率為19.88 KB/s,解碼速率為22.68 KB/s,達到了語音系統的實時性要求。而且,如果語音處理作為樣機的子系統應用,其硬件設計也支持MP3播放和LCD觸摸屏

的功能,實現了系統板面積減小、整機成本降低的目的,不失為一種高效價廉的設計方案。

 

參考文獻
1 凌明.基于ARM7TDMI的低成本手持多媒體設備處理器.南京:東南大學國家ASIC工程中心,2004
2 茍大舉,楊啟剛.基于ADPCM 編碼的語音錄放系統開發(fā)平臺.四川大學學報(自然科學版), 1998.4, Vol.35 No.2:178~182
3 傅秋良,袁宗寶.純軟件實現ADPCM語音壓縮算法.電信科學, 1994.10, Vol.10 No.10:21~24
4 Gibson Jerry D. 多媒體數字壓縮原理與標準.李煜暉譯.北京:電子工業(yè)出版社,2002
5 CCITT. Recommendation G.721: A 32kbit/s Adaptive Differential PulseCodeModulation, Red Book,1984
6 CCITT. Recommendation G.711: General Aspects of Digital Transmission Systems and Terminal Equipments, Blue Book, 1988

此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产免费一区二区三区香蕉精| 一区二区三区在线高清| 欧美在线免费播放| 亚洲婷婷在线| 亚洲激情专区| 91久久久久久久久| 亚洲高清成人| 亚洲电影在线免费观看| 欧美伊人久久久久久午夜久久久久 | 欧美国产日韩一区二区在线观看 | 午夜精品久久久久久久久久久久久| 一区二区三区日韩在线观看| 日韩一级精品| 日韩香蕉视频| 一区二区三区你懂的| 一本色道久久99精品综合| 亚洲免费播放| 亚洲小少妇裸体bbw| 亚洲视屏在线播放| 亚洲尤物在线视频观看| 亚洲在线免费观看| 西西人体一区二区| 欧美伊人久久久久久久久影院| 欧美在线影院在线视频| 久久精品中文字幕一区二区三区| 久久精品中文字幕一区| 久久香蕉国产线看观看av| 久久精品人人爽| 美日韩精品视频| 欧美精品久久久久久| 欧美日韩人人澡狠狠躁视频| 国产精品久久久久久久午夜片| 国产麻豆午夜三级精品| 国产午夜精品久久| 在线电影欧美日韩一区二区私密| 亚洲国产欧美不卡在线观看| 99精品热视频只有精品10| 亚洲一区美女视频在线观看免费| 先锋影音一区二区三区| 亚洲高清成人| 亚洲深夜福利网站| 欧美亚洲在线观看| 免费观看不卡av| 欧美日韩一区二区在线观看视频| 国产精品拍天天在线| 韩国自拍一区| 日韩亚洲欧美在线观看| 午夜激情一区| 亚洲精品免费一区二区三区| 亚洲午夜精品国产| 久久精品99久久香蕉国产色戒| 免费在线亚洲欧美| 欧美日韩一区二区三区免费| 国产欧美日本一区二区三区| 亚洲国产成人久久| 亚洲一级在线| 亚洲日本在线视频观看| 亚洲一区区二区| 噜噜噜91成人网| 国产精品久久久久aaaa樱花| 国产一区二区三区久久| 亚洲免费观看在线观看| 午夜免费久久久久| 99视频在线精品国自产拍免费观看 | 亚洲一级黄色| 91久久久久久国产精品| 午夜精品亚洲一区二区三区嫩草| 久久综合99re88久久爱| 欧美性色综合| 亚洲国产另类久久久精品极度| 亚洲欧美日韩国产中文| 亚洲精品久久久久中文字幕欢迎你| 午夜综合激情| 欧美日韩国产综合网| 黄色成人免费网站| 亚洲一区图片| 99精品视频免费观看视频| 久久午夜精品| 国产精品入口福利| 亚洲三级电影在线观看| 亚洲国产高清自拍| 久久福利影视| 欧美日韩午夜剧场| 在线观看亚洲专区| 午夜亚洲福利| 亚洲一区在线观看免费观看电影高清 | 国产精品久久久久久久久搜平片| 亚洲成人影音| 欧美一级电影久久| 亚洲特级片在线| 欧美福利影院| 狠狠色丁香久久综合频道| 亚洲一区免费看| 亚洲一区二区日本| 欧美激情国产日韩| 永久久久久久| 久久精品国产综合精品| 欧美亚洲一区二区三区| 欧美日韩亚洲一区二区三区在线| 亚洲国产另类久久精品| 亚洲电影免费观看高清完整版在线| 欧美一区免费| 国产精品欧美经典| 在线视频一区观看| 一区二区三区日韩在线观看| 欧美国产激情| 亚洲国产aⅴ天堂久久| 亚洲电影欧美电影有声小说| 久久精品综合网| 国产一区二区成人| 欧美亚洲一级| 久久精品中文| 国产综合在线视频| 久久精品国产成人| 久久五月天婷婷| 在线观看国产欧美| 亚洲福利在线观看| 蜜桃av一区二区在线观看| 精品1区2区3区4区| 亚洲国产精品va在线观看黑人| 久久久综合网| 激情欧美一区二区三区| 久久精品九九| 欧美sm重口味系列视频在线观看| 亚洲丰满在线| 亚洲乱码精品一二三四区日韩在线 | 欧美精品18+| 亚洲日本黄色| 在线视频精品| 国产精品hd| 亚洲免费在线| 欧美中文字幕视频在线观看| 国产色爱av资源综合区| 欧美在线视频二区| 久久亚洲综合色| 亚洲第一二三四五区| 日韩视频一区二区三区在线播放免费观看 | 日韩视频在线免费| 亚洲天堂网在线观看| 国产精品久久9| 亚洲自拍三区| 久久亚洲欧洲| 亚洲精品黄色| 亚洲欧美一级二级三级| 国产欧美日韩中文字幕在线| 久久国产手机看片| 欧美交受高潮1| 亚洲午夜性刺激影院| 欧美一区三区二区在线观看| 黄色精品免费| 一区二区三区久久久| 国产精品中文字幕欧美| 久久成人人人人精品欧| 欧美激情一区二区三区在线| 夜夜嗨av一区二区三区网页| 新67194成人永久网站| 国产在线高清精品| 日韩视频在线你懂得| 国产精品激情电影| 久久精品一区二区三区不卡牛牛 | 欧美日韩一区在线观看视频| 亚洲伊人久久综合| 麻豆freexxxx性91精品| 日韩视频免费看| 久久成人免费日本黄色| 亚洲国产人成综合网站| 亚洲欧洲av一区二区| 国内伊人久久久久久网站视频 | 国产一二精品视频| 日韩视频免费看| 国产片一区二区| 亚洲欧洲精品一区二区三区不卡| 欧美午夜精品久久久久久浪潮| 欧美一区精品| 欧美日韩岛国| 欧美一区二区三区四区在线| 欧美精品电影| 香蕉成人啪国产精品视频综合网| 欧美高潮视频| 小黄鸭视频精品导航| 欧美精品一区二区三区在线播放| 亚洲午夜女主播在线直播| 欧美成人高清视频| 亚洲免费在线视频| 欧美国产一区在线| 香港久久久电影| 欧美日韩一区二区高清| 亚洲福利国产| 国产精品一区三区| 一区二区成人精品| 韩日在线一区| 性欧美video另类hd性玩具| 亚洲国产精品热久久| 久久久精彩视频| 亚洲午夜精品久久久久久app| 欧美国产国产综合| 亚洲二区在线| 国产真实乱偷精品视频免| 亚洲欧洲av一区二区| 日韩午夜电影av|