<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于ARM+DSP的音頻處理系統(tǒng)設(shè)計(jì)方案

          一種基于ARM+DSP的音頻處理系統(tǒng)設(shè)計(jì)方案

          作者: 時(shí)間:2014-05-13 來(lái)源:網(wǎng)絡(luò) 收藏

          1引言

          本文引用地址:http://www.ex-cimer.com/article/246775.htm

          隨著計(jì)算機(jī)技術(shù)、電子技術(shù)和通信技術(shù)的迅猛發(fā)展,音頻處理技術(shù)也在眾多領(lǐng)域得到廣泛應(yīng)用。如通信領(lǐng)域中的手機(jī)、IP電話(huà),消費(fèi)類(lèi)電子產(chǎn)品中的MP3和CD播放器以及控制領(lǐng)域中的語(yǔ)音識(shí)別、聲控系統(tǒng)等[1].針對(duì)強(qiáng)大的數(shù)字信號(hào)處理能力和處理器良好的實(shí)時(shí)性能,結(jié)合音頻編解碼芯片TLV320AIC23的接口特點(diǎn),本文闡述了由三者組成的音頻處理系統(tǒng)的硬件接口設(shè)計(jì)和軟件編程,提供了有效和實(shí)用的音頻處理系統(tǒng)方案。

          TLV320AIC23(簡(jiǎn)稱(chēng)AIC23)是TI公司的一款高性能立體聲音頻編解碼器Codec芯片。其內(nèi)部集成的模數(shù)轉(zhuǎn)換器(ADCs)和數(shù)模轉(zhuǎn)換器(DACs)采用了帶有過(guò)采樣數(shù)字插補(bǔ)濾波的多位Sigma-Delta技術(shù)。數(shù)據(jù)傳輸字長(zhǎng)為16、20、24、32位,支持采樣頻率范圍8kHz至96kHz.ADC和DAC的信噪比分別達(dá)到90dB和100dB.內(nèi)置耳機(jī)輸出放大器,支持MIC和LINE IN兩種輸入方式,且對(duì)輸入和輸出都具有可編程增益調(diào)節(jié)。另外,AIC23功耗低,回放模式下功率僅為23mW,省電模式下更是小于15uW.因此,AIC23成為數(shù)字音頻應(yīng)用

          領(lǐng)域中的理想選擇[2],在多種數(shù)碼產(chǎn)品中發(fā)揮著重要作用,比較典型的應(yīng)用如手機(jī)、MP3、DV攝像機(jī)中的音頻編解碼。

          TMS320VC5402(簡(jiǎn)稱(chēng)VC5402)是TI公司的一款優(yōu)秀16位定點(diǎn),運(yùn)算速度快,指令執(zhí)行速度達(dá)到100MIPS.自帶片內(nèi)存儲(chǔ)器和多種片上外設(shè),廣泛應(yīng)用于語(yǔ)音編解碼和通信領(lǐng)域[3].

          S3C4510B(簡(jiǎn)稱(chēng)4510B)是Samsung公司的一款低成本、高性能的16/32位精簡(jiǎn)指令集微控制器,其出色的7TDMI內(nèi)核以及通用微處理器宏單元使其成為用戶(hù)定制應(yīng)用開(kāi)發(fā)的理想選擇[4].

          2系統(tǒng)硬件設(shè)計(jì)

          本音頻處理系統(tǒng)主要由前述三個(gè)處理芯片組成:控制單元,信號(hào)處理單元以及AIC23音頻采集單元。系統(tǒng)原理框圖如圖1.


          圖1基于DSP和ARM的音頻處理系統(tǒng)原理框圖

          AIC23是可編程芯片,內(nèi)部有11個(gè)16位寄存器,編程設(shè)置這些寄存器可得到所需的采樣頻率、輸入輸出增益和傳輸數(shù)據(jù)格式等。該控制接口有SPI和I2C兩種工作模式,由芯片上的MODE引腳進(jìn)行選擇:MODE=0為I2C模式,MODE=1為SPI模式。因ARM 4510B上也有I2C接口,故選用I2C模式。AIC23的I2C接口地址由引腳的狀態(tài)決定,=0時(shí)地址為0011010,=1時(shí)地址為0011011.其中SDIN與SDA為數(shù)據(jù)線,SCLK與SCL為串行時(shí)鐘線。VC5402有兩個(gè)多通道緩沖串口,選用其中的McBSP0與AIC23進(jìn)行通信,信號(hào)連接如圖1所示。圖中AIC23工作在主模式,時(shí)鐘信號(hào)、DAC和ADC的幀同步信號(hào)BFSX0和BFSR0都由AIC23提供。而DSP VC5402與ARM 4510B的通訊是通過(guò)DSP上的HPI接口實(shí)現(xiàn)的。

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

          系統(tǒng)由ARM系統(tǒng)和DSP系統(tǒng)兩大部分組成,ARM作為主控制器管理整個(gè)系統(tǒng)的工作進(jìn)程,運(yùn)行相關(guān)的應(yīng)用程序,可對(duì)多個(gè)任務(wù)進(jìn)行調(diào)度,完成與外部DSP系統(tǒng)或其他外設(shè)的通信。DSP則主要完成音頻數(shù)據(jù)的采集和信號(hào)處理,并將處理后的數(shù)據(jù)發(fā)送給ARM供應(yīng)用程序調(diào)用。這樣的設(shè)計(jì)可以大大提高系統(tǒng)的工作效率,這也是當(dāng)前嵌入式系統(tǒng),各移動(dòng)手持設(shè)備如PDA、手機(jī)等的典型設(shè)計(jì)方案。

          這里具體要做的是對(duì)AIC23的控制接口編程,使其工作在所需的模式下。然后初始化DSP的McBSP,進(jìn)行AD、DA轉(zhuǎn)換和數(shù)據(jù)處理。

          3.1 ARM編程部分

          系統(tǒng)中對(duì)ARM的編程主要涉及對(duì)AIC23的初始化,使其進(jìn)入正常工作狀態(tài),對(duì)音頻數(shù)據(jù)進(jìn)行采集和處理。這需要設(shè)置4510B的I2C總線特殊功能寄存器:控制狀態(tài)寄存器IICCON、預(yù)分頻寄存器IICPS和移位緩沖寄存器IICBUF,寄存器相關(guān)說(shuō)明見(jiàn)表1[5].

          表1 4510B I2C總線特殊功能寄存器

          0426095615522.jpg" target="_blank" style="color: rgb(8, 90, 153); font-family: Arial, tahoma, Verdana; font-size: 14px; line-height: 24px; ">


          AIC23的11個(gè)控制寄存器相關(guān)設(shè)置的詳細(xì)描述參見(jiàn)文獻(xiàn)2.這里的設(shè)置為:左右聲道線路輸入靜音;耳機(jī)左右聲道音量為6dB;使能DAC,麥克風(fēng)音量為20dB作為ADC輸入;使能ADC高通濾波;芯片各部分電路供電使能;芯片工作在主模式,采樣數(shù)據(jù)長(zhǎng)度16位,采用DSP數(shù)據(jù)格式(同步幀后跟隨兩個(gè)數(shù)據(jù)字);采樣率88.2KHz(外部晶振為11.2896MHz);使能數(shù)字接口。

          對(duì)AIC23編程時(shí)的I2C總線時(shí)序如圖2所示。設(shè)置好I2C的時(shí)鐘頻率后,首先發(fā)送開(kāi)始條件(SCLK為高電平時(shí),SDI從高電平向低電平切換),然后發(fā)送AIC23的器件地址,器件地址發(fā)出后發(fā)送AIC23相應(yīng)寄存器的地址,再發(fā)送對(duì)該寄存器設(shè)置的數(shù)據(jù),最后發(fā)送停止條件(SCLK為高電平時(shí),SDI從低電平向高電平切換)。注意,這里的寄存器地址為7位,寄存器數(shù)據(jù)為9位,而I2C總線以字節(jié)為單位傳送數(shù)據(jù)。因此在對(duì)AIC23的寄存器編程時(shí),第一個(gè)字節(jié)包括了前7位的寄存器地址B15-B9以及設(shè)置數(shù)據(jù)的最高位B8,第二個(gè)字節(jié)為設(shè)置數(shù)據(jù)的后8位B7-B0.


          圖2 I2C時(shí)序

          3.2音頻數(shù)據(jù)采集與播放

          初始化AIC23后,再初始化DSP以及McBSP0,之后進(jìn)行音頻數(shù)據(jù)的采集與播放。通過(guò)麥克風(fēng)采集語(yǔ)音信號(hào),經(jīng)過(guò)數(shù)字濾波處理后由耳機(jī)輸出。使用McBSP0的接收中斷保存數(shù)據(jù),通過(guò)FIR數(shù)字濾波子程序處理音頻數(shù)據(jù)。程序流程如圖3所示。


          圖3音頻數(shù)據(jù)處理程序流程圖

          初始化McBSP0使其與AIC23協(xié)調(diào)工作,這里要根據(jù)硬件設(shè)計(jì)和軟件要求來(lái)配置McBSP0的各個(gè)控制寄存器。本系統(tǒng)中串口的主要設(shè)置為:接收數(shù)據(jù)右對(duì)齊,帶符號(hào)擴(kuò)展;接收中斷使能;由片外提供發(fā)送、接收幀信號(hào)和發(fā)送、接收時(shí)鐘信號(hào);發(fā)送、接收幀同步信號(hào)低電平有效;在時(shí)鐘上升沿采樣發(fā)送、接收數(shù)

          據(jù);每幀發(fā)送、接收兩個(gè)16位字?jǐn)?shù)據(jù)[6].

          數(shù)據(jù)接收部分可在DSP中斷程序中用如下語(yǔ)句實(shí)現(xiàn):

          mvkd drr10,*ar5 ;保存數(shù)據(jù)

          pshd *ar5+% ;數(shù)據(jù)壓入堆棧

          popd new_ad ;從堆棧彈出數(shù)據(jù)到自定義的寄存器

          FIR濾波的相關(guān)程序如下:

          ld new_ad,a ;新數(shù)據(jù)加載至累加器

          stm #1,ar0 ;雙操作數(shù)增量

          stm #N,bk ;設(shè)置循環(huán)緩沖區(qū)長(zhǎng)度,即FIR濾波級(jí)數(shù)(N為濾波級(jí)數(shù))

          stl a,*ar3+% ;新數(shù)據(jù)送至ar3指向的緩沖區(qū)

          模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理


          晶振相關(guān)文章:晶振原理
          聲控?zé)粝嚓P(guān)文章:聲控?zé)粼?/a>
          攝像頭相關(guān)文章:
          攝像頭原理


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: ARM DSP

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();