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

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于FPGA和DSP的音頻采集卡的實(shí)現(xiàn)

          基于FPGA和DSP的音頻采集卡的實(shí)現(xiàn)

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

          摘要:本文介紹了一種的多通道的設(shè)計(jì)和方案,該卡能夠工作在多種采樣率下并可以使用中不同的算法用于滿足不同場(chǎng)合,并通過(guò)PC104接口將處理后的數(shù)據(jù)上傳至主機(jī)。已應(yīng)用在船舶航行數(shù)據(jù)紀(jì)錄儀VDR中。
          關(guān)鍵詞:;;PC104;多采樣率;數(shù)據(jù)壓縮;航行數(shù)據(jù)記錄儀VDR

          0 引言

          一個(gè)多通道數(shù)字音頻系統(tǒng)必須考慮兩個(gè)問(wèn)題:采集到聲音的質(zhì)量問(wèn)題和最終數(shù)字化后的音頻存儲(chǔ)的問(wèn)題。由奈奎斯特定理知,如果要保證把采集到的音頻信號(hào)完全無(wú)失真的恢復(fù)出來(lái),采樣率就必須至少是需采集音頻信號(hào)頻寬的2倍。由于現(xiàn)在大多數(shù)音頻CODEC采用了Delta-Sigma Modulator,在保證采樣率合適的情況下,聲音質(zhì)量一般是可以滿足要求的。在船舶航行記錄儀中,音頻的頻寬是150hz-6000hz,因此我們可以采用16khz的采樣率和16位的量化位數(shù)。

          按照這樣的采樣率,單路的音頻碼率為256kbps,24小時(shí)音頻的數(shù)據(jù)量就高達(dá)2.76GB。為了減少最終存儲(chǔ)器的存儲(chǔ)空間,需要對(duì)原始的音頻數(shù)據(jù)進(jìn)行壓縮處理。一般來(lái)說(shuō)有損壓縮比無(wú)損壓縮的壓縮比要高的多,但是同時(shí)會(huì)造成音質(zhì)的下降。系統(tǒng)設(shè)計(jì)時(shí)應(yīng)該進(jìn)行適當(dāng)?shù)钠胶狻?/P>

          本文設(shè)計(jì)的和DSP的多通道音頻,采用Altera公司的Cyclone系列FPGA簡(jiǎn)化邏輯控制和提高硬件速度;采用TI公司的TMS320VC 5416音頻壓縮算法,在滿足了音頻性能指標(biāo)的同時(shí)減少了最終的音頻數(shù)據(jù)量,滿足了系統(tǒng)的設(shè)計(jì)要求。

          1 系統(tǒng)硬件結(jié)構(gòu)

          1.1主要芯片選型

          (1) 音頻CODEC芯片PCM3008

          在音頻CODEC芯片的選型上采用了Texas Instruments公司的PCM3008。這款音頻CODEC芯片采用了16bit的△-∑ADC和DAC。其中立體聲ADC具有單端電壓輸入,內(nèi)置抗混疊濾波器。優(yōu)異的性能還表現(xiàn)在其ADC的總諧波失真加噪聲低至-84dB,信噪比高達(dá)88dB,動(dòng)態(tài)范圍至88dB,其內(nèi)置的1/64 Decimation數(shù)字濾波器使得信號(hào)在通帶內(nèi)波動(dòng)僅有0.05dB,阻帶衰減可至-65dB。低壓工作,低功耗。其采樣率為8khz-48khz可選。數(shù)據(jù)傳輸為同步串口方式,操作方便。

          (2)FPGA芯片EP1C6Q240

          FPGA采用Altera公司的Cyclone系列的 EP1C6Q240各器件的接口控制。Cyclone系列的FPGA是Altera公司針對(duì)低成本高性能的應(yīng)用而推出的,具有很高的性價(jià)比。EP1C6Q240的最大可用IO數(shù)量185;片內(nèi)92Kbit的RAM可以配為單雙口RAM,ROM,F(xiàn)IFO等各式存儲(chǔ)模塊;兩個(gè)高精度鎖相環(huán),方便地為片內(nèi)的各個(gè)模塊提供所需時(shí)鐘;5980個(gè)LE(邏輯單元),為接口電路的實(shí)現(xiàn)提供豐富的邏輯資源。Altera公司的QuartusⅡ集成開(kāi)發(fā)環(huán)境簡(jiǎn)便易用,內(nèi)含大量IP核,其內(nèi)嵌的Signal TapⅡ邏輯分析儀更是為用戶的調(diào)試提供了很大方便。

          (3)DSP芯片TMS320VC5416

          DSP芯片采用TI公司的TMS320VC5416。TMS320VC5416是TI公司5000系列中高性能低功耗的定點(diǎn)DSP,它建立在C54x DSP核基礎(chǔ)上。TMS320VC5416是一款16位定點(diǎn)高性能數(shù)字信號(hào)處理器, 其主要特性有: 速率最高達(dá)160MIPS; 3 條16位數(shù)據(jù)存儲(chǔ)器總線和1條程序存儲(chǔ)器總線; 1 個(gè)40位桶形移位器和2 個(gè)40位累加器; 1 個(gè)1717乘法器和1 個(gè)40位專用加法器; 最大8M 16位的擴(kuò)展尋址空間, 內(nèi)置128 k 16位的RAM 和16 k 16位的ROM; 3 個(gè)多通道緩沖串口(McBSP);其豐富的外設(shè)和強(qiáng)大的運(yùn)算能力,使得TMS320VC5416可以進(jìn)行實(shí)時(shí)的多路音頻處理。在壓縮的實(shí)現(xiàn)上,使用通用DSP芯片TMS320VC5416與使用專用的硬件壓縮芯片相比,不僅可以節(jié)約成本,還可以方便地實(shí)現(xiàn)系統(tǒng)的升級(jí)和靈活的配置。

          圖1

          1.2 系統(tǒng)設(shè)計(jì)思路

          硬件結(jié)構(gòu)設(shè)計(jì)如圖1所示。多路音頻信號(hào)首先通過(guò)調(diào)理部分,進(jìn)入音頻CODEC PCM3008,通過(guò)BCK,LRCK,DOUT三根信號(hào)線將音頻數(shù)據(jù)送入DSP的 RAM內(nèi),DSP會(huì)按照一定的順序?qū)⒁粠纛l數(shù)據(jù)整理好放在一個(gè)數(shù)據(jù)緩存里,并對(duì)其中的每路音頻數(shù)據(jù)依次調(diào)用音頻壓縮算法,在下一幀音頻數(shù)據(jù)到達(dá)該緩存區(qū)前將數(shù)據(jù)通過(guò)FPGA中的SRAM控制器發(fā)送到SRAM中,并告知PC104主機(jī)采集過(guò)程完畢。PC104主機(jī)通過(guò)FPGA內(nèi)的PC104接口模塊,將緩存SRAM中的數(shù)據(jù)讀取出來(lái)。

          2 FPGA的功能模塊設(shè)計(jì)

          FPGA的設(shè)計(jì)采用模塊化的設(shè)計(jì)思想。主要模塊按功能劃分如圖2所示。SRAM控制器采用了乒乓機(jī)制,一片處于讀數(shù)據(jù)的狀態(tài),另一片處于寫(xiě)數(shù)據(jù)的狀態(tài),每15秒鐘在PC104主機(jī)的控制下切換一次。這種操作方式時(shí)序設(shè)計(jì)簡(jiǎn)潔可靠,易于做到音頻數(shù)據(jù)連續(xù)操作。收到PC104主機(jī)發(fā)出的切換命令后,待兩片SRAM都處于空閑的時(shí)候,完成兩片SRAM的讀寫(xiě)切換。切換的同時(shí),SRAM的讀寫(xiě)的地址都會(huì)復(fù)位,而且會(huì)保存剛才15秒內(nèi)的數(shù)據(jù)量信息,保證每個(gè)15秒讀和寫(xiě)都是從零地址開(kāi)始的,同時(shí)也方便讀取數(shù)據(jù)。切換成功后,給出數(shù)據(jù)就緒的信號(hào),指示主機(jī)可以讀取數(shù)據(jù)。PC104接口模塊負(fù)責(zé)采集卡與上位機(jī)的通訊和數(shù)據(jù)傳輸。

          完成兩片SRAM的讀寫(xiě)切換。切換的同時(shí),SRAM的讀寫(xiě)的地址都會(huì)復(fù)位,而且會(huì)保存剛才15內(nèi)的數(shù)據(jù)量信息,保證每個(gè)15秒讀和寫(xiě)都是從零地址開(kāi)始的,同時(shí)也方便讀取數(shù)據(jù)。切換成功后,給出數(shù)據(jù)就緒的信號(hào),指示主機(jī)可以讀取數(shù)據(jù)。PC104接口模塊負(fù)責(zé)采集卡與上位機(jī)的通訊和數(shù)據(jù)傳輸。

          圖2

          3 DSP硬件和軟件設(shè)計(jì)

          3.1 DSP的硬件設(shè)計(jì)

          DSP采用McBSP與音頻CODEC通信,系統(tǒng)框圖(雙路音頻接收框圖)如圖3所示,McBSP依靠三個(gè)信號(hào)實(shí)現(xiàn)接收數(shù)據(jù):數(shù)據(jù)線DR、幀同步線FSR和移位時(shí)鐘線CLKR。DR引腳完成從音頻CODEC中接收音頻數(shù)據(jù),由CLKR、FSR實(shí)現(xiàn)時(shí)鐘和幀同步的控制。接收數(shù)據(jù)時(shí),來(lái)自DR引腳的數(shù)據(jù)在FSR和CLKR作用下,從數(shù)據(jù)寄存器DRR中讀出數(shù)據(jù)。CLKR、FSR既可以由內(nèi)部采樣率發(fā)生器產(chǎn)生,也可以由外部設(shè)備驅(qū)動(dòng)。該音頻系統(tǒng)中,CLKR、FSR信號(hào)均來(lái)自于FPGA。

          為了減輕CPU負(fù)擔(dān),音頻數(shù)據(jù)的傳遞采用了DMA機(jī)制。 TMS320VC5416有6個(gè)可獨(dú)立編程的DMA通道,每個(gè)DMA通道受各自的5個(gè)16位寄存器控制:源地址寄存器DMSRC、目的地址寄存器DMDST、單元計(jì)數(shù)寄存器DMCTR、同步事件和幀計(jì)數(shù)寄存器DMSFC、發(fā)送模式控制寄存器DMMCR。

          通過(guò)設(shè)置DMA1通道與McBSP1通道結(jié)合來(lái)讀取PCM3008轉(zhuǎn)換完的數(shù)據(jù)為例:選擇McBSP1通道的接收寄存器DRR11(41h)為DMA傳送數(shù)據(jù)的首地址,并選擇源地址工作在訪問(wèn)后不調(diào)整方式,選擇DMA通道同步事件McBSP1接收事件為DMA同步事件,來(lái)實(shí)現(xiàn)DMA和McBSP的結(jié)合。PCM3008轉(zhuǎn)換完的數(shù)據(jù)按McBSP1的設(shè)置被送到TMS320VC5416內(nèi)部接收寄存器DRR11中,再由DMA將DRR11中的數(shù)讀到指定數(shù)據(jù)存儲(chǔ)區(qū)來(lái)完成數(shù)據(jù)采集。DMA在傳送外部來(lái)的數(shù)據(jù)時(shí)不會(huì)影響CPU的正常運(yùn)行,當(dāng)DMA采集完一組規(guī)定個(gè)數(shù)的數(shù)據(jù)后產(chǎn)生一個(gè)DMA中斷事件中斷CPU,來(lái)通知CPU對(duì)其進(jìn)行相應(yīng)的處理,此時(shí)DMA可以按照設(shè)定繼續(xù)采集下一組數(shù)據(jù),實(shí)現(xiàn)了數(shù)據(jù)采集與CPU處理的并行操作。

          圖3

          3.2 軟件設(shè)計(jì)流程

          程序流程如圖4所示,系統(tǒng)上電后首先初始化CPU,McBSP,DMA寄存器,然后打開(kāi)中斷,當(dāng)所有DMA的傳輸完成后,給出一個(gè)狀態(tài)標(biāo)志,通知CPU音頻數(shù)據(jù)準(zhǔn)備好,CPU將原始的音頻數(shù)據(jù)集中在一個(gè)緩存中并開(kāi)始調(diào)用音頻處理算法依次處理每路音頻數(shù)據(jù),并將處理后的音頻數(shù)據(jù)通過(guò)總線發(fā)送出去。然后繼續(xù)等待處理下一幀音頻數(shù)據(jù),周而復(fù)始。

          圖4

          3.3 音頻壓縮算法

          由于該系統(tǒng)音頻所要求的信號(hào)頻率的范圍是150hz-6000hz,因此必須采用一種寬頻音頻算法,我們?cè)O(shè)計(jì)了一種寬帶語(yǔ)音編碼。碼率24kbps~64Kbps可變。其主要參數(shù)如表1:表1 音頻編碼的主要參數(shù)

          參數(shù)

          數(shù)值

          音頻采樣率

          16Khz

          比特率

          24Kbps~64Kbps

          音頻帶寬

          50Hz-7Khz

          音頻幀長(zhǎng)

          20ms

          算法延遲

          40ms

          RAM(定點(diǎn))

          <7.5KB

          ROM

          ~20KB

          MI/s

          ~15

          5 結(jié)論

          本文設(shè)計(jì)的多通道音頻采集卡可以實(shí)現(xiàn)8路麥克風(fēng)信號(hào),2路VHF(甚高頻)信號(hào)的采集與處理。24小時(shí)生成的數(shù)據(jù)量不足1.6GB,并且聲音質(zhì)量滿足IEC 61996-2中關(guān)于音頻要求的指標(biāo),該多通道音頻采集卡已經(jīng)成功地應(yīng)用到船載航行數(shù)據(jù)記錄儀中,并且通過(guò)了中國(guó)船級(jí)社(CCS)的檢驗(yàn),裝配該多通道音頻采集卡的VDR系統(tǒng)已經(jīng)投入實(shí)用。

          本文作者創(chuàng)新點(diǎn):采用了自主的音頻編碼算法設(shè)計(jì),并用DSP芯片實(shí)現(xiàn),在數(shù)據(jù)存儲(chǔ)和讀取上采用了巧妙的乒乓設(shè)計(jì)。

          參考文獻(xiàn):

          [1]邱效祝, 李志宏, 喻方平; 船舶航行記錄儀試驗(yàn)測(cè)試系統(tǒng)設(shè)計(jì),船海工程 , 2006,05。

          [2] 安穎,劉麗娜;DSP的高速信號(hào)采集與處理系統(tǒng)的設(shè)計(jì),微計(jì)算機(jī)信息,2005,01。

          [3] 喻方平; 船載航行數(shù)據(jù)記錄儀(VDR)研究設(shè)計(jì),中國(guó)航海,2002,02。

          [4] 常勇,丘效祝;船載航行數(shù)據(jù)記錄儀系統(tǒng)串行總線接口設(shè)計(jì),中國(guó)水運(yùn),2004.4。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();