基于OMAP5912的語音采集系統(tǒng)的設(shè)計與實現(xiàn)
因為OMAP5912為雙核結(jié)構(gòu),且ARM9為主控制器,所以首先必須在ARM9側(cè)進(jìn)行OMAP5912的初始化,讓DSP退出復(fù)位狀態(tài),這里僅需調(diào)用TI提供的OSK5912 Board Support Library中的OSK5912_init()函數(shù)即可。然后在DSP側(cè)進(jìn)行CPU、I2C總線、McBSPl、DMA的初始化,以及AIC23芯片的配置,如圖3所示。本文引用地址:http://www.ex-cimer.com/article/152535.htm
限于篇幅,在此僅說明通過I2C總線配置AIC23的過程。AIC23芯片是一個可編程的芯片,內(nèi)部有11個16位寄存器決定芯片的工作狀態(tài)。圖2中的MODE引腳決定控制接口的工作模式:MODE=O為I2C模式,MODE=1為SPI模式。系統(tǒng)采用的是I2C模式,即由DSP通過I2C總線完成對AIC23的初始化。I2C總線作為ARM9和DSP的共享設(shè)備,其使用權(quán)由圖1中的寄存器I2C SSW MPU CONF和DSPI2C SSW CONF決定,在默認(rèn)的情況下由ARM9使用。為了讓DSP能使用I2C總線,需對上述兩個寄存器做如下修改:MCBSP SSW MPU CONF=Ox00000000,DSP_I2C_SSW_CONF=0x0002。每個連接到I2C總線上的設(shè)備,都有1個惟一的地址,AIC23的地址由圖2中的CS#引腳決定,即CS=0地址為0011010;CS=1地址為0011011。I2C總線首先發(fā)送AIC23的地址,然后再把相應(yīng)的AIC23內(nèi)部映射寄存器的地址和配置參數(shù)合并為16位的控制字發(fā)送給AIC23。
3.2 中斷服務(wù)程序
在DSP的RAM空間中定義一個接收緩存數(shù)組Rxbuffer[]和發(fā)送緩存數(shù)組Txbuffer[],一個接收標(biāo)志RxFlag和一個發(fā)送標(biāo)志TxFlag。為了防止出現(xiàn)在執(zhí)行中斷服務(wù)程序的時候,接收的新數(shù)據(jù)將緩存區(qū)未取走的數(shù)據(jù)覆蓋,將緩存數(shù)組分為上下兩部分,CPU在處理其中一個部分的時候,DMA自動操作另一部分,如圖4(a)所示。
該語音采集系統(tǒng)以中斷的方式工作,在工作的過程中,會產(chǎn)生兩個中斷:DMA接收中斷;DMA發(fā)送中斷。以DMA接收中斷為例來說明中斷服務(wù)程序。
當(dāng)產(chǎn)生DMA接收中斷時,首先判斷RxFlag的值,若為O,則取接收數(shù)組Rxbuffer下半部分的數(shù)據(jù)作進(jìn)一步的處理,同時置RxFlag為1;若為1,則取接收數(shù)組Rxbuffer上半部分的數(shù)據(jù)作進(jìn)一步的處理,同時置RxFlag為O,然后退出中斷服務(wù)程序,進(jìn)入主程序,等待中斷的再次產(chǎn)生,如圖4(b)所示。
4 仿真驗證
為了驗證設(shè)計的可行性,對該系統(tǒng)進(jìn)行了仿真測試。仿真軟件為CCS(Code Composer Studio)2.21。系統(tǒng)由硬件仿真器TDS560USB通過JTAG仿真接口與計算機(jī)相連,用戶可以通過該接口向OMAP5912芯片加載程序并觀察芯片內(nèi)部存儲器的數(shù)據(jù),完成系統(tǒng)仿真及程序調(diào)試的任務(wù)。
在ARM和DSP側(cè)分別加載程序編譯后生成的.out文件,然后運(yùn)行。經(jīng)配置后的AIC23從MIC IN輸入語音信號,并對其進(jìn)行8 kHz,16 b的采樣。不考慮圖4(a)中的信號處理過程,將采集到的語音直接送回AIC23芯片,經(jīng)D/A后,由HEADPHONE輸出,此時,聽到的正是輸入的語音信號。由此說明:該設(shè)計是確實可行的。
5 結(jié) 語
根據(jù)TI公司的OMAP5912和CODEC芯片TLV320AIC23的特性,根據(jù)TI公司的設(shè)計并實現(xiàn)了一種基于OMAP5912的語音采集系統(tǒng)。在該系統(tǒng)中,DMA通道結(jié)合McBSP的使用,可以大大減少CPU的工作量,簡化軟件設(shè)計,有效地利用DSP的硬件資源,提高系統(tǒng)的執(zhí)行效率。實踐證明,該系統(tǒng)能夠滿足實時信號處理的要求,可以作為語音信號處理的算法研究和實時實現(xiàn)的一種通用平臺,也可以作為便攜式設(shè)備或手持終端的一部分進(jìn)一步加以開發(fā)和應(yīng)用。
評論