新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP雙路音頻信號(hào)實(shí)時(shí)處理系統(tǒng)設(shè)計(jì)

基于DSP雙路音頻信號(hào)實(shí)時(shí)處理系統(tǒng)設(shè)計(jì)

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

在DMA應(yīng)用中,可以賦予每個(gè)通道的bit流高低的優(yōu)先級(jí)。每個(gè)DMA通道的同步事件為MCBSP串口收發(fā)事件,同時(shí)每個(gè)通道某個(gè)事件完成后可向CPU發(fā)送一個(gè)中斷。用戶可以編寫代碼修改寄存器配置,當(dāng)DMA在進(jìn)行數(shù)據(jù)傳輸時(shí),只要用戶使能該通道,就可將配置寄存器復(fù)制到工作寄存器中。另外DMA支持自動(dòng)初始化模式,可以在塊傳輸過(guò)程中反復(fù)復(fù)制,連接示意圖如圖2所示。

本文引用地址:http://m.butianyuan.cn/article/150302.htm

c.jpg



2 軟件系統(tǒng)
方案中兩路麥克風(fēng)輸入數(shù)據(jù),兩路耳機(jī)輸出數(shù)據(jù)。在此給出一路的接收發(fā)送過(guò)程,另一路思路相同。
在DARAM中開辟緩沖和單元,數(shù)據(jù)傳輸均采用DMA獨(dú)立于CPU的方式。CPU只有在接收DMA觸發(fā)中斷后對(duì)數(shù)據(jù)進(jìn)行,并將處理后數(shù)據(jù)拷貝到DMA發(fā)送緩沖。為保證整個(gè)傳輸過(guò)程中無(wú)數(shù)據(jù)丟失,DMA接收端采用半幀中斷的方式接收數(shù)據(jù)。在數(shù)據(jù)載入過(guò)程中,可以選擇兩個(gè)區(qū)域進(jìn)行操作,將數(shù)據(jù)區(qū)分為receive1與receive2用于保存載入的數(shù)據(jù),同時(shí)開辟程序運(yùn)行區(qū)process1和process2用于運(yùn)行程序。當(dāng)receive區(qū)域觸發(fā)半幀中斷,CPU讀取receive1中的數(shù)據(jù)并將其復(fù)制到process1中,調(diào)用處理函數(shù)proc1,在CPU進(jìn)行相關(guān)處理時(shí),DMA繼續(xù)將數(shù)據(jù)載入receive2,其滿時(shí)觸發(fā)整幀中斷,DMA自動(dòng)初始化將receive1覆蓋。CPU此時(shí)即可將receive2中的數(shù)據(jù)復(fù)制到process2中,調(diào)用處理函數(shù)proc 2,這樣receive區(qū)域交替更新,即可實(shí)現(xiàn)程序的不間斷運(yùn)行。
每次中斷服務(wù)程序的運(yùn)行時(shí)間必須小于半幀中斷的間隔時(shí)間。此方案可以保證系統(tǒng)的延時(shí)足夠小。在使用該方案時(shí),用戶必須根據(jù)自己的需要合適的采樣頻率和緩沖數(shù)據(jù)區(qū)的大小。為提高系統(tǒng)穩(wěn)定性,實(shí)驗(yàn)可以根據(jù)要求設(shè)計(jì)中斷的優(yōu)先級(jí)。系統(tǒng)軟件設(shè)計(jì)如圖3所示。

d.jpg



3 結(jié)束語(yǔ)
系統(tǒng)采用VC5509作為核心處理器,充分利用了片上資源,采用獨(dú)立于CPU的DMA實(shí)現(xiàn)了數(shù)據(jù)的采集處理以及發(fā)送,降低了總線占用率。設(shè)計(jì)的可更新緩沖區(qū)不僅符合DMA傳輸要求而且避免了數(shù)據(jù)丟失,更新減少了數(shù)據(jù)空間的浪費(fèi)。另外該系統(tǒng)具有低功耗、穩(wěn)定性高的特點(diǎn),可以根據(jù)用戶需求進(jìn)一步擴(kuò)展。


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

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉