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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SPB的嵌入式音頻處理系統(tǒng)設(shè)計(jì)

          基于SPB的嵌入式音頻處理系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2016-10-10 來源:網(wǎng)絡(luò) 收藏

          2
          2.1 OoenBus
          設(shè)計(jì)時(shí),在處理外圍設(shè)備與處理器的連接關(guān)系時(shí),可以采用AD軟件中的開放總線(OpenBus系統(tǒng))來完成,這樣連接過程將被大大簡化。“OpenBus系統(tǒng)”是一個(gè)描述一種使用普通總線實(shí)現(xiàn)整個(gè)系統(tǒng)內(nèi)邏輯功能性“模塊”連接的術(shù)語。在OpenBus系統(tǒng)文檔中,打開OpenBus Palette面板,選擇并放置組成系統(tǒng)所需的器件。OpenBus Palette面板中用于FPGA設(shè)計(jì)的器件,按照功能分類有Connectors(連接器)、Proce ssors(處理器)、Memories(存儲(chǔ)器)、Peripherals(外圍設(shè)備)等。每個(gè)OpenBus器件必須正確配置后才能使用。這種Open Bus系統(tǒng)的設(shè)計(jì)方法與傳統(tǒng)的將處理器和外圍電路作為元件放置在電路板上不同,它移除了所有低級別的走線和互連細(xì)節(jié),能夠快速地構(gòu)建系統(tǒng)。
          在本文的系統(tǒng)中,通過訪問NB3000開發(fā)板上的高保真音頻接口獲取音頻流信號。在設(shè)計(jì)OpenBus主處理器系統(tǒng)中,分別選擇并放置微處理器(32-bit RISC Processor TSK3000A)、連接件(Interconnect)、I2S音頻流控制器(Audio Streaming Controller)、SPI控制器(SPI Controller)和SRAM控制器(SRAM Controller)等OpenBus器件,并連線如圖1所示。同時(shí),對OpenBus器件進(jìn)行參數(shù)配置。將SPI控制器的數(shù)據(jù)發(fā)送大小(Data Transfer Size)參數(shù)配置為32。將I2S音頻流控制器的數(shù)據(jù)緩存(I2S Hardware Buffer)參數(shù)配置為4k samples,將I2S設(shè)置為中斷號INT_I1。
          通常情況下,任何使用OpenBus系統(tǒng)的FPGA設(shè)計(jì)都要設(shè)計(jì)放置接口電路的頂層原理圖。圖1的Open Bus系統(tǒng)文件為32位處理器TSK3000A和I/O接口邏輯獲得了音頻流數(shù)據(jù),包含了FPGA設(shè)計(jì)中的主處理器系統(tǒng)。約束文件將原理圖頂層的端口連接到目標(biāo)FPGA器件的實(shí)際物理管腳。約束文件中不但包含端口到管腳的映射,還包含如時(shí)鐘分配、目標(biāo)器件等其他相關(guān)的設(shè)計(jì)規(guī)范。

          b.JPG


          頂層原理圖通過約束文件,將下載到FPGA中的嵌入式與FPGA器件的物理管腳連接起來。頂層原理圖設(shè)計(jì)中,音頻流控制器I2S與音頻編解碼器(AUDIO_CODEC)相連,SPI控制器與音頻編解碼器控制器CS4270(AUDIO_CODEC_CTRL)相連,如圖2所示。

          c.JPG

          2.2 軟件平臺文件設(shè)計(jì)
          基礎(chǔ)上搭建訪問NB 3000開發(fā)板的音頻接口,并對音頻流數(shù)據(jù)進(jìn)行處理的軟件平臺文件(SwPlatform),如圖3所示。

          d.JPG


          NB 3000開發(fā)板上的音頻編解碼器為CS4270,因此圖3中選擇CS4270 Audio Codec Driver模塊,不需要再自行編寫音頻編解碼器的驅(qū)動(dòng)代碼。設(shè)計(jì)采用SPI作為配置和控制,I2S用來傳輸數(shù)字音頻數(shù)據(jù)流。因此軟件平臺文件的底層設(shè)計(jì)選擇了I2S Master Controller和SPI Master Controller模塊。中間層設(shè)計(jì)選擇了I2SDriver、SPI Driver和CS4270 Audio Codec模塊。軟件平臺文件使硬件外圍設(shè)備的訪問變得容易,底層模塊為特定的外圍設(shè)備提供了配置數(shù)據(jù)和驅(qū)動(dòng)代碼。設(shè)計(jì)軟件平臺文件時(shí),選擇什么樣的模塊,取決于設(shè)計(jì)中需要訪問哪些外圍設(shè)備。
          2.3 嵌入式代碼設(shè)計(jì)
          FPGA嵌入式系統(tǒng)設(shè)計(jì)中,嵌入式工程是“嵌在”微處理器中的。嵌入式代碼就是在軟件平臺構(gòu)建器上搭建的軟件平臺的基礎(chǔ)上完成的軟件編程。嵌入式工程中的軟件代碼,主要完成音頻數(shù)據(jù)流的獲取、音頻數(shù)據(jù)流的處理和將處理好的音頻數(shù)據(jù)流送到NB 3000開發(fā)板的喇叭上。主要程序代碼如下:
          e.JPG



          評論


          相關(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); })();