CN115712590A - 一种基于ddr缓存的发送端与接收端dma同步搬运数据方法 - Google Patents

一种基于ddr缓存的发送端与接收端dma同步搬运数据方法 Download PDF

Info

Publication number
CN115712590A
CN115712590A CN202211493305.1A CN202211493305A CN115712590A CN 115712590 A CN115712590 A CN 115712590A CN 202211493305 A CN202211493305 A CN 202211493305A CN 115712590 A CN115712590 A CN 115712590A
Authority
CN
China
Prior art keywords
data
packet
data transmission
sending end
transmission controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211493305.1A
Other languages
English (en)
Inventor
杨硕
曾永红
周津
何全
仇旭东
杨阳
王晓璐
赵斌
单诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN202211493305.1A priority Critical patent/CN115712590A/zh
Publication of CN115712590A publication Critical patent/CN115712590A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于DDR缓存的发送端与接收端DMA同步搬运数据方法,属于数据通信领域。本发明发送端连接DDR缓存,DDR缓存连接数据传输控制器,数据传输控制器连接接收端,在发送端加入新数据分组到达统计表和数据传输仲裁器,数据传输仲裁器连接数据传输控制器,当发送端传输分组新数据时在新数据分组到达统计表上标记当前新数据分组号到达状态,发送端控制数据传输仲裁器向数据传输控制器输出顺序分组号是否到达的输出结果;当接收端DMA读取当前分组数据时,数据传输控制器根据分组号是否到达的输出结果对DDR缓存中当前分组数据的新旧进行判断,判断为新数据到达,则数据传输控制器完成当前分组数据传输。本发明使得数据搬运效率大幅提高。

Description

一种基于DDR缓存的发送端与接收端DMA同步搬运数据方法
技术领域
本发明属于数据通信技术领域,具体涉及一种基于DDR缓存的发送端与接收端DMA同步搬运数据方法。
背景技术
基于DDR缓存的发送端通过DMA发送数据至DDR缓存,接收端通过DMA从DDR缓存中接收数据。当一包数据通过分组传输时,分组数据到达DDR缓存时的先后顺序决定了整体数据搬运的效率。
如图1所示,如果分组数据通过发送端通路能够按照组号顺序到达DDR缓存,那么发送端DMA发送分组0新数据至DDR缓存,接收端DMA就可以从DDR缓存读取分组0新数据,以此类推完成所有分组数据搬运。
如图2所示,如果分组数据通过发送端通路时存在传输延迟,不能够按照组号顺序到达DDR缓存,由于接收端DMA只能通过顺序分组从DDR缓存读取分组新数据,所以整体数据搬运就要等发送端所有分组新数据都传输至DDR缓存,接收端DMA才能开始从DDR缓存中搬运数据分组0。这样整体数据搬运效率会非常低。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于DDR缓存的发送端与接收端DMA同步搬运数据方法,以解决现有的基于DDR缓存和DMA的数据传输方法整体数据搬运效率会非常低的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于DDR缓存的发送端与接收端DMA同步搬运数据方法,该方法包括:
发送端连接DDR缓存,DDR缓存连接数据传输控制器,数据传输控制器连接接收端,在发送端加入新数据分组到达统计表和数据传输仲裁器,数据传输仲裁器连接数据传输控制器,
当发送端传输分组新数据时在新数据分组到达统计表上标记当前新数据分组号到达状态,发送端控制数据传输仲裁器向数据传输控制器输出顺序分组号是否到达的输出结果;
当接收端DMA读取当前分组数据时,数据传输控制器根据分组号是否到达的输出结果对DDR缓存中当前分组数据的新旧进行判断,判断为旧数据,则数据传输控制器不发生数据传输,判断为新数据到达,则数据传输控制器完成当前分组数据传输。
(三)有益效果
本发明提出一种基于DDR缓存的发送端与接收端DMA同步搬运数据方法,本发明的基于DDR缓存的发送端与接收端DMA同步搬运数据方法通过在接收端与DDR缓存之间传输通道加入数据传输控制器,在发送端加入新数据分组到达统计表和数据传输仲裁器,使得数据搬运效率大幅提高。
附图说明
图1为分组数据通过发送端通路按照组号顺序到达DDR缓存;
图2为分组数据通过发送端通路按照组号乱序到达DDR缓存;
图3为本发明基于DDR缓存的发送端与接收端DMA同步搬运数据方法;
图4为发送端分组2号新数据到达DDR缓存时具体实施方式;
图5为发送端分组0号新数据到达DDR缓存时具体实施方式;
图6为发送端分组6号新数据到达DDR缓存时具体实施方式;
图7为发送端分组1号新数据到达DDR缓存时具体实施方式;
图8为发送端分组5号新数据到达DDR缓存时具体实施方式。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提出一种基于DDR缓存的发送端与接收端DMA同步搬运数据方法。
发送端连接DDR缓存,DDR缓存连接数据传输控制器,数据传输控制器连接接收端,在发送端加入新数据分组到达统计表和数据传输仲裁器,数据传输仲裁器连接数据传输控制器;
如图3所示,在接收端与DDR缓存之间传输通道加入数据传输控制器。
当发送端传输分组新数据时在新数据分组到达统计表上标记当前新数据分组号到达状态,发送端控制数据传输仲裁器向数据传输控制器输出顺序分组号是否到达的输出结果。由于接收端DMA从DDR缓存中搬运数据从分组0号开始顺序执行,所以发送端也从分组0号开始控制数据传输仲裁器输出选择分组号输出结果。
当接收端DMA读取当前分组数据时,数据传输控制器根据分组号是否到达的输出结果对DDR缓存中当前分组数据的新旧进行判断。判断为旧数据,则数据传输控制器不发生数据传输,判断为新数据到达,则数据传输控制器完成当前分组数据传输。
进一步地,发送端根据DMA写操作的状态获知当前新数据分组号到达状态。
进一步地,发送端与DDR缓存之间,DDR缓存与数据传输控制器之间,数据传输控制器与接收端之间,通过axi总线通信。
进一步地,数据传输仲裁器根据新数据分组到达统计表向数据传输控制器发送分组号是否到达的结果。
实施例1:
步骤一、如图4所示,接收端开启DMA读操作向数据传输控制器发送分组0数据请求,从分组0号开始等待DDR缓存中数据到达后再读取,由于DDR缓存中有旧数据,所以DDR缓存会一直输出读分组0数据有效,发送端也是从分组号0选通统计结果输出通道。当发送端分组2号新数据到达时,发送端在新数据分组到达统计表中标记新数据分组2已到达,由于发送端选通分组号0统计结果输出通道,通过数据传输仲裁器输出分组号0未到达结果至数据传输控制器,数据传输控制器不向DDR缓存发送分组0数据请求同时向接收端发送读分组0新数据无效,接收端继续等待分组0新数据。
步骤二、如图5所示,当发送端分组0号新数据到达时,发送端在新数据分组到达统计表中标记新数据分组0已到达,由于发送端选通分组号0统计结果输出通道,通过数据传输仲裁器输出分组号0已到达结果至数据传输控制器,数据传输控制器向DDR发送分组0数据请求同时向接收端发送读分组0新数据有效,接收端从DDR缓存中读取分组0新数据后,接收端发送分组1数据请求,从分组1号开始等待DDR缓存中数据到达后再读取,DDR缓存会一直输出读分组1数据有效,发送端从分组号1选通统计结果输出通道。以此类推,直至完成所有分组数据传输。
步骤三、如图6所示,当发送端分组6号新数据到达时,发送端在新数据分组到达统计表中标记新数据分组6已到达,由于发送端选通分组号1统计结果输出通道,通过数据传输仲裁器输出分组号1未到达结果至数据传输控制器,数据传输控制器不向DDR发送分组1数据请求同时向接收端发送读分组1新数据无效,接收端继续等待分组1新数据。
步骤四、如图7所示,当发送端分组1号新数据到达时,发送端在新数据分组到达统计表中标记新数据分组1已到达,由于发送端选通分组号1统计结果输出通道,通过数据传输仲裁器输出分组号1已到达结果至数据传输控制器,数据传输控制器向DDR发送分组1数据请求同时向接收端发送读分组1新数据有效,接收端从DDR缓存中读取分组1新数据后,接收端发送分组2数据请求,从分组2号开始等待DDR缓存中数据到达后再读取,DDR缓存会一直输出读分组2数据有效,发送端从分组号2选通统计结果输出通道。
步骤五、如图8所示,当发送端分组5号新数据到达时,发送端在新数据分组到达统计表中标记新数据分组5已到达,由于发送端选通分组号2统计结果输出通道,通过数据传输仲裁器输出分组号2已到达结果至数据传输控制器,数据传输控制器向DDR发送分组2数据请求同时向接收端发送读分组2新数据有效,接收端从DDR缓存中读取分组2新数据后,接收端发送分组3数据请求,从分组3号开始等待DDR缓存中数据到达后再读取,DDR缓存会一直输出读分组3数据有效,发送端从分组号3选通统计结果输出通道。
上述实施步骤以此类推,直至完成所有分组数据传输。
本发明的基于DDR缓存的发送端与接收端DMA同步搬运数据方法通过在接收端与DDR缓存之间传输通道加入数据传输控制器,在发送端加入新数据分组到达统计表和数据传输仲裁器,使得数据搬运效率大幅提高。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

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同步搬运数据方法,其特征在于,发送端根据DMA写操作的状态获知当前新数据分组号到达状态。
8.如权利要求1所述的基于DDR缓存的发送端与接收端DMA同步搬运数据方法,其特征在于,数据传输仲裁器根据新数据分组到达统计表向数据传输控制器发送分组号是否到达的结果。
9.如权利要求1-8任一项所述的基于DDR缓存的发送端与接收端DMA同步搬运数据方法,其特征在于,接收端开启DMA读操作向数据传输控制器发送分组0数据请求,从分组0号开始等待DDR缓存中数据到达后再读取;发送端也是从分组号0选通统计结果输出通道;当发送端分组n号新数据到达时,n不等于0,发送端在新数据分组到达统计表中标记新数据分组n已到达;由于发送端选通分组号0统计结果输出通道,通过数据传输仲裁器输出分组号0未到达结果至数据传输控制器,数据传输控制器不向DDR缓存发送分组0数据请求同时向接收端发送读分组0新数据无效,接收端继续等待分组0新数据。
10.如权利要求9所述的基于DDR缓存的发送端与接收端DMA同步搬运数据方法,其特征在于,当发送端分组0号新数据到达时,发送端在新数据分组到达统计表中标记新数据分组0已到达,由于发送端选通分组号0统计结果输出通道,通过数据传输仲裁器输出分组号0已到达结果至数据传输控制器,数据传输控制器向DDR缓存发送分组0数据请求同时向接收端发送读分组0新数据有效,接收端从DDR缓存中读取分组0新数据后,接收端发送分组1数据请求,从分组1号开始等待DDR缓存中数据到达后再读取,DDR缓存会一直输出读分组1数据有效,发送端从分组号1选通统计结果输出通道,以此类推,直至完成所有分组数据传输。
CN202211493305.1A 2022-11-25 2022-11-25 一种基于ddr缓存的发送端与接收端dma同步搬运数据方法 Pending CN115712590A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211493305.1A CN115712590A (zh) 2022-11-25 2022-11-25 一种基于ddr缓存的发送端与接收端dma同步搬运数据方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211493305.1A CN115712590A (zh) 2022-11-25 2022-11-25 一种基于ddr缓存的发送端与接收端dma同步搬运数据方法

Publications (1)

Publication Number Publication Date
CN115712590A true CN115712590A (zh) 2023-02-24

Family

ID=85234848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211493305.1A Pending CN115712590A (zh) 2022-11-25 2022-11-25 一种基于ddr缓存的发送端与接收端dma同步搬运数据方法

Country Status (1)

Country Link
CN (1) CN115712590A (zh)

Similar Documents

Publication Publication Date Title
CN111131091B (zh) 一种面向片上网络的片间互连方法和***
US4332027A (en) Local area contention network data communication system
US5247626A (en) Fddi controller having flexible buffer management
AU598917B2 (en) Improvements in or relating to data transmission systems and methods of transmitting data
US4488289A (en) Interface facility for a packet switching system
CN104484295B (zh) 并行计算机***中基于接收方滑动窗口的数据传输方法
US6356558B1 (en) Arbitration techniques for a high speed serial bus
CN111030747B (zh) 一种基于FPGA的SpaceFibre节点IP核
CN105515926B (zh) 一种基于fpga的二进制同步通信协议控制器
EP1198105A2 (en) High speed transmission line interface
CN101223759A (zh) 发送装置、接收装置、信息通信方法
US4638477A (en) Packet exchange data transmission system
CN109062847A (zh) 片上***、用于rs485串口通讯的ip核及其控制方法
CN102098113A (zh) 基于aloha和tdma的水声传感器网络mac层协议的实现方法
CN101945031B (zh) 一种高速现场总线从站相互通信的实现方法
CN106571991A (zh) 一种数据传输方法及装置
CN109547157B (zh) 一种支持时间触发以太网的万兆网络控制器及控制方法
CN107332794A (zh) 一种面向时间触发通信的动态锁定时槽方法
JP2778373B2 (ja) 再送機能付きバッファ装置
US6822968B1 (en) Method and apparatus for accounting for delays caused by logic in a network interface by integrating logic into a media access controller
CN100591067C (zh) 一种用逻辑实现sdh和以太网速率适配的方法
CN115712590A (zh) 一种基于ddr缓存的发送端与接收端dma同步搬运数据方法
CN101534259B (zh) 异步通信控制器及其控制方法
CN101415027A (zh) 基于hdlc协议的通讯模块及数据实时转发存储控制方法
CN1917519B (zh) 高级数据链路控制协议串行数据的并行传输方法及其***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination