<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于OMAP5912的語(yǔ)音采集系統的設計與實(shí)現

基于OMAP5912的語(yǔ)音采集系統的設計與實(shí)現

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

因為為雙核結構,且ARM9為主控制器,所以首先必須在A(yíng)RM9側進(jìn)行的初始化,讓退出復位狀態(tài),這里僅需調用TI提供的OSK5912 Board Support Library中的OSK5912_init()函數即可。然后在側進(jìn)行CPU、I2C總線(xiàn)、McBSPl、DMA的初始化,以及AIC23芯片的配置,如圖3所示。

本文引用地址:http://dyxdggzs.com/article/152535.htm

限于篇幅,在此僅說(shuō)明通過(guò)I2C總線(xiàn)配置AIC23的過(guò)程。AIC23芯片是一個(gè)可編程的芯片,內部有11個(gè)16位寄存器決定芯片的工作狀態(tài)。圖2中的MODE引腳決定控制接口的工作模式:MODE=O為I2C模式,MODE=1為SPI模式。采用的是I2C模式,即由通過(guò)I2C總線(xiàn)完成對AIC23的初始化。I2C總線(xiàn)作為ARM9和DSP的共享設備,其使用權由圖1中的寄存器I2C SSW MPU CONF和DSPI2C SSW CONF決定,在默認的情況下由ARM9使用。為了讓DSP能使用I2C總線(xiàn),需對上述兩個(gè)寄存器做如下修改:MCBSP SSW MPU CONF=Ox00000000,DSP_I2C_SSW_CONF=0x0002。每個(gè)連接到I2C總線(xiàn)上的設備,都有1個(gè)惟一的地址,AIC23的地址由圖2中的CS#引腳決定,即CS=0地址為0011010;CS=1地址為0011011。I2C總線(xiàn)首先發(fā)送AIC23的地址,然后再把相應的AIC23內部映射寄存器的地址和配置參數合并為16位的控制字發(fā)送給AIC23。
3.2 中斷服務(wù)程序
在DSP的RAM空間中定義一個(gè)接收緩存數組Rxbuffer[]和發(fā)送緩存數組Txbuffer[],一個(gè)接收標志RxFlag和一個(gè)發(fā)送標志TxFlag。為了防止出現在執行中斷服務(wù)程序的時(shí)候,接收的新數據將緩存區未取走的數據覆蓋,將緩存數組分為上下兩部分,CPU在處理其中一個(gè)部分的時(shí)候,DMA自動(dòng)操作另一部分,如圖4(a)所示。

以中斷的方式工作,在工作的過(guò)程中,會(huì )產(chǎn)生兩個(gè)中斷:DMA接收中斷;DMA發(fā)送中斷。以DMA接收中斷為例來(lái)說(shuō)明中斷服務(wù)程序。
當產(chǎn)生DMA接收中斷時(shí),首先判斷RxFlag的值,若為O,則取接收數組Rxbuffer下半部分的數據作進(jìn)一步的處理,同時(shí)置RxFlag為1;若為1,則取接收數組Rxbuffer上半部分的數據作進(jìn)一步的處理,同時(shí)置RxFlag為O,然后退出中斷服務(wù)程序,進(jìn)入主程序,等待中斷的再次產(chǎn)生,如圖4(b)所示。


4 仿真驗證
為了驗證的可行性,對該進(jìn)行了仿真測試。仿真軟件為CCS(Code Composer Studio)2.21。系統由硬件仿真器TDS560USB通過(guò)JTAG仿真接口與計算機相連,用戶(hù)可以通過(guò)該接口向芯片加載程序并觀(guān)察芯片內部存儲器的數據,完成系統仿真及程序調試的任務(wù)。
在A(yíng)RM和DSP側分別加載程序編譯后生成的.out文件,然后運行。經(jīng)配置后的AIC23從MIC IN輸入信號,并對其進(jìn)行8 kHz,16 b的采樣。不考慮圖4(a)中的信號處理過(guò)程,將到的直接送回AIC23芯片,經(jīng)D/A后,由HEADPHONE輸出,此時(shí),聽(tīng)到的正是輸入的語(yǔ)音信號。由此說(shuō)明:該是確實(shí)可行的。


5 結 語(yǔ)
根據TI公司的OMAP5912和CODEC芯片的特性,根據TI公司的了一種OMAP5912的語(yǔ)音系統。在該系統中,DMA通道結合McBSP的使用,可以大大減少CPU的工作量,簡(jiǎn)化軟件設計,有效地利用DSP的硬件資源,提高系統的執行效率。實(shí)踐證明,該系統能夠滿(mǎn)足實(shí)時(shí)信號處理的要求,可以作為語(yǔ)音信號處理的算法研究和實(shí)時(shí)的一種通用平臺,也可以作為便攜式設備或手持終端的一部分進(jìn)一步加以開(kāi)發(fā)和應用。


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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>