CN110046115B - 一种基于大数据量高速异步传输的发送终端,接收终端,方法及系统 - Google Patents
一种基于大数据量高速异步传输的发送终端,接收终端,方法及系统 Download PDFInfo
- Publication number
- CN110046115B CN110046115B CN201910266644.8A CN201910266644A CN110046115B CN 110046115 B CN110046115 B CN 110046115B CN 201910266644 A CN201910266644 A CN 201910266644A CN 110046115 B CN110046115 B CN 110046115B
- Authority
- CN
- China
- Prior art keywords
- data
- message
- sending
- dma
- terminal
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种基于大数据量高速异步传输的发送终端,接收终端,方法及系统,发送终端对DMA进行初始化,创建报文传输通道;向接收终端发送DMA数据,并判断是否发送成功;如果接收终端接收到报文,则解析报文数据并向发送终端发送接收成功信号;发送终端将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据;接收终端获取要接收的DMA数据长度;根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理。利用报文灵活可配置的特性,将报文设计为表达传输数据量的载体,结合接收通知和DMA传输,实现RapidIO的大数据量高速异步传输。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种实现大数据量高速异步传输方法,系统,终端及可读存储介质。
背景技术
RapidIO是一种先进的、高性能、低引脚数、基于数据包交换的互连体系架构,是为满足当前和未来高性能系统需求而设计的一种开放式互连技术标准。RapidIO主要应用于服务器及嵌入式系统内部互连,支持芯片到芯片、板到板间的通讯,可作为服务器及嵌入式设备的背板连接。
当前,实现RapidIO大数据量高速传输的标准模式为“DMA+门铃(doorbell)”的组合方式,其中DMA作为数据传输的主要通道,门铃用于实现发送、接收端的异步协同机制,这种组合在VPX刀片服务器雷达信号并行处理等方面应用广泛。
但有一个问题,就是RapidIO门铃从设计之初就只被用作表达“数据来了,请接收数据”的通知功能,但是接收终端并不能通过门铃了解发送终端到底发送了多少数据。所以要保证接收终端能读取接收缓冲区里的所有数据,只能在发送、接收程序中明确要传输的数据量。这样,就造成了一套传输代码只能传输一个固定长度的数据,如果要传输不同长度的数据则需要编写不同的代码。这样容易造成代码编写量和维护量的增加,关键是这种方式不能算是真正的异步传输,不能实现即时通信的数据传输功能。
发明内容
为了克服上述现有技术中的不足,本发明提供一种避免造成传输代码只能传输一个固定长度的数据,在传输不同长度的数据时,不需要编写不同的代码,实现即时通信的数据传输功能。
为此本发明涉及四方面内容,第一方面内容涉及一种基于大数据量高速异步传输的发送终端,发送终端用于对DMA进行初始化,创建报文传输通道;
向接收终端发送DMA数据,并判断是否发送成功;
如果发送成功,将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据。
进一步需要说明的是,发送终端还用于对DMA进行初始化;
创建mport数据结构,并打开mport端口,创建发送缓冲区。
进一步需要说明的是,发送终端还用于对DMA进行初始化,创建发送缓冲区;
对报文进行初始化,创建至少一个报文传输通道;
将缓冲区划分为多个子缓冲区,子缓冲区的数量与报文传输通道数量相匹配;
配置每个报文传输通道对应一个接收终端,使子缓冲区,报文传输通道以及接收终端相对应;
向接收终端发送DMA数据,并判断是否发送成功;
如果发送成功,将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据。
第二方面说明的是一种基于大数据量高速异步传输的接收终端,接收终端用于:对DMA进行初始化,创建报文传输通道;
接收到报文,则解析报文数据,获取要接收的DMA数据长度;
根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理。
进一步需要说明的是,接收终端还用于创建mport数据结构,并创建入境窗口。
进一步需要说明的是,接收终端还用于对DMA进行初始化,创建接收缓冲区;
对报文进行初始化,创建至少一个报文传输通道;
将缓冲区划分为多个子缓冲区,子缓冲区的数量与报文传输通道数量相匹配;
配置每个报文传输通道对应一个发送终端,使子缓冲区,报文传输通道以及发送终端相对应;
每个报文传输通道均建立报文监视进程,实时检测接收报文;
如果某个报文传输通道接收到报文,则解析报文数据,获取要接收的DMA数据长度;
根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理。
第三方面需要说明的是,一种实现大数据量高速异步传输方法,方法包括:
发送终端对DMA进行初始化,创建报文传输通道;
向接收终端发送DMA数据,并判断是否发送成功;
如果接收终端接收到报文,则解析报文数据并向发送终端发送接收成功信号;
发送终端将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据;
接收终端获取要接收的DMA数据长度;
根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理。
进一步需要说明的是,对报文进行初始化,创建至少一个报文传输通道;
每个传输通道的两侧均配置相应的子缓冲区;
接收终端建立报文监视进程,实时检测各个报文传输通道的接收报文;
发送终端向预设数量的报文传输通道发送DMA数据,并判断是否发送成功;
如果接收终端接收到报文,则解析报文数据并向发送终端发送接收成功信号;
发送终端接到接收成功信号后,将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据;
接收终端获取要接收的DMA数据长度;
根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理。
第四方面需要说明的是,一种实现大数据量高速异步传输系统,包括:相互通信连接的发送终端和接收终端。
从以上技术方案可以看出,本发明具有以下优点:
本发明基于RapidIO底层总线协议进行软件编程,将报文和DMA两种RapidIO传输方式进行深度糅合,利用DMA的高速、吞吐量大的特性,实现RapidIO高速数据传输;利用报文高效的特性,将报文设计为RapidIO DMA通信收、发两端异步协同信号,实现接收通知功能;利用报文灵活可配置的特性,将报文设计为表达传输数据量的载体,结合接收通知和DMA传输,实现RapidIO的大数据量高速异步传输。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为实现大数据量高速异步传输系统示意图;
图2为发送终端数据发出示意图;
图3为接收终端数据接收示意图;
图4为实现大数据量高速异步传输方法流程图。
具体实施方式
本发明提供一种实现大数据量高速异步传输系统,如图1和图2所示,包括:相互通信连接的发送终端1和接收终端2。
其中,发送终端1用于对DMA进行初始化,创建报文传输通道;向接收终端发送DMA数据,并判断是否发送成功;如果发送成功,将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据。
发送终端1可以是软件和/或固件由处理电路包括一个或多个处理器执行,如一个或多个数字信号处理器(DSP),通用微处理器,特定应用集成电路(ASICs),现场可编程门阵列(FPGA),或者其它等价物把集成电路或离散逻辑电路。因此,术语“处理器,”由于在用于本文时可以指任何前述结构或任何其它的结构更适于实现的这里所描述的技术。另外,在一些方面,本公开中所描述的功能可以提供在软件模块和硬件模块。
DMA(Direct Memory Access,直接内存存取)是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。
DMA传输将数据从一个地址空间复制到另外一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA传输对于高效能嵌入式系统算法和网络是很重要的。
发送终端1还用于对DMA进行初始化,创建mport数据结构,并打开mport端口,创建发送缓冲区。创建发送缓冲区;对报文进行初始化,创建报文传输通道;向接收终端发送DMA数据,并判断是否发送成功;如果发送成功,将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据。
发送终端1利用DMA的高速、吞吐量大的特性,实现RapidIO DMA高速数据传输,作为大数据量高速通信的主要传输通道。将报文设计为RapidIO DMA通信收、发两端异步协同信号,实现RapidIO DMA接收通知功能。
如果需要基于多个并行传送方式,或者是多通道传送时,发送终端1还用于对DMA进行初始化,创建发送缓冲区;对报文进行初始化,创建至少一个报文传输通道;将缓冲区划分为多个子缓冲区,子缓冲区的数量与报文传输通道数量相匹配;配置每个报文传输通道对应一个接收终端,使子缓冲区,报文传输通道以及接收终端相对应;向接收终端发送DMA数据,并判断是否发送成功;如果发送成功,将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据。这样发送终端1实现了多通道同步同时,或者不同步,非同时向接收终端发送数据。
如图3所示,与发送终端1相匹配的接收终端2用于对DMA进行初始化,创建报文传输通道;接收到报文,则解析报文数据,获取要接收的DMA数据长度;根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理。
接收终端2将报文设计为表达传输数据量的载体,结合接收通知和DMA传输,实现基于RapidIO总线的大数据量高速异步数据传输。
接收终端2可以是软件和/或固件由处理电路包括一个或多个处理器执行,如一个或多个数字信号处理器(DSP),通用微处理器,特定应用集成电路(ASICs),现场可编程门阵列(FPGA),或者其它等价物把集成电路或离散逻辑电路。因此,术语“处理器,”由于在用于本文时可以指任何前述结构或任何其它的结构更适于实现的这里所描述的技术。另外,在一些方面,本公开中所描述的功能可以提供在软件模块和硬件模块。
如果在硬件中实现,本发明涉及一种装置,例如可以作为处理器或者集成电路装置,诸如集成电路芯片或芯片组。可替换地或附加地,如果软件或固件中实现,所述技术可实现至少部分地由计算机可读的数据存储介质,包括指令,当执行时,使处理器执行一个或更多的上述方法。例如,计算机可读的数据存储介质可以存储诸如由处理器执行的指令。
同样为了能够同时同步,或非同时同步传送报文数据,接收终端还用于对DMA进行初始化,创建接收缓冲区;对报文进行初始化,创建至少一个报文传输通道;将缓冲区划分为多个子缓冲区,子缓冲区的数量与报文传输通道数量相匹配;配置每个报文传输通道对应一个发送终端,使子缓冲区,报文传输通道以及发送终端相对应;每个报文传输通道均建立报文监视进程,实时检测接收报文;如果某个报文传输通道接收到报文,则解析报文数据,获取要接收的DMA数据长度;根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理。
基于上述相互通信连接的发送终端和接收终端,本发明提供一种实现大数据量高速异步传输方法,如图4所示,方法包括:
S31,发送终端对DMA进行初始化,创建报文传输通道;
S32,向接收终端发送DMA数据,并判断是否发送成功;
S33,如果接收终端接收到报文,则解析报文数据并向发送终端发送接收成功信号;
S34,发送终端将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据;
S35,接收终端获取要接收的DMA数据长度;
S36,根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理。
本方法,基于RapidIO底层总线协议进行软件编程,将报文和DMA两种RapidIO传输方式进行深度糅合,利用DMA的高速、吞吐量大的特性,实现RapidIO高速数据传输;利用报文高效的特性,将报文设计为RapidIO DMA通信收、发两端异步协同信号,实现接收通知功能。
RapidIO是一种高性能、低引脚数、基于数据包交换的互连体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO主要应用于嵌入式系统内部互连,支持芯片到芯片、板到板间的通讯。
进一步为了说明本发明涉及的方法,发送程序工作流程为:首先进行DMA初始化,主要是创建mport数据结构,并打开mport端口,以及创建发送缓冲区;然后进行报文初始化,主要是创建报文传输通道;最后向接收方发送DMA数据,并判断是否发送成功,如果发送成功,就将报文内容赋值为发送的DMA数据量值(即字节数),并向接收方发送报文数据。这样,一次发送操作结束。
与发送相适配的接收程序工作流程为:首先进行DMA初始化,主要是创建mport数据结构,并创建入境窗口以及创建接收缓冲区;然后进行报文初始化,主要是创建报文传输通道;接着建立报文监视进程,此进程负责实时检测报文端口以判断是否有报文到来;如果接收到报文,则解析报文数据,获取要接收的DMA数据长度;最后根据获取的DMA数据长度,读取接收缓冲区中的数据,然后进行数据处理。这样,一次接收操作结束。
如果要实现多个发送与接收过程,可以重复上述多次来实现。如果实现多报文同步进行,可以基于本发明中的多通道进行。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (2)
1.一种实现大数据量高速异步传输系统,其特征在于,包括:相互通信连接的发送终端和接收终端;
发送终端用于对DMA进行初始化,创建报文传输通道;
向接收终端发送DMA数据,并判断是否发送成功;
如果发送成功,将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据;
发送终端还用于对DMA进行初始化,创建发送缓冲区;
对报文进行初始化,创建至少一个报文传输通道;
将缓冲区划分为多个子缓冲区,子缓冲区的数量与报文传输通道数量相匹配;
配置每个报文传输通道对应一个接收终端,使子缓冲区,报文传输通道以及接收终端相对应;
向接收终端发送DMA数据,并判断是否发送成功;
如果发送成功,将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据;
接收终端用于对DMA进行初始化,创建报文传输通道;
接收到报文,则解析报文数据,获取要接收的DMA数据长度;
根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理;
接收终端还用于对DMA进行初始化,创建接收缓冲区;
对报文进行初始化,创建至少一个报文传输通道;
将缓冲区划分为多个子缓冲区,子缓冲区的数量与报文传输通道数量相匹配;
配置每个报文传输通道对应一个发送终端,使子缓冲区,报文传输通道以及发送终端相对应;
每个报文传输通道均建立报文监视进程,实时检测接收报文;
如果某个报文传输通道接收到报文,则解析报文数据,获取要接收的DMA数据长度;
根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理;
发送终端还用于对DMA进行初始化;
创建mport数据结构,并打开mport端口,创建发送缓冲区;
接收终端还用于创建mport数据结构,并创建入境窗口。
2.一种实现大数据量高速异步传输方法,其特征在于,方法采用如权利要求1所述的实现大数据量高速异步传输系统;
方法包括:
发送终端对DMA进行初始化,创建报文传输通道;
向接收终端发送DMA数据,并判断是否发送成功;
如果接收终端接收到报文,则解析报文数据并向发送终端发送接收成功信号;
发送终端将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据;
接收终端获取要接收的DMA数据长度;
根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理;
方法还包括:
对报文进行初始化,创建至少一个报文传输通道;
每个传输通道的两侧均配置相应的子缓冲区;
接收终端建立报文监视进程,实时检测各个报文传输通道的接收报文;
发送终端向预设数量的报文传输通道发送DMA数据,并判断是否发送成功;
如果接收终端接收到报文,则解析报文数据并向发送终端发送接收成功信号;
发送终端接到接收成功信号后,将报文内容赋值为发送的DMA数据量值,并向接收终端发送报文数据;
接收终端获取要接收的DMA数据长度;
根据获取的DMA数据长度,读取接收缓冲区中的数据,进行数据处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910266644.8A CN110046115B (zh) | 2019-04-03 | 2019-04-03 | 一种基于大数据量高速异步传输的发送终端,接收终端,方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910266644.8A CN110046115B (zh) | 2019-04-03 | 2019-04-03 | 一种基于大数据量高速异步传输的发送终端,接收终端,方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110046115A CN110046115A (zh) | 2019-07-23 |
CN110046115B true CN110046115B (zh) | 2023-09-01 |
Family
ID=67275919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910266644.8A Active CN110046115B (zh) | 2019-04-03 | 2019-04-03 | 一种基于大数据量高速异步传输的发送终端,接收终端,方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110046115B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512373A (zh) * | 2002-12-26 | 2004-07-14 | 华为技术有限公司 | 一种多cpu通信的方法 |
CN101540727A (zh) * | 2009-05-05 | 2009-09-23 | 曙光信息产业(北京)有限公司 | 一种ip报文的硬件分流方法 |
CN104753813A (zh) * | 2013-12-27 | 2015-07-01 | 国家计算机网络与信息安全管理中心 | Dma传送报文的方法 |
-
2019
- 2019-04-03 CN CN201910266644.8A patent/CN110046115B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512373A (zh) * | 2002-12-26 | 2004-07-14 | 华为技术有限公司 | 一种多cpu通信的方法 |
CN101540727A (zh) * | 2009-05-05 | 2009-09-23 | 曙光信息产业(北京)有限公司 | 一种ip报文的硬件分流方法 |
CN104753813A (zh) * | 2013-12-27 | 2015-07-01 | 国家计算机网络与信息安全管理中心 | Dma传送报文的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110046115A (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008151B (zh) | 电子设备、数据传输装置和数据传输方法 | |
CN102073611B (zh) | 一种i2c总线控制系统及方法 | |
KR20160037114A (ko) | 직렬 주변장치 인터페이스 | |
US5079696A (en) | Apparatus for read handshake in high-speed asynchronous bus interface | |
CN112445735A (zh) | 一种联邦学习数据传输方法、计算机设备、系统及存储介质 | |
CN111400212A (zh) | 一种基于远程直接数据存取的传输方法、设备 | |
US20030229738A1 (en) | Controller interface | |
CN110046115B (zh) | 一种基于大数据量高速异步传输的发送终端,接收终端,方法及系统 | |
CN103107862A (zh) | 逻辑器件及其mdio数据发送方法 | |
CN113220607A (zh) | 一种基于fifo的数据处理方法 | |
US7434084B1 (en) | Method and apparatus for eliminating sampling errors on a serial bus | |
US4744024A (en) | Method of operating a bus in a data processing system via a repetitive three stage signal sequence | |
CN116627495A (zh) | 一种信息交互方法、系统、装置、设备及介质 | |
US7209989B2 (en) | Transfer acknowledgement mechanism for an MSL architecture | |
KR20170019268A (ko) | 리턴 회로를 갖는 리모트 입출력 장치 및 그의 내부 버스 통신 방법 | |
CN115001643B (zh) | 一种实现swp全双工通讯的系统及方法 | |
KR100966925B1 (ko) | 패킷 신호 프로세싱 아키텍쳐 | |
CN105718401A (zh) | 一种多路smii信号到一路mii信号的复用方法及系统 | |
US20210303496A1 (en) | Actuation of data transmission lanes between states | |
CN114896185B (zh) | 一种mipi接口数据收发装置及移动终端 | |
CN117675720B (zh) | 消息报文传输方法、装置、电子设备和存储介质 | |
CN114928377B (zh) | 降低usb数据透传带宽的输出传输方法、装置及设备 | |
EP0075625B1 (en) | Conversation bus for a data processing system | |
CN107835012B (zh) | 现场可编程门阵列及其模块间同步信号的传递方法 | |
CN116436489A (zh) | 一种半双工模式下的uart交互系统及其方法 |
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 | ||
CB02 | Change of applicant information |
Address after: 250101 no.2877 Kehang Road, Suncun Town, high tech Zone, Jinan City, Shandong Province Applicant after: Chaoyue Technology Co.,Ltd. Address before: 250101 no.2877 Kehang Road, Suncun Town, high tech Zone, Jinan City, Shandong Province Applicant before: SHANDONG CHAOYUE DATA CONTROL ELECTRONICS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |