專利名稱:數(shù)字信號處理器上非連續(xù)區(qū)域數(shù)據(jù)自動搬運的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及DSP(數(shù)字信號處理器)內(nèi)部的數(shù)據(jù)傳輸,具體內(nèi)容為一種通過DMA技術(shù)實現(xiàn)數(shù)據(jù)自動搬運的方法。
背景技術(shù):
DMA是Direct Memory Access的縮寫。其意思是“存儲器直接訪問”。它是指一種高速的數(shù)據(jù)傳輸操作,允許在外部設(shè)備和存儲器之間直接讀寫數(shù)據(jù),即不通過CPU,也不需要CPU干預(yù),整個數(shù)據(jù)傳輸操作在一個稱為“DMA控制器”的控制下進行的,CPU除了在數(shù)據(jù)傳輸開始和結(jié)束時作一點處理外,在傳輸過程中CPU可以進行其它的工作,這樣,在大部分時間里,CPU和輸入輸出都處在并行操作,因此,使整個系統(tǒng)的效率大大提高。
搬運非連續(xù)區(qū)域數(shù)據(jù)的傳統(tǒng)方式是通過使用多路DMA通道完成的,也就是通過一一對應(yīng)的方式進行數(shù)據(jù)的搬運,將非連續(xù)區(qū)域的數(shù)據(jù)劃分為若干個連續(xù)區(qū)域的數(shù)據(jù),每個連續(xù)區(qū)域的數(shù)據(jù)的數(shù)據(jù)搬運對應(yīng)一個DMA通道。這種搬運數(shù)據(jù)方式的優(yōu)點是配置簡單,CPU干預(yù)時間少,缺點是耗費的DMA通道較多,直接配置DMA時間過多,在有些情況下,如DMA通道數(shù)目明顯不足時,通過這種方式進行數(shù)據(jù)的搬運顯然不能高效的傳送數(shù)據(jù)。
另一種方式是,只用較少的DMA通道,通過若干次搬運各個連續(xù)區(qū)域的數(shù)據(jù)完成數(shù)據(jù)的傳輸,但是每次搬運數(shù)據(jù)必須由CPU來修改DMA通道的相關(guān)配置。這種搬運數(shù)據(jù)方式優(yōu)點是耗費DMA通道少,缺點是CPU干預(yù)時間多,影響了系統(tǒng)整體的運行效率,尤其是在搬運的數(shù)據(jù)路數(shù)非常多的情況下,每次都由CPU來修改DMA通道的參數(shù)配置,顯然是不合理的。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種數(shù)字信號處理器上非連續(xù)區(qū)域數(shù)據(jù)自動搬運的方法及裝置,解決現(xiàn)有技術(shù)存在的DMA通道的數(shù)目限制問題,以及在非連續(xù)區(qū)域數(shù)據(jù)傳輸過程中由CPU進行DMA通道的參數(shù)配置,CPU的干預(yù)時間過長浪費CPU的資源的技術(shù)問題。
為達到上述目的,本發(fā)明提供了一種數(shù)字信號處理器上實現(xiàn)非連續(xù)區(qū)域數(shù)據(jù)自動搬運的方法,其特點在于,設(shè)置一個配置數(shù)組,數(shù)組的每個元素為搬運數(shù)據(jù)的存儲器直接訪問主通道進行一次搬運的配置信息,利用存儲器直接訪問通道作為配置通道來將所述配置信息配置給所述主通道,利用存儲器直接訪問通道作為控制通道來控制所述主通道,從而實現(xiàn)使用存儲器直接訪問通道來配置存儲器直接訪問通道。
上述的方法,其特點在于,所述控制通道包括分別用于關(guān)閉、打開、和觸發(fā)所述主通道的第一、第三和第四通道。
上述的方法,其特點在于,所述存儲器直接訪問通道具有連接功能所述存儲器直接訪問通道的配置參數(shù)區(qū)中的配置能夠從指定的位置重新加載;所述通道的搬運能夠相互串接起來,一個通道搬運結(jié)束后能夠自動觸發(fā)另外一個通道的搬運;所述主通道、第一通道、配置通道、第三通道和第四通道順次鏈接。
上述的方法,其特點在于,如果所述配置通道完成所述配置數(shù)組的所有配置信息的搬運,則所述配置通道的參數(shù)區(qū)被自動連接更新為空。
上述的方法,其特點在于,進一步包括以下步驟步驟一、在系統(tǒng)上電時完成所述第一、第三和第四通道的配置;步驟二、按照具體數(shù)據(jù)搬運的內(nèi)容設(shè)置所述配置數(shù)組,使一份所述配置信息對應(yīng)所述主通道的對一塊連續(xù)區(qū)域數(shù)據(jù)的一次搬運;步驟三、設(shè)置所述配置通道的配置參數(shù);步驟四、數(shù)字信號處理器通過設(shè)置存儲器直接訪問控制寄存器中的相應(yīng)位來啟動所述第一通道的搬運;步驟五、所述第一通道搬運完成后關(guān)閉了所述主通道,并自動鏈接到所述配置通道;步驟六、判斷所述配置通道的參數(shù)區(qū)是否為空,是則搬運結(jié)束,否則執(zhí)行步驟七;步驟七、所述配置通道搬運所述配置數(shù)組中的一份所述配置信息到所述主通道的對應(yīng)參數(shù)區(qū)中;
步驟八、所述配置通道自動鏈接到用于打開所述主通道的所述第三通道;步驟九、所述第三通道搬運結(jié)束后自動鏈接到所述第四通道,所述第四通道通過搬運數(shù)據(jù)達到設(shè)置存儲器直接訪問控制寄存器中的相應(yīng)位,從而啟動所述主通道的搬運;步驟十、所述主通道被啟動后,則開始按照參數(shù)區(qū)中的所述配置信息進行搬運;步驟十一、所述主通道完成參數(shù)區(qū)中指明的搬運任務(wù)后,再次鏈接到所述第一通道,返回到步驟五。
上述的方法,其特點在于,所述步驟一由上電初始化完成,所述步驟二至步驟四由CPU完成,所述步驟五至步驟十一由存儲器直接訪問通道自動完成。
上述的方法,其特點在于,在所述步驟七中,所述配置通道搬運所述配置信息到所述主通道的對應(yīng)參數(shù)區(qū)后,所述配置通道的參數(shù)區(qū)中的源地址會被更新指向配置數(shù)組中的下一項,如果所有配置數(shù)組的所有配置信息搬運完成,則所述配置通道的參數(shù)區(qū)被自動連接更新為空。
上述的方法,其特點在于,所述步驟三進一步包括所述配置通道搬運的目的地址是所述主通道配置參數(shù)區(qū)的起始地址,搬運的源地址為配置數(shù)組的起始地址,搬運的數(shù)目為配置數(shù)組中有效配置的數(shù)目,搬運結(jié)束后連接的參數(shù)區(qū)為一空的參數(shù)區(qū)。
為了更好的實現(xiàn)本發(fā)明的目的,本發(fā)明還提供了一種數(shù)字信號處理器上實現(xiàn)非連續(xù)區(qū)域數(shù)據(jù)自動搬運的裝置,其特點在于,包括分別作為主通道、配置通道和控制通道的多個存儲器直接訪問通道;所述主通道用于搬運數(shù)據(jù);所述配置通道設(shè)置有一個配置數(shù)組,數(shù)組的每個元素為所述主通道進行一次搬運的配置信息,所述配置通道用于將所述配置信息配置給所述主通道;所述控制通道用于控制所述主通道,從而實現(xiàn)使用存儲器直接訪問通道來配置存儲器直接訪問通道,減少了數(shù)字信號處理器對存儲器直接訪問通道直接配置的次數(shù)。
上述的裝置,其特點在于,所述存儲器直接訪問通道具有連接功能所述存儲器直接訪問通道的配置參數(shù)區(qū)中的配置能夠從指定的位置重新加載;所述存儲器直接訪問通道具有鏈接功能所述通道的搬運能夠相互串接起來,一個通道搬運結(jié)束后能夠自動觸發(fā)另外一個通道的搬運;所述控制通道包括分別用于關(guān)閉、打開和觸發(fā)所述主通道的第一、第三和第四通道;所述主通道、第一通道、配置通道、第三通道和第四通道順次鏈接。
本發(fā)明的技術(shù)效果在于采用本發(fā)明所述的方法,解決了DMA通道數(shù)目限制的問題,并且在搬運過程中整個DMA參數(shù)區(qū)配置過程完全由DMA通道來完成,減小了CPU的干預(yù),從而提高了整個系統(tǒng)的傳輸能力和CPU的利用率。本發(fā)明方法的數(shù)組中可以容納的元素個數(shù)可以根據(jù)需要進行調(diào)整,這樣就解決了配置數(shù)目受到限制的問題,這是因為非連續(xù)區(qū)域數(shù)據(jù)的傳送總能分解為若干個連續(xù)區(qū)域數(shù)據(jù)的傳送,配置數(shù)組只需配置這若干個元素就可以了。另外,本發(fā)明方法在整個過程中只進行了一次直接的DMA通道的配置(即配置DMA通道102的參數(shù)),其它配置信息都是填寫在配置數(shù)組中的,操作過程很快(因為此操作是在DSP的內(nèi)存中進行的)。通過這樣的方式我們又解決了配置過程耗時的問題。
圖1本發(fā)明的DMA通道配置示意圖;圖2本發(fā)明的DMA通道搬運流程圖。
具體實施例方式
下面結(jié)合附圖進一步詳細說明本發(fā)明的具體實施例。
本發(fā)明就是在以上背景技術(shù)的基礎(chǔ)上提出了一種非連續(xù)區(qū)域數(shù)據(jù)的自動搬運方法,主要內(nèi)容為將一個DMA搬運過程分解為配置過程和搬運過程,其中DMA的配置過程仍然由DMA來完成,這樣就通過較少DMA通道實現(xiàn)了非連續(xù)區(qū)域數(shù)據(jù)的搬運,整個數(shù)據(jù)傳輸過程只需在數(shù)據(jù)傳送開始進行一次參數(shù)配置,在數(shù)據(jù)傳輸過程中不必由CPU再進行DMA通道的參數(shù)配置,從而減少了CPU的干預(yù)時間,節(jié)約了CPU的資源,使得在DMA通道較少時仍能自動完成非連續(xù)區(qū)域數(shù)據(jù)的搬運。
本發(fā)明的主要在于在使用DMA通道搬運數(shù)據(jù)時,DSP對DMA通道的配置也相當(dāng)于對外設(shè)內(nèi)存區(qū)域的訪問,比較費時,為了盡量減少DSP對DMA通道直接配置的次數(shù),可以考慮將配置過程交給DMA通道自動完成,即使用DMA通道來配置DMA通道。
本發(fā)明使用前提與限制1)DMA控制器需具備“連接”功能,其配置參數(shù)區(qū)中的配置可以從指定的位置重新加載。
2)DMA控制器需具備“鏈接”功能,DMA通道的搬運可以相互串接起來,即一個DMA通道搬運結(jié)束后可以自動觸發(fā)另外一個DMA通道的搬運。
3)由于DMA通道在很多DSP處理器上一次搬運的最小字節(jié)數(shù)為1個字節(jié),故每搬運到DMA的控制寄存器時一次會影響8位,有些DMA控制寄存器的8個位會影響其它DMA通道。
具體配置方法(發(fā)明內(nèi)容)如下,示意圖參見圖11)非連續(xù)區(qū)域數(shù)據(jù)的傳送通過以下幾個DMA通道多次循環(huán)執(zhí)行來完成。搬運數(shù)據(jù)的通道,這里稱為主DMA通道100;DMA控制寄存器去使能搬運的通道(關(guān)閉主DMA通道),這里稱為DMA通道101;主DMA通道100的配置參數(shù)的搬運通道,這里稱為DMA通道102;DMA控制寄存器使能搬運通道(打開主DMA通道),這里稱為DMA通道103;DMA控制寄存器觸發(fā)搬運通道(觸發(fā)主DMA通道搬運),這里稱為DMA通道104。
2)各DMA通道“鏈接”關(guān)系配置。DMA主通道搬運完成鏈接到DMA通道1;DMA通道1搬運完成后鏈接到DMA通道102;DMA通道102搬運完成后鏈接到DMA通道103;DMA通道103搬運完成后鏈接到DMA通道104;DMA通道104搬運完成后就觸發(fā)了DMA主通道的搬運。
3)DMA通道101、DMA通道103、DMA通道104可設(shè)置為具有“連接”功能的DMA通道,其配置參數(shù)區(qū)中的配置可以從指定的位置重新加載。這3個DMA通道的搬運的源地址分別為初始化為各自特性值的固定內(nèi)存,目的地址分別為控制不同狀態(tài)的DMA控制寄存器地址。
4)我們每次發(fā)送數(shù)據(jù)只需配置的是DMA通道102。設(shè)置一個配置數(shù)組,數(shù)組的每個元素即為DMA主通道搬運一次的配置信息,對應(yīng)一塊連續(xù)區(qū)域數(shù)據(jù)的搬運。每次搬運數(shù)據(jù)前,我們根據(jù)非連續(xù)區(qū)域的個數(shù),在配置數(shù)組開始的若干個元素中填寫相應(yīng)個數(shù)的配置信息。然后,我們根據(jù)配置信息的數(shù)目對DMA通道102進行配置,DMA通道102搬運的目的地址是主DMA通道配置參數(shù)區(qū)的起始地址,搬運的源地址為配置數(shù)組的起始地址,搬運的數(shù)目為配置數(shù)組中有效配置的數(shù)目,搬運結(jié)束后“連接”的參數(shù)區(qū)為一空的參數(shù)區(qū)。每一次DMA通道102被觸發(fā)搬運后,只搬運一份配置信息到DMA主通道配置參數(shù)區(qū)的起始地址,搬運完一份配置信息后通過DMA“鏈接”觸發(fā)另一個DMA通道(這里為DMA通道103)的搬運,直到其它DMA通道再次觸發(fā)DMA通道102的搬運。所有配置信息被搬運完成后,DMA通道102連接到一個空的參數(shù)區(qū),再一次輪到DMA通道102搬運時,整個搬運過程就結(jié)束了。
通過應(yīng)用本法明方法,可實現(xiàn)對非連續(xù)區(qū)域數(shù)據(jù)的自動搬運,CPU只需要在初始時配置搬運參數(shù),隨后的搬運過程由DMA通道自動完成。通過這種技術(shù),從理論上講,可以實現(xiàn)對任意多個非連續(xù)區(qū)域的自動搬運,不僅解決了DSP上DMA通道數(shù)目的限制,而且減小了配置DMA通道所耗費的CPU時間,同時整個數(shù)據(jù)搬運過程不需要CPU的干預(yù),從而提高了DSP上數(shù)據(jù)傳輸效率和CPU利用率。
本發(fā)明實現(xiàn)非連續(xù)區(qū)域數(shù)據(jù)的的搬運流程如圖2所示。
步驟201,DMA通道101、DMA通道103、DMA通道104的配置在系統(tǒng)上電時完成。
步驟202,按照具體數(shù)據(jù)搬運的內(nèi)容設(shè)置配置數(shù)組,一份配置信息對應(yīng)主DMA通道的一次搬運。
步驟203,設(shè)置DMA通道102的配置參數(shù)。搬運的目的地址是DMA主通道配置參數(shù)區(qū)的起始地址,搬運的源地址為配置數(shù)組的起始地址,搬運的數(shù)目為配置數(shù)組中有效配置的數(shù)目,搬運結(jié)束后連接的參數(shù)區(qū)為一空的參數(shù)區(qū)。
步驟204,DSP通過設(shè)置DMA控制寄存器中的相應(yīng)位啟動DMA通道101的搬運,DMA通道101搬運完成后,就關(guān)閉了主DMA通道,可以對主DMA通道安全進行操作了,其后它自動鏈接到了DMA通道102。
步驟205,判斷DMA通道102的參數(shù)區(qū)是否為NULL,如果為NULL,則執(zhí)行步驟206搬運結(jié)束,否則繼續(xù)步驟207;步驟206,搬運結(jié)束。
步驟207,DMA通道102的功能是搬運配置數(shù)組中的一項到主DMA通道對應(yīng)的參數(shù)區(qū)中。
步驟208,搬運完成后,DMA通道102的參數(shù)區(qū)中的源地址會被更新指向配置數(shù)組中的下一項,如果所有配置數(shù)組的所有配置信息搬運完成,則DMA通道102的參數(shù)區(qū)被自動連接更新為NULL。
步驟209,DMA通道102搬運了一份配置信息到主DMA通道對應(yīng)的參數(shù)區(qū)中后,會自動鏈接到了DMA通道103,DMA通道103功能是打開主DMA通道。
步驟210,DMA通道103搬運結(jié)束后,會自動鏈接到了DMA通道104,DMA通道104會通過搬運數(shù)據(jù)達到設(shè)置DMA控制寄存器中的相應(yīng)位,從而啟動主DMA通道的搬運。
步驟211,主DMA通道被啟動后,則開始按照參數(shù)區(qū)中指示的配置信息進行搬運。主DMA通道完成參數(shù)區(qū)中指明的搬運任務(wù)后,再次鏈接到DMA通道101。返回到步驟204。
以上步驟201為上電初始化完成,步驟202至203為搬運數(shù)據(jù)時CPU所需進行的工作,步驟204之后為DMA自動完成。
根據(jù)以上方法,數(shù)組中可以容納的元素個數(shù)我們可以根據(jù)需要進行調(diào)整,這樣我們就解決了配置數(shù)目受到限制的問題,這是因為非連續(xù)區(qū)域數(shù)據(jù)的傳送總能分解為若干個連續(xù)區(qū)域數(shù)據(jù)的傳送,配置數(shù)組只需配置這若干個元素就可以了。另外,我們在整個過程中只進行了一次直接的DMA通道的配置(即配置DMA通道102的參數(shù)),其它配置信息都是填寫在配置數(shù)組中的,操作過程很快(因為此操作是在DSP的內(nèi)存中進行的)。通過這樣的方式我們又解決了配置過程耗時的問題。
UTOPIA(Universal Test & Operations PHY Interface for ATM)設(shè)備內(nèi)部有一個信元發(fā)送隊列,用來存放需要發(fā)送的信元。當(dāng)某個時刻到來時,我們需要通過UTOPIA設(shè)備發(fā)送若干個信元,這些信元的位置在內(nèi)存分布上不連續(xù),而且沒有規(guī)律。我們希望通過DMA通道發(fā)送信元,但是有兩個問題需要解決1)由于待發(fā)送的信元在內(nèi)存分布上不連續(xù),因此,如果通過DMA通道發(fā)送信元,則我們需要生成多個DMA的配置,用傳統(tǒng)的方法,顯然無法達到要求。
2)因為配置數(shù)目較多,如果配置過程都由DSP直接完成,那么將消耗比較多的時間。
為了通過UTOPIA設(shè)備發(fā)送信元,這里可以按照前面的方法使用5個DMA通道,即主DMA通道(用于向UTOPIA設(shè)備的發(fā)送隊列中搬運信元)、DMA_DIS(disable主DMA通道)、DMA_CFG(用于向主DMA通道對應(yīng)的參數(shù)區(qū)中搬運發(fā)送信元時所需要的配置信息)、DMA_EN(作用和DMA_DIS現(xiàn)反)、DMA_ST(觸發(fā)主DMA通道的搬運過程)。這幾個通道通過DMA的“鏈接”特性被關(guān)聯(lián)起來,然后配置DSP內(nèi)存中的配置數(shù)組,元素數(shù)目根據(jù)被分割為的連續(xù)區(qū)域的數(shù)目而定。
具體所做的工作如下1)在上電初始化時配置DMA_DIS通道、DMA_EN通道、DMA_ST通道。以上各通道的配置是,目的地址為DMA控制寄存器,源地址為具有特定內(nèi)容特定的內(nèi)存地址,且通道配置為具有連接屬性搬運完成后可自動加載參數(shù)的通道,且其“鏈接”的下一個通道的鏈接特性也需配置,即DMA_DIS通道鏈接到DMA_CFG通道,DMA_EN通道鏈接到DMA_ST通道,DMA_ST通道無“鏈接”屬性。
2)上電完成后需要發(fā)送若干個內(nèi)存不連續(xù)的數(shù)據(jù)時,如需發(fā)送30個內(nèi)存不連續(xù)的數(shù)據(jù)時,可設(shè)置配置數(shù)組,使其擁有30條配置信息,每條信息對應(yīng)一個連續(xù)區(qū)域數(shù)據(jù)的發(fā)送,每份配置信息擁有具體主搬運通道參數(shù)區(qū)要求的源地址、目的地址、搬運長度等參數(shù),即主搬運通道的“鏈接”屬性(其需鏈接到DMA通道DMA_DIS)。
3)設(shè)置DMA通道DMA_CFG的配置參數(shù)。搬運的目的地址是主DMA通道配置參數(shù)區(qū)的起始地址,搬運的源地址為配置數(shù)組的起始地址,搬運的數(shù)目為配置數(shù)組中有效配置的數(shù)目,搬運結(jié)束后連接的參數(shù)區(qū)為一空的參數(shù)區(qū),該DMA通道配置為每觸發(fā)一次搬運,只搬運主DMA通道的一份配置信息,源地址直接指向配置數(shù)組的下一條目,然后直接“鏈接”到DMA通道DMA_EN。
通過以上配置,用CPU觸發(fā)DMA_DIS通道搬運,就啟動了該DMA鏈,然后會自動完成了該非連續(xù)區(qū)域數(shù)據(jù)的搬運,后續(xù)操作就不需CPU進行干預(yù)了。這樣就解決了DMA通道數(shù)目少的問題,并且不必對各DMA通道直接進行配置,減少了CPU的干預(yù)時間,提高了整個數(shù)據(jù)傳輸?shù)男阅堋?br>
以上所述僅為本發(fā)明的較佳實施例,并非用來限定本發(fā)明的實施范圍;凡是依本發(fā)明所作的等效變化與修改,都被本發(fā)明的專利范圍所涵蓋。
權(quán)利要求
1.一種數(shù)字信號處理器上實現(xiàn)非連續(xù)區(qū)域數(shù)據(jù)自動搬運的方法,其特征在于,設(shè)置一個配置數(shù)組,數(shù)組的每個元素為搬運數(shù)據(jù)的存儲器直接訪問主通道進行一次搬運的配置信息,利用存儲器直接訪問通道作為配置通道來將所述配置信息配置給所述主通道,利用存儲器直接訪問通道作為控制通道來控制所述主通道,從而實現(xiàn)使用存儲器直接訪問通道來配置存儲器直接訪問通道。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述控制通道包括分別用于關(guān)閉、打開、和觸發(fā)所述主通道的第一、第三和第四通道。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述存儲器直接訪問通道具有連接功能所述存儲器直接訪問通道的配置參數(shù)區(qū)中的配置能夠從指定的位置重新加載;所述通道的搬運能夠相互串接起來,一個通道搬運結(jié)束后能夠自動觸發(fā)另外一個通道的搬運;所述主通道、第一通道、配置通道、第三通道和第四通道順次鏈接。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,如果所述配置通道完成所述配置數(shù)組的所有配置信息的搬運,則所述配置通道的參數(shù)區(qū)被自動連接更新為空。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,進一步包括以下步驟步驟一、在系統(tǒng)上電時完成所述第一、第三和第四通道的配置;步驟二、按照具體數(shù)據(jù)搬運的內(nèi)容設(shè)置所述配置數(shù)組,使一份所述配置信息對應(yīng)所述主通道的對一塊連續(xù)區(qū)域數(shù)據(jù)的一次搬運;步驟三、設(shè)置所述配置通道的配置參數(shù);步驟四、數(shù)字信號處理器通過設(shè)置存儲器直接訪問控制寄存器中的相應(yīng)位來啟動所述第一通道的搬運;步驟五、所述第一通道搬運完成后關(guān)閉了所述主通道,并自動鏈接到所述配置通道;步驟六、判斷所述配置通道的參數(shù)區(qū)是否為空,是則搬運結(jié)束,否則執(zhí)行步驟七;步驟七、所述配置通道搬運所述配置數(shù)組中的一份所述配置信息到所述主通道的對應(yīng)參數(shù)區(qū)中;步驟八、所述配置通道自動鏈接到用于打開所述主通道的所述第三通道;步驟九、所述第三通道搬運結(jié)束后自動鏈接到所述第四通道,所述第四通道通過搬運數(shù)據(jù)達到設(shè)置存儲器直接訪問控制寄存器中的相應(yīng)位,從而啟動所述主通道的搬運;步驟十、所述主通道被啟動后,則開始按照參數(shù)區(qū)中的所述配置信息進行搬運;步驟十一、所述主通道完成參數(shù)區(qū)中指明的搬運任務(wù)后,再次鏈接到所述第一通道,返回到步驟五。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟一由上電初始化完成,所述步驟二至步驟四由CPU完成,所述步驟五至步驟十一由存儲器直接訪問通道自動完成。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述步驟七中,所述配置通道搬運所述配置信息到所述主通道的對應(yīng)參數(shù)區(qū)后,所述配置通道的參數(shù)區(qū)中的源地址會被更新指向配置數(shù)組中的下一項,如果所有配置數(shù)組的所有配置信息搬運完成,則所述配置通道的參數(shù)區(qū)被自動連接更新為空。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟三進一步包括所述配置通道搬運的目的地址是所述主通道配置參數(shù)區(qū)的起始地址,搬運的源地址為配置數(shù)組的起始地址,搬運的數(shù)目為配置數(shù)組中有效配置的數(shù)目,搬運結(jié)束后連接的參數(shù)區(qū)為一空的參數(shù)區(qū)。
9.一種數(shù)字信號處理器上實現(xiàn)非連續(xù)區(qū)域數(shù)據(jù)自動搬運的裝置,其特征在于,包括分別作為主通道、配置通道和控制通道的多個存儲器直接訪問通道;所述主通道用于搬運數(shù)據(jù);所述配置通道設(shè)置有一個配置數(shù)組,數(shù)組的每個元素為所述主通道進行一次搬運的配置信息,所述配置通道用于將所述配置信息配置給所述主通道;所述控制通道用于控制所述主通道,從而實現(xiàn)使用存儲器直接訪問通道來配置存儲器直接訪問通道,減少了數(shù)字信號處理器對存儲器直接訪問通道直接配置的次數(shù)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述存儲器直接訪問通道具有連接功能所述存儲器直接訪問通道的配置參數(shù)區(qū)中的配置能夠從指定的位置重新加載;所述存儲器直接訪問通道具有鏈接功能所述通道的搬運能夠相互串接起來,一個通道搬運結(jié)束后能夠自動觸發(fā)另外一個通道的搬運;所述控制通道包括分別用于關(guān)閉、打開和觸發(fā)所述主通道的第一、第三和第四通道;所述主通道、第一通道、配置通道、第三通道和第四通道順次鏈接。
全文摘要
本發(fā)明公開了一種數(shù)字信號處理器上非連續(xù)區(qū)域數(shù)據(jù)自動搬運的方法及裝置,其特點在于,設(shè)置一個配置數(shù)組,數(shù)組的每個元素為搬運數(shù)據(jù)的存儲器直接訪問主通道進行一次搬運的配置信息,利用存儲器直接訪問通道作為配置通道來將所述配置信息配置給所述主通道,利用存儲器直接訪問通道作為控制通道來控制所述主通道,從而使用存儲器直接訪問通道來配置存儲器直接訪問通道,減少了數(shù)字信號處理器對存儲器直接訪問通道直接配置的次數(shù)。本發(fā)明只需在數(shù)據(jù)傳送開始進行一次參數(shù)配置,在數(shù)據(jù)傳輸過程中不必由CPU再進行存儲器直接訪問通道的參數(shù)配置,節(jié)約了CPU的資源,使得在通道較少時仍能自動完成非連續(xù)區(qū)域數(shù)據(jù)的搬運。
文檔編號G06F13/28GK101017468SQ200610011319
公開日2007年8月15日 申請日期2006年2月10日 優(yōu)先權(quán)日2006年2月10日
發(fā)明者殷力殷, 白曉寧 申請人:中興通訊股份有限公司