本發明專利技術涉及一種基于DDR緩存的發送端與接收端DMA同步搬運數據方法,屬于數據通信領域。本發明專利技術發送端連接DDR緩存,DDR緩存連接數據傳輸控制器,數據傳輸控制器連接接收端,在發送端加入新數據分組到達統計表和數據傳輸仲裁器,數據傳輸仲裁器連接數據傳輸控制器,當發送端傳輸分組新數據時在新數據分組到達統計表上標記當前新數據分組號到達狀態,發送端控制數據傳輸仲裁器向數據傳輸控制器輸出順序分組號是否到達的輸出結果;當接收端DMA讀取當前分組數據時,數據傳輸控制器根據分組號是否到達的輸出結果對DDR緩存中當前分組數據的新舊進行判斷,判斷為新數據到達,則數據傳輸控制器完成當前分組數據傳輸。本發明專利技術使得數據搬運效率大幅提高。搬運效率大幅提高。搬運效率大幅提高。
【技術實現步驟摘要】
一種基于DDR緩存的發送端與接收端DMA同步搬運數據方法
[0001]本專利技術屬于數據通信
,具體涉及一種基于DDR緩存的發送端與接收端DMA同步搬運數據方法。
技術介紹
[0002]基于DDR緩存的發送端通過DMA發送數據至DDR緩存,接收端通過DMA從DDR緩存中接收數據。當一包數據通過分組傳輸時,分組數據到達DDR緩存時的先后順序決定了整體數據搬運的效率。
[0003]如圖1所示,如果分組數據通過發送端通路能夠按照組號順序到達DDR緩存,那么發送端DMA發送分組0新數據至DDR緩存,接收端DMA就可以從DDR緩存讀取分組0新數據,以此類推完成所有分組數據搬運。
[0004]如圖2所示,如果分組數據通過發送端通路時存在傳輸延遲,不能夠按照組號順序到達DDR緩存,由于接收端DMA只能通過順序分組從DDR緩存讀取分組新數據,所以整體數據搬運就要等發送端所有分組新數據都傳輸至DDR緩存,接收端DMA才能開始從DDR緩存中搬運數據分組0。這樣整體數據搬運效率會非常低。
技術實現思路
[0005](一)要解決的技術問題
[0006]本專利技術要解決的技術問題是如何提供一種基于DDR緩存的發送端與接收端DMA同步搬運數據方法,以解決現有的基于DDR緩存和DMA的數據傳輸方法整體數據搬運效率會非常低的問題。
[0007](二)技術方案
[0008]為了解決上述技術問題,本專利技術提出一種基于DDR緩存的發送端與接收端DMA同步搬運數據方法,該方法包括:
[0009]發送端連接DDR緩存,DDR緩存連接數據傳輸控制器,數據傳輸控制器連接接收端,在發送端加入新數據分組到達統計表和數據傳輸仲裁器,數據傳輸仲裁器連接數據傳輸控制器,
[0010]當發送端傳輸分組新數據時在新數據分組到達統計表上標記當前新數據分組號到達狀態,發送端控制數據傳輸仲裁器向數據傳輸控制器輸出順序分組號是否到達的輸出結果;
[0011]當接收端DMA讀取當前分組數據時,數據傳輸控制器根據分組號是否到達的輸出結果對DDR緩存中當前分組數據的新舊進行判斷,判斷為舊數據,則數據傳輸控制器不發生數據傳輸,判斷為新數據到達,則數據傳輸控制器完成當前分組數據傳輸。
[0012](三)有益效果
[0013]本專利技術提出一種基于DDR緩存的發送端與接收端DMA同步搬運數據方法,本專利技術的基于DDR緩存的發送端與接收端DMA同步搬運數據方法通過在接收端與DDR緩存之間傳輸通
道加入數據傳輸控制器,在發送端加入新數據分組到達統計表和數據傳輸仲裁器,使得數據搬運效率大幅提高。
附圖說明
[0014]圖1為分組數據通過發送端通路按照組號順序到達DDR緩存;
[0015]圖2為分組數據通過發送端通路按照組號亂序到達DDR緩存;
[0016]圖3為本專利技術基于DDR緩存的發送端與接收端DMA同步搬運數據方法;
[0017]圖4為發送端分組2號新數據到達DDR緩存時具體實施方式;
[0018]圖5為發送端分組0號新數據到達DDR緩存時具體實施方式;
[0019]圖6為發送端分組6號新數據到達DDR緩存時具體實施方式;
[0020]圖7為發送端分組1號新數據到達DDR緩存時具體實施方式;
[0021]圖8為發送端分組5號新數據到達DDR緩存時具體實施方式。
具體實施方式
[0022]為使本專利技術的目的、內容和優點更加清楚,下面結合附圖和實施例,對本專利技術的具體實施方式作進一步詳細描述。
[0023]本專利技術提出一種基于DDR緩存的發送端與接收端DMA同步搬運數據方法。
[0024]發送端連接DDR緩存,DDR緩存連接數據傳輸控制器,數據傳輸控制器連接接收端,在發送端加入新數據分組到達統計表和數據傳輸仲裁器,數據傳輸仲裁器連接數據傳輸控制器;
[0025]如圖3所示,在接收端與DDR緩存之間傳輸通道加入數據傳輸控制器。
[0026]當發送端傳輸分組新數據時在新數據分組到達統計表上標記當前新數據分組號到達狀態,發送端控制數據傳輸仲裁器向數據傳輸控制器輸出順序分組號是否到達的輸出結果。由于接收端DMA從DDR緩存中搬運數據從分組0號開始順序執行,所以發送端也從分組0號開始控制數據傳輸仲裁器輸出選擇分組號輸出結果。
[0027]當接收端DMA讀取當前分組數據時,數據傳輸控制器根據分組號是否到達的輸出結果對DDR緩存中當前分組數據的新舊進行判斷。判斷為舊數據,則數據傳輸控制器不發生數據傳輸,判斷為新數據到達,則數據傳輸控制器完成當前分組數據傳輸。
[0028]進一步地,發送端根據DMA寫操作的狀態獲知當前新數據分組號到達狀態。
[0029]進一步地,發送端與DDR緩存之間,DDR緩存與數據傳輸控制器之間,數據傳輸控制器與接收端之間,通過axi總線通信。
[0030]進一步地,數據傳輸仲裁器根據新數據分組到達統計表向數據傳輸控制器發送分組號是否到達的結果。
[0031]實施例1:
[0032]步驟一、如圖4所示,接收端開啟DMA讀操作向數據傳輸控制器發送分組0數據請求,從分組0號開始等待DDR緩存中數據到達后再讀取,由于DDR緩存中有舊數據,所以DDR緩存會一直輸出讀分組0數據有效,發送端也是從分組號0選通統計結果輸出通道。當發送端分組2號新數據到達時,發送端在新數據分組到達統計表中標記新數據分組2已到達,由于發送端選通分組號0統計結果輸出通道,通過數據傳輸仲裁器輸出分組號0未到達結果至數
據傳輸控制器,數據傳輸控制器不向DDR緩存發送分組0數據請求同時向接收端發送讀分組0新數據無效,接收端繼續等待分組0新數據。
[0033]步驟二、如圖5所示,當發送端分組0號新數據到達時,發送端在新數據分組到達統計表中標記新數據分組0已到達,由于發送端選通分組號0統計結果輸出通道,通過數據傳輸仲裁器輸出分組號0已到達結果至數據傳輸控制器,數據傳輸控制器向DDR發送分組0數據請求同時向接收端發送讀分組0新數據有效,接收端從DDR緩存中讀取分組0新數據后,接收端發送分組1數據請求,從分組1號開始等待DDR緩存中數據到達后再讀取,DDR緩存會一直輸出讀分組1數據有效,發送端從分組號1選通統計結果輸出通道。以此類推,直至完成所有分組數據傳輸。
[0034]步驟三、如圖6所示,當發送端分組6號新數據到達時,發送端在新數據分組到達統計表中標記新數據分組6已到達,由于發送端選通分組號1統計結果輸出通道,通過數據傳輸仲裁器輸出分組號1未到達結果至數據傳輸控制器,數據傳輸控制器不向DDR發送分組1數據請求同時向接收端發送讀分組1新數據無效,接收端繼續等待分組1新數據。
[0035]步驟四、如圖7所示,當發送端分組1號新數據到達時,發送端在新數據分組到達統計表中標記新數據分組1已到達,由于發送端選通分組號1統計結果輸出通道,通過數據傳輸仲裁器輸出分組號1已到達結果至數據傳輸控制器,數據傳本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種基于DDR緩存的發送端與接收端DMA同步搬運數據方法,其特征在于,該方法包括:發送端連接DDR緩存,DDR緩存連接數據傳輸控制器,數據傳輸控制器連接接收端,在發送端加入新數據分組到達統計表和數據傳輸仲裁器,數據傳輸仲裁器連接數據傳輸控制器,當發送端傳輸分組新數據時在新數據分組到達統計表上標記當前新數據分組號到達狀態,發送端控制數據傳輸仲裁器向數據傳輸控制器輸出順序分組號是否到達的輸出結果;當接收端DMA讀取當前分組數據時,數據傳輸控制器根據分組號是否到達的輸出結果對DDR緩存中當前分組數據的新舊進行判斷,判斷為舊數據,則數據傳輸控制器不發生數據傳輸,判斷為新數據到達,則數據傳輸控制器完成當前分組數據傳輸。2.如權利要求1所述的基于DDR緩存的發送端與接收端DMA同步搬運數據方法,其特征在于,發送端通過DMA寫將數據發送到DDR緩存。3.如權利要求1所述的基于DDR緩存的發送端與接收端DMA同步搬運數據方法,其特征在于,接收端通過DMA讀從DDR緩存中搬運數據。4.如權利要求3所述的基于DDR緩存的發送端與接收端DMA同步搬運數據方法,其特征在于,接收端DMA從DDR緩存中搬運數據從分組0號開始順序執行。5.如權利要求4所述的基于DDR緩存的發送端與接收端DMA同步搬運數據方法,其特征在于,發送端從分組0號開始控制數據傳輸仲裁器輸出選擇分組號輸出結果。6.如權利要求1所述的基于DDR緩存的發送端與接收端DMA同步搬運數據方法,其特征在于,發送端與DDR緩存之間,DDR緩存與數據傳輸控制器之間,數據傳輸控制器與接收端之間,通過axi總線通信。7.如權利要求1所述的基于DDR緩存的發送端與接收端DMA同步搬...
【專利技術屬性】
技術研發人員:楊碩,曾永紅,周津,何全,仇旭東,楊陽,王曉璐,趙斌,單誠,
申請(專利權)人:天津津航計算技術研究所,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。