基于FPGA的嵌入式音頻處理系統(tǒng)設(shè)計(jì)
在SPB 基礎(chǔ)上搭建訪問NB 3000 開發(fā)板的音頻接口,并對(duì)音頻流數(shù)據(jù)進(jìn)行處理的軟件平臺(tái)文件(SwPlat-form),如圖3所示.
本文引用地址:http://cafeforensic.com/article/246209.htm?
?
NB 3000開發(fā)板上的音頻編解碼器為CS4270,因此圖3 中選擇CS4270 Audio Codec Driver模塊,不需要再自行編寫音頻編解碼器的驅(qū)動(dòng)代碼.設(shè)計(jì)采用SPI作為配置和控制,I2S用來傳輸數(shù)字音頻數(shù)據(jù)流.因此軟件平臺(tái)文件的底層設(shè)計(jì)選擇了I2S Master Controller和SPI Master Controller 模塊.中間層設(shè)計(jì)選擇了I2SDriver.SPI Driver和CS4270 Audio Codec模塊.軟件平臺(tái)文件使硬件外圍設(shè)備的訪問變得容易,底層模塊為特定的外圍設(shè)備提供了配置數(shù)據(jù)和驅(qū)動(dòng)代碼.設(shè)計(jì)軟件平臺(tái)文件時(shí),選擇什么樣的模塊,取決于設(shè)計(jì)中需要訪問哪些外圍設(shè)備.
2.3 嵌入式代碼設(shè)計(jì)
FPGA嵌入式系統(tǒng)設(shè)計(jì)中,嵌入式工程是“嵌在”微處理器中的.嵌入式代碼就是在軟件平臺(tái)構(gòu)建器上搭建的軟件平臺(tái)的基礎(chǔ)上完成的軟件編程.嵌入式工程中的軟件代碼,主要完成音頻數(shù)據(jù)流的獲取.音頻數(shù)據(jù)流的處理和將處理好的音頻數(shù)據(jù)流送到NB 3000開發(fā)板的喇叭上.主要程序代碼如下:
?
?
?
?
3 設(shè)計(jì)總結(jié)
將嵌入式設(shè)計(jì)文件下載到智能開發(fā)平臺(tái)NanoBoard 3000上的FPGA 器件后,利用音頻線將電腦或者音箱的音頻源送到NanoBoard 3000的音頻輸入接口,就能從喇叭上聽到處理后的音頻效果.設(shè)計(jì)過程表明,AD的軟件平臺(tái)構(gòu)建器(SPB)為FPGA嵌入式設(shè)計(jì)訪問硬件電路相關(guān)外圍設(shè)備提供了底層軟件驅(qū)動(dòng)提供了便利.通過搭建軟件平臺(tái),調(diào)用IP模塊,避開了對(duì)于底層硬件的驅(qū)動(dòng)程序的編寫,只要掌握高級(jí)C語言就可以方便地對(duì)外圍設(shè)備進(jìn)行編程,簡化了嵌入式代碼的編寫,縮短了FPGA嵌入式設(shè)計(jì)的開發(fā)時(shí)間。
評(píng)論