亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于dma技術(shù)降低聲音輸入至輸出延遲的方法和系統(tǒng)的制作方法

文檔序號:9631386閱讀:579來源:國知局
一種基于dma技術(shù)降低聲音輸入至輸出延遲的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種降低聲音輸入至輸出延遲的方法和系統(tǒng),尤其指一種基于DMA(直 接內(nèi)存存取)技術(shù)的降低聲音輸入至輸出延遲的方法和系統(tǒng)。
【背景技術(shù)】
[0002] 現(xiàn)在系統(tǒng)內(nèi)部音頻數(shù)據(jù)傳遞是通過CPU進(jìn)行處理并安排音頻數(shù)據(jù)在總線的傳輸, 在音頻數(shù)據(jù)需要快速輸出的情況下,需要對音頻數(shù)據(jù)的傳輸方式進(jìn)行改進(jìn)。
[0003] 為了解決這個問題,系統(tǒng)設(shè)計(jì)者和CPU設(shè)計(jì)者對系統(tǒng)流程和CPU能力進(jìn)行改善,更 流暢的傳輸模式,更強(qiáng)的CPU運(yùn)算能力,但是系統(tǒng)改進(jìn)的余地和效率在不復(fù)雜的系統(tǒng)內(nèi)表 現(xiàn)不良,而CPU能力的改進(jìn)會增加系統(tǒng)的成本。
[0004] 直接內(nèi)存存?。―MA)是數(shù)字信號處理器(DSP)中用于快速數(shù)據(jù)交換的重要技術(shù), 它具有獨(dú)立于CPU的后臺批量數(shù)據(jù)傳輸能力,能夠滿足實(shí)時數(shù)據(jù)處理中高速數(shù)據(jù)傳輸要 求。

【發(fā)明內(nèi)容】

[0005] 針對現(xiàn)有技術(shù)存在的問題,提出了本發(fā)明的技術(shù)方案。
[0006] 本發(fā)明一方面通過提供一種基于直接內(nèi)存存取技術(shù)降低聲音輸入至輸出延遲的 方法,包括以下步驟:A、麥克風(fēng)裝置接收聲音,進(jìn)行聲音采集;B、聲音處理芯片處理采集到 的聲音,將音頻轉(zhuǎn)化為數(shù)字信號并進(jìn)行音效處理;C、直接內(nèi)存存取控制器控制數(shù)據(jù)傳遞,在 不同設(shè)備端傳遞數(shù)據(jù);D、輸出設(shè)備端將音頻數(shù)字信號轉(zhuǎn)化成聲音輸出。
[0007] 優(yōu)選地,所述的直接內(nèi)存存取控制器控制數(shù)據(jù)傳遞之前,還包括:加載預(yù)設(shè)的配置 文件,其中配置文件包括:設(shè)備與直接內(nèi)存存取控制器之間的請求指令表,地址信息對應(yīng)關(guān) 系表,傳遞配置規(guī)則。
[0008] 優(yōu)選地,所述的直接內(nèi)存存取控制器包括:狀態(tài)控制寄存器,用于修改內(nèi)存地址計(jì) 數(shù)器和字計(jì)數(shù)器,指定傳輸類型,并對設(shè)備間的數(shù)據(jù)傳輸進(jìn)行協(xié)調(diào)和同步;數(shù)據(jù)寄存器,用 于暫存每次傳輸?shù)臄?shù)據(jù);地址寄存器,用于發(fā)出地址信息,并修改地址指針;字節(jié)計(jì)數(shù)器, 用于記錄傳輸數(shù)據(jù)的長度。
[0009] 優(yōu)選地使用匯編語言指令對寄存器寫入初始化控制字。
[0010] 優(yōu)選地,所述的直接內(nèi)存存取控制器控制數(shù)據(jù)傳遞,包括以下步驟:C1、外圍的設(shè) 備通過向直接內(nèi)存存取控制器向需要傳輸數(shù)據(jù)的設(shè)備發(fā)出直接傳輸數(shù)據(jù)的請求;C2、上述 的設(shè)備接收直接傳輸數(shù)據(jù)的請求,轉(zhuǎn)變?yōu)橹苯觾?nèi)存存取傳輸方式,直接內(nèi)存存取控制器取 得對外圍總線的控制權(quán);C3、直接內(nèi)存存取控制器根據(jù)地址信息對應(yīng)關(guān)系表,決定數(shù)據(jù)傳輸 的數(shù)據(jù)存儲地址;C4、執(zhí)行數(shù)據(jù)傳輸,完成之后所述的外圍的設(shè)備向直接內(nèi)存存取控制器返 回結(jié)束信號;C5、直接內(nèi)存存取操作結(jié)束,直接內(nèi)存存取控制器歸還對外圍總線的控制權(quán)。 [0011] 優(yōu)選地,所述的外圍總線用于掛載系統(tǒng)的外圍的設(shè)備。
[0012] 優(yōu)選地,所述結(jié)束信號被直接內(nèi)存存取控制器接收之后,執(zhí)行結(jié)束處理工作,包 括:校驗(yàn)傳輸至輸入端設(shè)備的數(shù)據(jù);確認(rèn)設(shè)備輸出端數(shù)據(jù)完成情況,發(fā)出處理結(jié)果指令。
[0013] 優(yōu)選地,所述發(fā)出處理結(jié)果指令包括:直接內(nèi)存存取控制器確認(rèn)設(shè)備間數(shù)據(jù)傳輸 未完成,向步驟C1所述設(shè)備發(fā)出繼續(xù)使用直接內(nèi)存存取傳輸?shù)闹噶睿恢苯觾?nèi)存存取控制器 確認(rèn)設(shè)備間數(shù)據(jù)傳輸完成,向步驟C1所述設(shè)備發(fā)出結(jié)束傳輸?shù)闹噶睢?br>[0014] 本發(fā)明的另一個方面提出了一種基于直接內(nèi)存存取技術(shù)降低聲音輸出延遲的系 統(tǒng),包括以下: 聲音輸入模塊,配置為使麥克風(fēng)裝置接收聲音,進(jìn)行聲音采集; 聲音處理模塊,配置為使聲音處理芯片處理采集到的聲音,附加聲音效果并將音頻轉(zhuǎn) 化為數(shù)字信號; 數(shù)據(jù)傳遞模塊,配置為使直接內(nèi)存存取控制器控制數(shù)據(jù)傳遞,在不同設(shè)備端傳遞數(shù) 據(jù); 聲音輸出模塊,配置為使輸出設(shè)備端將音頻數(shù)字信號轉(zhuǎn)化成聲音輸出。
[0015] 本發(fā)明的有益效果為:允許設(shè)備間直接傳輸數(shù)據(jù),既不通過CPU,也不需要CPU干 預(yù)。整個數(shù)據(jù)傳輸操作在一個稱為(DMA)控制器的控制下進(jìn)行的,設(shè)備間的數(shù)據(jù)傳輸不需 要通過存儲器進(jìn)行數(shù)據(jù)存儲進(jìn)行傳輸,顯著提升設(shè)備間數(shù)據(jù)傳輸速度。
【附圖說明】
[0016] 為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí) 施方式對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述,其中: 圖1所示為根據(jù)本發(fā)明實(shí)施例的基于直接內(nèi)存存取技術(shù)降低聲音輸出延遲的方法的 示意圖; 圖2所示為根據(jù)本發(fā)明實(shí)施例的基于直接內(nèi)存存取技術(shù)降低聲音輸出延遲的系統(tǒng)的 示意圖。
【具體實(shí)施方式】
[0017] 根據(jù)本發(fā)明的第一實(shí)施例,如圖1所示為降低聲音輸入至聲音輸出延遲的方法, 包括以下步驟: A、 麥克風(fēng)裝置接收聲音,進(jìn)行聲音采集,將聲音轉(zhuǎn)化為數(shù)字電信; B、 聲音處理芯片處理采集到的聲音,將音頻轉(zhuǎn)化為音頻數(shù)字信號并進(jìn)行音效處理; C、 直接內(nèi)存存取控制器控制數(shù)據(jù)傳遞,在不同設(shè)備端傳遞音頻數(shù)字信號,即在直接內(nèi) 存存取控制器的控制下允許在設(shè)備和設(shè)備之間直接讀寫數(shù)據(jù); D、 輸出設(shè)備端將音頻數(shù)字信號轉(zhuǎn)化成聲音輸出,如揚(yáng)聲器、顯示器等設(shè)備將處理過的 音頻數(shù)字信號輸出。
[0018] 其中直接內(nèi)存存取控制器控制數(shù)據(jù)傳遞之前,還加載預(yù)設(shè)的配置文件,配置文件 包括設(shè)備與直接內(nèi)存存取控制器之間的請求指令表,地址信息對應(yīng)關(guān)系表,傳遞配置規(guī)則。
[0019] 根據(jù)本發(fā)明的第二實(shí)施例,所述的直接內(nèi)存存取控制器包括: 狀態(tài)控制寄存器,修改地址計(jì)數(shù)器和字計(jì)數(shù)器,指定傳輸類型(輸入或輸出),并對設(shè) 備間的數(shù)據(jù)傳輸進(jìn)行協(xié)調(diào)和同步;數(shù)據(jù)寄存器,用于暫存每次傳輸?shù)臄?shù)據(jù),即用于暫存每次 傳輸?shù)臄?shù)據(jù)(一個字)。當(dāng)數(shù)據(jù)輸入時,由輸入設(shè)備送往輸入設(shè)備端的數(shù)據(jù)FIFO端;數(shù)據(jù) 傳輸時,通過直接內(nèi)存存取技術(shù)將數(shù)據(jù)從輸入設(shè)備的數(shù)據(jù)FIFO端搬送到輸出設(shè)備的數(shù)據(jù)FIFO端;當(dāng)數(shù)據(jù)輸出時,由輸出設(shè)備的數(shù)據(jù)FIFO端送到設(shè)備輸出端進(jìn)行輸出;地址寄存器, 用于發(fā)出地址信息,并修改地址指針;字節(jié)計(jì)數(shù)器,用于記錄傳輸數(shù)據(jù)的長度,其內(nèi)容也是 在數(shù)據(jù)傳輸之前由程序預(yù)置,交換的字?jǐn)?shù)通常以補(bǔ)碼形式表示。在直接內(nèi)存存取傳輸時,每 傳輸一個字,字計(jì)數(shù)器就加" 1",當(dāng)計(jì)數(shù)器溢出即最高位產(chǎn)生進(jìn)位時,表示這批數(shù)據(jù)傳輸完 畢,于是引起直接內(nèi)存存取控制器向直接內(nèi)存存取控制器發(fā)中斷信號。
[0020] 根據(jù)本發(fā)明的第三實(shí)施例,所述直接內(nèi)存存取控制器控制數(shù)據(jù)傳遞,包括以下步 驟:外圍的設(shè)備通過向直接內(nèi)存存取控制器向需要傳輸數(shù)據(jù)的設(shè)備發(fā)出直接傳輸數(shù)據(jù)的請 求;上述的外圍的設(shè)備和需要數(shù)據(jù)傳輸?shù)脑O(shè)備,作為數(shù)據(jù)的發(fā)出端和接收端,接收直接內(nèi)存 控制器發(fā)出的直接傳輸數(shù)據(jù)的請求,數(shù)據(jù)傳輸方式轉(zhuǎn)變?yōu)橹苯觾?nèi)存存取傳輸方式,直接內(nèi) 存存取控制器取得對外圍總線的控制權(quán);直接內(nèi)存存取控制器根據(jù)地址信息對應(yīng)關(guān)系表, 決定數(shù)據(jù)傳輸?shù)妮斎朐O(shè)備和輸出設(shè)備數(shù)據(jù)FIFO地址;執(zhí)行數(shù)據(jù)傳輸,完成之后上述的外圍 的設(shè)備作為數(shù)據(jù)的發(fā)出端,向直接內(nèi)存存取控制器返回結(jié)束信號;直接內(nèi)存存取操作結(jié)束, 歸還對外圍總線的控制權(quán)。其中使用匯編語言指令對寄存器寫入初始化控制字。
[0021] 所述結(jié)束信號被直接內(nèi)存存取控制器接收之后,直接內(nèi)存存取控制器執(zhí)行結(jié)束處 理工作,包括:校驗(yàn)傳輸至輸入端設(shè)備的數(shù)據(jù),即檢驗(yàn)傳輸?shù)臄?shù)據(jù)是否正確;確認(rèn)輸出端設(shè) 備傳輸數(shù)據(jù)的完成情況,測試在傳輸過程中是否發(fā)生了錯誤等;根據(jù)檢校的結(jié)果發(fā)出處理 結(jié)果指令,決定繼續(xù)用直接內(nèi)存存取方式繼續(xù)傳輸下去,還是結(jié)束傳輸。
[0022] 其中所述發(fā)出處理結(jié)果指令包括:直接內(nèi)存存取控制器確認(rèn)設(shè)備間數(shù)據(jù)傳輸未完 成,向設(shè)備發(fā)出繼續(xù)使用直接內(nèi)存存取傳輸?shù)闹噶睿恢苯觾?nèi)存存取控制器確認(rèn)設(shè)備間數(shù)據(jù) 傳輸完成,向設(shè)備發(fā)出繼續(xù)結(jié)束傳輸?shù)闹噶睢?br>[0023] 根據(jù)本發(fā)明的第四實(shí)施例如圖2所示。圖2中的代號描述如下表:
其中的系統(tǒng)音樂數(shù)據(jù)運(yùn)行方式如下:主控H3中通過數(shù)字音頻總線daudioO進(jìn)入AclOO芯片的AclOO端數(shù)字音頻接口 1 (Aifl),進(jìn)入AclOOsystemroute(AclOO系統(tǒng)路由)并 在其中進(jìn)行聲音處理操作。
[0024] 具體地,如下描述聲音處理方式。唱K人的聲音通過Karaokemic分離兩路聲 音,一路沒有經(jīng)過音效處理的micl,micl的聲音經(jīng)過AclOO芯片的AclOO端數(shù)字音頻接 口 2 (Aif2),再經(jīng)過數(shù)字音頻總線daudiol錄音,用于Karaoke的唱K評分功能;一路經(jīng)過Pt2399音效處理的mic2,經(jīng)過Pt2399音效處理后
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1