新四季網

一種直接存儲器存取裝置及單通道雙向數據交互實現方法

2023-06-20 07:24:31

專利名稱:一種直接存儲器存取裝置及單通道雙向數據交互實現方法
技術領域:
本發明涉及直接存儲器存取技術,特別是指一種直接存儲器存取裝置及其實現單通道雙向數據交互的方法。
背景技術:
直接存儲器存取(DMA,Direct Memory Access)是微機系統中提高數據傳輸效率的一項重要技術,DMA技術可以實現在存儲空間的不同區域之間搬移和交換數據,這種存取訪問一般無須CPU的介入,由DMA控制器完成所有的控制。具體來說在支持DMA方式實現數據傳輸的系統中,DMA和CPU都掛接在系統總線上,一般情況下,由CPU控制系統總線,DMA只是工作於從屬狀態的受控模塊,而採用DMA方式實現的數據傳輸就是在一定時間段內,由DMA取代CPU獲得系統總線的控制權,將數據塊從指定區域取出或保存到指定區域中,DMA完成數據傳輸後,再將系統總線的控制權交還給CPU,這種情況下,DMA可以以CPU時鐘的速度控制進行數據吞吐,具有較高的數據吞吐率。
通常,DMA控制器也可以稱為DMA或DMA裝置,DMA一般有多個彼此獨立的通道,每個通道可以進行不同地訪問控制,比如讀取數據或保存數據,每個通道可以進行不同內容的DMA傳輸。現有DMA的組成結構如圖1所示,包括總線Slave接口101、DMA請求和響應接口102、控制邏輯和寄存器組103、通道邏輯和寄存器組104、總線Master接口105以及中斷請求邏輯106。其中,微處理控制單元(MCU)通過總線Slave接口101來配置DMA中的控制寄存器,實現對DMA各種工作模式的控制功能;DMA請求和響應接口102主要用來處理內存到外設、外設到內存以及外設到外設的DMA傳送請求和應答信號;控制邏輯和寄存器組103由MCU通過總線Slave接口101來配置,實現對DMA各種工作模式的控制功能;通道邏輯和寄存器組104,由MCU通過總線Slave接口101來配置,實現對DMA各個通道參數的設置;總線Master接口105用於實現對掛接在此總線上的內存和外設間數據的DMA搬移;中斷請求邏輯106的作用是當DMA有特殊情況發生時,比如某通道傳輸結束或失敗,由中斷請求邏輯106來通知MCU,MCU查詢DMA的相關寄存器,實現相應的控制,從而完成DMA與MCU之間信息和數據的交互。
這裡,通道邏輯和寄存器組104提供DMA搬移所用的通道,對應DMA的n個通道,每個通道都有一組專用的寄存器和控制邏輯,用來表示通道的傳輸特性,反應通道的當前狀態,控制邏輯的組成結構如圖2所示,包括FIFO201,用於緩衝輸入數據,實現通道的FIFO控制功能;通道控制邏輯202,完成對FIFO201、源地址控制邏輯203和目的地址控制邏輯204的控制,具體說就是對源地址、目的地址的地址屬性進行控制,例如控制採用8或16或32比特位寬的地址訪問、一次訪問後地址是否增長、讀取的數量大小、FIFO的深度設定等功能;源地址控制邏輯203用於從源地址讀取數據到DMA通道,信號207表示從源地址讀取的數據;目的地址控制邏輯204用於從DMA通道發送數據到目的地址,信號208表示發送到目的地址的數據;通道控制邏輯202通過控制信號205對源地址控制邏輯203進行控制,通過控制信號206對目的地址控制邏輯204進行控制,信號207和信號208均與圖1中的總線Master接口105相連。
以外設與內存之間實現DMA傳輸為例,外設和內存都可以分別作為源地址和目的地址,由DMA實現源地址與目的地址之間的數據搬移。其中,外設到內存的DMA傳輸如圖3a所示,內存到外設的DMA傳輸如圖3b所示。圖3a中,外設作為源地址,內存作為目的地址,301a和302a分別表示隨機存儲器(RAM)中兩塊大小相等的內存RAM DST0和RAM DST1;圖3b中,內存作為源地址,外設作為目的地址,301b和302b分別表示隨機存儲器(RAM)中兩塊大小相等的內存RAM SRC0和RAM SRC1;圖3a和圖3b中,實線表示數據流,點劃線表示控制流,DMA303用於實現外設和內存之間的DMA傳輸,外設304可以是任意的外部設備,CPU305用於配置和控制DMA,實現DMA的信息交互。
為了降低系統延時、節約緩衝區空間,通常採用桌球方式讀取或存放數據,桌球操作的實現原理如圖4所示。圖4中,數據緩衝模塊可以為任何存儲模塊,比如雙口RAM(DPRAM,Dual Port RAM)、單口RAM(SPRAM,Single PortRAM)、先進先出(FIFO,First In First Out)緩存器等。在第一個緩衝周期,將輸入的數據流緩存到數據緩衝模塊1;在第2個緩衝周期,通過輸入數據流選擇單元的切換,將輸入的數據流緩存到數據緩衝模塊2,同時將數據緩衝模塊1緩存的第1個周期數據通過輸出數據流選擇單元的選擇送到目的地址;在第3個緩衝周期通過輸入數據流選擇單元的再次切換,將輸入的數據流緩存到數據緩衝模塊1,同時將數據緩衝模塊2緩存的第2個周期的數據通過輸出數據流選擇單元的選擇送到目的地址,如此循環,直到讀取或存放完所有數據。
如圖3a所示,外設到內存基於桌球操作的DMA數據搬移包括以下步驟a1)第一次DMA搬移時,CPU配置此次DMA搬移的目的地址為301a,源地址為304,並配置好相應的控制參數;然後,DMA通過DMA請求獲得系統總線控制權,啟動DMA搬移;當DMA搬移完指定的數據時,DMA通過撤消DMA請求放棄系統總線控制權,觸發相應的搬移結束中斷。
b1)CPU會在中斷服務程序中,再次配置下一次DMA搬移的目的地址為302a,源地址為304,以及配置好相應的控制參數;然後,DMA再通過DMA請求獲得系統總線控制權,啟動新的DMA搬移。與此同時,CPU會來處理301a的數據,並保證在下一次DMA重新向301a搬移時完成處理工作。
c1)重複步驟a1和步驟b1,直到搬移完所需傳送的所有數據。
如圖3b所示,內存到外設基於桌球操作的DMA數據搬移包括以下步驟a2)第一次DMA搬移時,CPU配置此次DMA搬移的源地址為301b,目的地址為304,並配置好相應的控制參數;然後,DMA通過DMA請求獲得系統總線控制權,啟動DMA搬移;當DMA搬移完指定的數據時,DMA通過撤消DMA請求放棄系統總線控制權,觸發相應的搬移結束中斷。
b2)CPU會在中斷服務程序中,再次配置下一次DMA搬移的源地址為302b,目的地址為304,以及配置好相應的控制參數;然後,DMA再通過DMA請求獲得系統總線控制權,啟動新的DMA搬移。與此同時,CPU會來更新301b的數據,並保證在下一次DMA重新使用301b時,新的待搬移數據已準備好。
c2)重複步驟a2和步驟b2,直到搬移完所需傳送的所有數據。
從上述外設與內存之間的DMA傳輸過程可以看出,每個DMA通道同一時刻只能實現數據的單向傳輸,因此,現有技術方案存在以下缺陷1)需要採用兩個獨立的DMA通道來處理外設的數據收發功能。由於DMA的通道資源有限,這樣就限制了DMA所支持的外設資源。如果通過增大DMA通道數的方式來增加DMA所支持的外設,就會引入較多的電路,增大晶片的面積,從而加大晶片的成本。
2)在內存到外設的DMA傳輸過程中,需要兩塊相同大小的內存RAMSRC0和RAM SRC1,以桌球切換方式更新發送數據;在外設到內存的DMA傳輸過程中,同樣需要兩塊相同大小的內存RAM DST0和RAM DST1,以桌球切換方式處理最新收到的數據,不能實現內存資源的有效利用。

發明內容
有鑑於此,本發明的主要目的在於提供一種直接存儲器存取裝置,能使每個DMA通道支持雙向數據交互,不僅提高了內存資源的利用率,而且大大降低了DMA晶片的成本。
本發明的另一目的在於提供了一種利用單通道實現雙向數據交互的方法,能提高DMA的工作效率以及資源利用率。
為達到上述目的,本發明的技術方案是這樣實現的一種直接存儲器存取DMA裝置,包括總線Slave接口、DMA請求和響應接口、總線Master接口、控制邏輯和寄存器組、通道邏輯和寄存器組、中斷請求邏輯,所述通道邏輯和寄存器組對應一個以上DMA通道,每個DMA通道包括一組控制寄存器和控制邏輯,所述控制寄存器至少包括一個傳輸方向的源地址控制寄存器、目的地址控制寄存器、控制參數控制寄存器和配置參數控制寄存器,所述控制邏輯包括源地址控制邏輯和目的地址控制邏輯,關鍵是,所述控制邏輯還包括通道控制邏輯,用於根據讀入數據量控制第一和第二狀態選擇單元的狀態切換,並控制數據從源地址到DMA通道到目的地址的讀入和讀出;第一和第二數據緩衝區,分別存儲從不同源地址讀入DMA通道的數據,第一狀態選擇單元,根據通道控制邏輯發來的切換控制信號將來自源地址的數據讀入第一或第二數據緩衝區;第二狀態選擇單元,根據通道控制邏輯發來的切換控制信號選擇將第二或第一數據緩衝區的數據發往目的地址。
其中,所述通道控制邏輯包括計數器,對總線Master接口產生的傳輸計數脈衝計數,並將計數結果送至比較器;比較器,比較所收到的計數結果和設定的傳輸數據量,並在二者相等時產生脈衝信號送至計數器和切換控制單元;切換控制單元,收到比較器發來的脈衝信號後產生切換控制信號,同時送至所述第一狀態選擇單元和反相器;反相器,將收到的切換控制信號反相後送至所述第二狀態選擇單元。
上述方案中,所述控制寄存器進一步包括另一傳輸方向的源地址控制寄存器、目的地址控制寄存器、控制參數控制寄存器和配置參數控制寄存器。所述源地址為外設發送數據的地址,所述目的地址為內存接收數據的地址;或者,所述源地址為內存發送數據的地址,所述目的地址為外設接收數據的地址。所述第一和第二數據緩衝區分別為一塊隨機存儲器。所述第一數據緩衝區和第二數據緩衝區的大小不同。
本發明還公開一種單通道雙向數據交互的實現方法,在每個通道的控制邏輯中設置第一和第二數據緩衝區;a.從第一源地址讀入數據到DMA通道的第一數據緩衝區中,同時,從所述DMA通道的第二數據緩衝區中讀出數據到第一目的地址;判斷從第一源地址讀入的數據量是否等於設定的第一傳輸數據量,如果是,則執行步驟b,否則返回步驟a;b.從第二源地址讀入數據到DMA通道的第二數據緩衝區中,同時,從所述DMA通道的第一數據緩衝區中讀出數據到第二目的地址;判斷從第二源地址讀入的數據量是否等於設定的第二傳輸數據量,如果是,則執行步驟c,否則返回步驟b;c.判斷第一源地址和第二源地址的數據是否讀完,如果是,則結束當前處理流程,否則,返回步驟a;其中,所述第一源地址為第二目的地址,第一目的地址為第二源地址。
上述方案中,步驟a中進一步包括判斷從所述DMA通道第二數據緩衝區讀出的數據是否有效,如果有效,則繼續進行判斷;如果無效,則丟棄所讀出的數據。
本發明所提供的直接存儲器存取裝置及單通道雙向數據交互的實現方法,具有以下的優點和特點1)本發明僅對DMA中通道邏輯和寄存器組的每個通道結構進行簡單地改動,增加較少的電路,就可通過桌球方式使DMA的單通道實現外設與內存之間高效的雙向數據交互,從而大大提高了DMA的工作效率。
2)本發明的驅動軟體設計簡單,對於軟體設計者而言,由於增加了幾個存儲另一傳輸方向地址和參數的控制寄存器,因此,只需增加對幾個控制寄存器的配置即可,其它操作均與現有的DMA相同,實現簡單、方便。
3)只需使用兩塊內存空間RAM DST和RAM SRC,分別存放內存接收的數據和待發送的數據,就可以完成以前需要四塊相同大小的內存空間所完成的、雙向的內存和外設間的數據收發功能,節約了一半的內存空間,從而提高了內存資源的利用率。


圖1為現有技術中DMA的組成結構示意圖;圖2為現有DMA中每個通道控制邏輯的組成結構示意圖;圖3a為現有技術中外設到內存DMA傳輸過程的示意圖;圖3b為現有技術中內存到外設DMA傳輸過程的示意圖;圖4為實現桌球操作的原理圖;圖5為本發明DMA中每個通道控制邏輯的組成結構示意圖;圖6為圖5中新通道控制邏輯的組成結構示意圖;圖7為本發明中外設與內存間DMA傳輸的實現過程示意圖。
具體實施例方式
本發的核心思想是對DMA中通道邏輯和寄存器組每個通道的結構進行改進,採用桌球操作結構替換FIFO控制邏輯,通過桌球切換實現對不同流向數據的操作,使得DMA每個獨立的通道都能同時完成外設與內存之間的數據讀出和寫入,形成雙DMA(DDMA,Duplicated DMA)結構。
為了支持DDMA功能的實現,本發明的DMA是針對現有DMA進行了兩點改進首先,對應每個通道增加一組控制寄存器;其次,改變每個DMA通道控制邏輯的實現結構,並相應修改通道控制邏輯的結構。具體來說首先,對於每個通道增加四個控制寄存器,分別存儲另一傳輸方向的源地址、目的地址、控制參數和配置參數,包括DMAxSrcAddrl,用於表示通道x另一傳輸方向的源地址;DMAxDstAddr1,用於表示通道x另一傳輸方向的目的地址;DMAxControl1,用於表示通道x另一傳輸方向的控制參數;DMAxConfig1,用於表示通道x另一傳輸方向的配置參數。其中,x表示控制寄存器所對應的通道號。
其次,將每個DMA通道的控制邏輯設計為圖5所示的實現結構,如圖5所示,本發明中每個通道的控制邏輯包括通道控制邏輯501、狀態選擇單元502和503、數據緩衝區504和505、以及源地址控制邏輯203和目的地址控制邏輯204。其中,源地址控制邏輯203和目的地址控制邏輯204的組成結構和功能與現有DMA中完全一致,因此,通道控制邏輯仍採用控制信號205和206分別對源地址控制邏輯203和目的地址控制邏輯204進行控制,從源地址讀入數據到DMA通道,並將DMA通道的數據發送至目的地址;並且,信號207和208分別表示從源地址讀取的數據和發送到目的地址的數據,均與圖1中的總線Master接口105相連。不同的是,本發明中的源地址包括外設的發送地址和內存的發送地址,也就是說,輸入信號506所來自的發送地址實際上是外設的發送地址或內存的發送地址,相應的,輸出信號507所發往的接收地址實際上也是內存的接收地址或外設的接收地址。圖5中,通道控制邏輯501通過控制信號512和513分別控制狀態選擇單元502和503的狀態切換,狀態選擇單元502和503均包括兩種狀態選擇,且狀態選擇單元502和503所選擇的狀態不同;狀態選擇單元502在第一狀態下通過信號508將數據存入數據緩衝區504,在第二狀態下通過信號510將數據存入數據緩衝區505;狀態選擇單元503在第一狀態下通過信號511從數據緩衝區505讀出數據,在第二狀態下通過信號509從數據緩衝區504讀出數據;狀態選擇單元502和503可採用2選1的選擇電路實現。數據緩衝區504和505用於順序存儲要傳輸的數據,分別通過信號508和510、509和511選擇數據要存入的數據緩衝區以及要讀出數據的數據緩衝區;數據緩衝區504和505可分別採用一塊RAM來實現。
基於圖5所示結構,外設和內存之間進行數據傳輸的過程是這樣假設先發起外設到內存的數據傳輸,則通道控制邏輯501通過控制信號512將控制選擇單元502的狀態設置為第一狀態,表示選擇數據緩衝區504存儲數據,同時將控制選擇單元503的狀態設置為第二狀態,表示選擇讀取數據緩衝區505中的數據,此時源地址為外設地址,通過506進入的是外設發送的數據。那麼,經過源地址控制邏輯的地址翻譯,從外設進入DMA通道的數據存入數據緩衝區504,同時,從數據緩衝區505讀出數據發送至指定的目的地址。當存入的數據到達設定的數據量時,比如預先設定突發傳輸數據量的大小Burst size,則通道控制邏輯501通過控制信號512和513控制狀態選擇單元502和503進行狀態切換,將狀態選擇單元502的狀態切換到第二狀態,狀態選擇單元503的狀態切換到第一狀態,此時源地址是內存地址,通過506進入的是內存發送的數據,那麼,經過源地址控制邏輯的地址翻譯,從內存進入DMA通道的數據存入數據緩衝區505,同時,外設發送的數據從數據緩衝區504讀出發送至內存的指定目的地址。當進入的數據再次到達設定的數據量時,通道控制邏輯501再次通過控制信號512和513控制狀態選擇單元502和503進行狀態切換,同時源地址變換,如此循環操作,直至處理完所有要傳輸的數據。
要說明的是在循環操作過程中,實際上是利用數據緩衝區504存儲外設到內存的數據,數據緩衝區505存儲內存到外設的數據,在每個操作周期中,同時完成一個方向數據的存入和另一個方向數據的讀出,數據緩衝區504和數據緩衝區505的大小可以相同也可以不同,如此就實現了單通道的雙向數據傳輸。當然,在第一個操作周期時,由於數據緩衝區505中還未正式存儲數據,所以數據緩衝區505中的數據是無效的,需要丟棄。另外,並不限定先發起外設到內存的數據傳輸,還是先發起內存到外設的數據傳輸;也不限定每個數據緩衝區所對應的方向,只要一個數據緩衝區為一個方向的數據服務即可。
可以看出,本發明中通道控制邏輯501與現有技術中通道控制邏輯202的功能和結構是不同的,主要是增加了對狀態選擇單元502和503的控制,其它功能基本不變。通道控制邏輯501對狀態選擇單元502和503控制的具體實現如圖6所示,通道控制邏輯501在現有通道控制邏輯202的基礎上增加了計數器601、比較器602、切換控制單元603以及反相器604。圖6中,605為來自總線Master接口105的傳輸計數脈衝,這裡使用發送計數,總線Master接口105每發出一個數,就產生一個計數脈衝605給計數器;然後,計數器601將計數結果606發送給比較器602;607為系統設定的一次突發傳輸的數據大小Burst Size,如果計數結果606的計數值達到了Burst Size,則比較器602產生一個脈衝信號608,該脈衝信號608一方面發送給計數器601,將601清零,另一個方面發送給切換控制單元603,用於實現切換控制;切換控制單元603每收到一個脈衝信號608,就將自身輸出的控制信號512反相一次,以實現第一狀態和第二狀態之間的切換;切換控制單元603所輸出的控制信號512直接用於控制狀態選擇單元502,同時,該控制信號512被送入反相器604,經過反相後產生控制信號513,用於控制狀態選擇單元503。
基於圖5和圖6所示DMA通道控制邏輯的工作原理,如圖7所示,假設每個DMA通道包括兩個方向的數據通路通路A和通路B,通路A表示外設到內存的DMA搬移,通路B表示內存到外設的DMA搬移;通路A的源地址為304,目的地址為存儲空間701,通路B的源地址為存儲空間702,目的地址為304;並設定通路A的Burst Size為Burst_A,通路B的Burst Size為Burst_B,一般Burst_A和Burst_B的大小接近。圖7中,外設304和CPU305與現有技術相同,DMA703為包含圖5和圖6所示通道控制邏輯結構的DMA,除了每個DMA通道的結構發生變化,其它組成部分均與現有技術完全相同,點劃線為控制信號,實線為外設到內存的數據信號,虛線為內存到外設的數據信號。另外,還要設置兩塊存儲空間,分別用作從外設到內存傳輸數據時的第一數據緩衝區和從內存到外設傳輸數據時的第二數據緩衝區。進行DMA傳輸之前,先由CPU配置好外設和DMA所有的配置參數和控制參數,採用本發明DMA實現外設和內存間DMA傳輸的過程是這樣的a3)先發起通路A的DMA搬移,從外設304讀入要傳輸的數據到當前DMA通道的第一數據緩衝區中,並判斷當前讀入的數據量是否等於Burst_A,當讀入的數據量達到一個Burst_A大小時,進行傳輸切換;b3)發起通路B的DMA搬移,從存儲空間702中讀入要傳輸的數據到當前DMA通道的第二數據緩衝區中,同時,從當前DMA通道的第一數據緩衝區中讀出數據到存儲空間701,並判斷當前讀入的數據量是否等於Burst_B,當讀入的數據量達到一個Burst_B大小時,再次進行傳輸切換;c3)從外設304讀入要傳輸的數據到當前DMA通道的第一數據緩衝區中,同時,從當前DMA通道的第二數據緩衝區讀出數據到外設304,並判斷當前讀入的數據量是否等於Burst_A,當讀入的數據量達到一個Burst_A大小時,進行傳輸切換;d3)從存儲空間702中讀入要傳輸的數據到當前DMA通道的第二數據緩衝區,同時,從當前DMA通道的第一數據緩衝區中讀出數據到存儲空間701,並判斷當前讀入的數據量是否等於Burst_B,當讀入的數據量達到一個Burst_B大小時,再次進行傳輸切換;e3)重複執行步驟c3和d3的數據傳輸,直到通路A和通路B的數據搬運結束。
當然,在實際應用中,並不限定先發起通路A的DMA搬移,還是先發起通路B的DMA搬移。
以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。
權利要求
1.一種直接存儲器存取DMA裝置,包括總線Slave接口、DMA請求和響應接口、總線Master接口、控制邏輯和寄存器組、通道邏輯和寄存器組、中斷請求邏輯,所述通道邏輯和寄存器組對應一個以上DMA通道,每個DMA通道包括一組控制寄存器和控制邏輯,所述控制寄存器至少包括一個傳輸方向的源地址控制寄存器、目的地址控制寄存器、控制參數控制寄存器和配置參數控制寄存器,所述控制邏輯包括源地址控制邏輯和目的地址控制邏輯,其特徵在於,所述控制邏輯還包括通道控制邏輯,用於根據讀入數據量控制第一和第二狀態選擇單元的狀態切換,並控制數據從源地址到DMA通道到目的地址的讀入和讀出;第一和第二數據緩衝區,分別存儲從不同源地址讀入DMA通道的數據;第一狀態選擇單元,根據通道控制邏輯發來的切換控制信號將來自源地址的數據讀入第一或第二數據緩衝區;第二狀態選擇單元,根據通道控制邏輯發來的切換控制信號選擇將第二或第一數據緩衝區的數據發往目的地址。
2.根據權利要求1所述的DMA裝置,其特徵在於,所述通道控制邏輯進一步包括計數器,對總線Master接口產生的傳輸計數脈衝計數,並將計數結果送至比較器;比較器,比較所收到的計數結果和設定的傳輸數據量,並在二者相等時產生脈衝信號送至計數器和切換控制單元;切換控制單元,收到比較器發來的脈衝信號後產生切換控制信號,同時送至所述第一狀態選擇單元和反相器;反相器,將收到的切換控制信號反相後送至所述第二狀態選擇單元。
3.根據權利要求1或2所述的DMA裝置,其特徵在於,所述控制寄存器進一步包括另一傳輸方向的源地址控制寄存器、目的地址控制寄存器、控制參數控制寄存器和配置參數控制寄存器。
4.根據權利要求1或2所述的DMA裝置,其特徵在於,所述源地址為外設發送數據的地址,所述目的地址為內存接收數據的地址;或者,所述源地址為內存發送數據的地址,所述目的地址為外設接收數據的地址。
5.根據權利要求1或2所述的DMA裝置,其特徵在於,所述第一和第二數據緩衝區分別為一塊隨機存儲器。
6.根據權利要求1或2所述的DMA裝置,其特徵在於,所述第一數據緩衝區和第二數據緩衝區的大小不同。
7.一種單通道雙向數據交互的實現方法,其特徵在於,在每個通道的控制邏輯中設置第一和第二數據緩衝區;a.從第一源地址讀入數據到DMA通道的第一數據緩衝區中,同時,從所述DMA通道的第二數據緩衝區中讀出數據到第一目的地址;判斷從第一源地址讀入的數據量是否等於設定的第一傳輸數據量,如果是,則執行步驟b,否則返回步驟a;b.從第二源地址讀入數據到DMA通道的第二數據緩衝區中,同時,從所述DMA通道的第一數據緩衝區中讀出數據到第二目的地址;判斷從第二源地址讀入的數據量是否等於設定的第二傳輸數據量,如果是,則執行步驟c,否則返回步驟b;c.判斷第一源地址和第二源地址的數據是否讀完,如果是,則結束當前處理流程,否則,返回步驟a;其中,所述第一源地址為第二目的地址,第一目的地址為第二源地址。
8.根據權利要求7所述的實現方法,其特徵在於,步驟a中進一步包括判斷從所述DMA通道第二數據緩衝區讀出的數據是否有效,如果有效,則繼續進行判斷;如果無效,則丟棄所讀出的數據。
全文摘要
本發明公開了一種直接存儲器存取裝置,包括總線Slave接口、DMA請求和響應接口、總線Master接口、控制邏輯和寄存器組、通道邏輯和寄存器組、中斷請求邏輯,關鍵是,通道邏輯和寄存器組中每個DMA通道的控制邏輯包括通道控制邏輯,用於控制第一和第二狀態選擇單元的狀態切換,並控制數據從源地址到DMA通道到目的地址的讀入和讀出;第一和第二數據緩衝區,存儲不同方向讀入DMA通道的數據;第一和第二狀態選擇單元,將來自源地址的數據讀入第一或第二數據緩衝區,並將第二或第一數據緩衝區的數據發往目的地址。本發明還公開了一種單通道雙向數據交互的實現方法,該裝置和方法能使每個DMA通道支持雙向數據交互,提高資源利用率和DMA工作效率,且降低DMA晶片的成本。
文檔編號G06F13/14GK1825292SQ20051000881
公開日2006年8月30日 申請日期2005年2月23日 優先權日2005年2月23日
發明者馬濤 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀