CN101335667B - 数据传输方法 - Google Patents
数据传输方法 Download PDFInfo
- Publication number
- CN101335667B CN101335667B CN2007101276894A CN200710127689A CN101335667B CN 101335667 B CN101335667 B CN 101335667B CN 2007101276894 A CN2007101276894 A CN 2007101276894A CN 200710127689 A CN200710127689 A CN 200710127689A CN 101335667 B CN101335667 B CN 101335667B
- Authority
- CN
- China
- Prior art keywords
- data
- ethernet
- buffer descriptor
- processor
- rapidio
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的数据传输方法包括:S202,确定数据传输系统中各处理器的拓扑结构,初始化各处理器的以太网接口和/或RapidIO接口的端口信息、各个处理器的地址以及各个处理器的发送缓冲区描述符和接收缓冲区描述符。S204,数据发送端的处理器在以太网数据单元中定义新的数据头,初始化以太网的帧结构和以太网发送数据缓冲区描述符并开始发送数据。S206,数据传输系统中的转发处理器接收来自数据发送端的数据,对处于数据接收完毕状态的以太网接收缓冲区描述符进行处理得到数据接收端的目的处理器的RapidIO接口的地址,开始发送数据并同时回收以太网接收缓冲区描述符。S208,数据接收端的处理器解析处于接收完成的RapidIO接收缓冲区描述符信息并回收RapidIO接口的接收缓冲区描述符。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据传输方法。
背景技术
在目前的通讯系统中,一般采取多个处理器对数据进行处理,因此有大量的数据需要在系统中传输。以太网协议和RapidIO协议是两种高速的数据传输协议,而利用处理器芯片集成的以太网口和RapidIO端口来进行板内或者板级芯片间高速数据的传输方案已经越来越得到广泛的应用。
对于多处理器间进行数据传输时,可能由于物理连接的限制或者其他原因必须需要中间有某一处理器担当数据转发的功能才能实现其他处理器之间数据的传输。这样一来如何尽可能的减少中间处理器处理转发数据带来的开销以及减少数据转发的延时,成为衡量一个多处理器系统架构好坏的重要指标。
在多个处理器间实现以太网数据包到RapidIO数据包的传输转换过程中,可能会存在多次的组包和拆包过程,用到多次数据的拷贝,这样加重了中间转发处理器的处理负担,同时也增加了数据传输的延时。
发明内容
针对以上一个或多个问题,本发明提供了一种数据传输方法,达到了减少转发处理器处理负荷的效果,节省了数据传输的时延。
本发明的数据传输方法包括以下步骤:
步骤S202,确定数据传输系统中各处理器的拓扑结构,初始化各处理器的以太网接口和/或RapidIO接口的端口信息、各个处理器的地址以及各个处理器的发送缓冲区描述符和接收缓冲区描述符。
步骤S204,数据发送端的处理器在以太网数据单元中定义新的数据头,初始化以太网的帧结构和以太网发送数据缓冲区描述符并开始发送数据。
步骤S206,数据传输系统中的转发处理器接收来自数据发送端的数据,对处于数据接收完毕状态的以太网接收缓冲区描述符进行处理得到数据接收端的目的处理器的RapidIO接口的地址,开始发送数据并同时回收以太网接收缓冲区描述符。
步骤S208,数据接收端的处理器解析处于接收完成的RapidIO接收缓冲区描述符信息并回收RapidIO接口的接收缓冲区描述符。
本发明的数据发送端、数据接收端、以及转发处理器均可以包括至少一个处理器。在转发处理器或在数据接收端的处理器剥离以太网帧头信息。
以太网发送缓冲区描述符为以下状态之一:空闲状态,表示以太网数据包不会发送;正在发送状态,表示以太网数据包正在发送;以及已经发送完成状态,表示以太网数据包已经传输完成。以太网接收缓冲区描述符为以下状态之一:准备接收数据状态和数据接收完毕状态。
步骤S204包括:步骤S702,数据发送端的处理器查询是否有处于发送完成状态的以太网发送缓冲区描述符,在有的情况下,回收以太网发送缓冲区描述符到以太网发送缓冲区描述符链表尾部;步骤S704,在没有的情况下,查询是否有以太网数据需要传送至数据接收端;在有的情况下,查询是否有空闲的以太网发送缓冲区描述符可用;步骤S706,在有空闲的以太网发送缓冲区描述符的情况下,填写以太网消息头,初始化以太网发送缓冲区描述符;以及步骤S708,判断是否有处于正在发送状态的以太网发送缓冲区描述符,如果没有,则重新开始发送数据,如果有,则将初始化的以太网发送缓冲区描述符链接到正在发送的以太网缓冲区描述符的链尾。
步骤S206包括:步骤S802,转发处理器查询是否有处于发送完成状态的RapidIO发送缓冲区描述符,在有的情况下,回收RapidIO发送缓冲区描述符到空闲状态;步骤S804,查询是否有处于接收完成状态的以太网接收缓冲区描述符,如果没有则结束操作,如果有则查询是否有处于空闲状态的RapidIO发送缓冲区描述符;步骤S806,如果没有空闲状态的RapidIO发送缓冲区描述符,则结束操作,如果有空闲状态的RapidIO发送缓冲区描述符,则解析并剥离以太网消息头,初始化RapidIO发送缓冲区描述符;以及步骤S808,查询是否有处于正在发送状态的RapidIO发送缓冲区描述符,如果没有,则重新开始发发送数据,如果有,则将初始化的RapidIO发送缓冲区描述符链接到正在发送状态的RapidIO发送缓冲区描述符的链尾,同时回收已经解析的处于接收完成状态的以太网接收缓冲区描述符。
步骤S208包括:步骤S902,数据接收端查询是否有处于接收完成状态的以太网接收缓冲区描述符;步骤S904,在有的情况下,解析以太网接收缓冲区描述符,完成数据的接收,并回收已经解析的处于接收完成状态的RapidIO接收缓冲区描述符。
本发明的数据传输方法可以用于WCDMA系统。
采用本发明的多处理器之间经以太网端口到RapidIO端口数据传输的方法,达到了减少转发处理器处理负荷的效果,节省了数据传输的时延。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明的多处理器数据传输的整体框图;
图2是根据本发明的数据传输方法的流程图;
图3是根据本发明的数据发送端的以太网初始化流程图;
图4是根据本发明的处理器B的以太网初始化流程图;
图5是根据本发明的处理器B的RapidIO初始化流程图;
图6是根据本发明的数据接收端的RapidIO初始化流程图;
图7是根据本发明的数据发送端的以太网发送流程图;
图8是根据本发明的转发处理器B的数据转发流程图;以及
图9是根据本发明的数据接收端的RapidIO接收流程图。
具体实施方式
下面参考附图,详细说明本发明的具体实施方式。
针对现有以太网包和RapidIO包包格式不同而在数据转发处理中存在的组包、拆包和数据拷贝较多的缺陷和不足,本发明提供一种以太网数据包到RapidIO数据包转换的接口、并按照该接口在发送端和接收端组包和拆包,转发处理器只需要较少的解析数据包的内容就能实现数据的快速转发,从而减少转发处理器的负荷以及数据转发的延时。
图1是根据本发明的多处理器数据传输的整体框图。本发明涉及多个处理器相互协作完成数据的传输功能。本发明的多处理器至少包括三个处理器,如图1所示,实现发送端到接收端的数据传输。数据发送端为处理器组A、转发处理器为处理器B、数据接收端为处理器组C,其中处理器组A可以是一个处理器,也可以是一组处理器,处理器组C可以是一个处理器,也可以是一组处理器。发送端和处理器B之间通过以太网连接,处理器B和接收端之间通过RapidIO接口连接。
本发明的多处理器之间经以太网端口到RapidIO端口数据传输的实现方法包括以下步骤:
S202,初始化各处理器的以太网接口或(和)RapidIO接口的端口信息,确定多处理器系统中处理器的拓扑结构、发送端处理器的以太网的MAC地址、中间转发处理器的以太网的MAC地址和RapidIO的DeviceID、接收端处理器的RapidIO的DeviceID,初始化发送端的以太网发送缓冲区描述符、转发处理器的以太网接收缓冲区描述符链表和RapidIO发送缓冲区描述符、接收端RapidIO接收缓冲区描述符;
S204,在以太网数据单元中定义新的数据头,数据发送端初始化以太网的帧结构,初始化以太网发送数据缓冲区描述符开始数据的发送;
S206,转发处理器查询以太网接收缓冲区描述符链表,对处于数据接收完毕状态的以太网接收缓冲区描述符进行处理,解析该接收缓冲区描述符中数据指针指向的缓冲区信息,得到目的处理器的RapidIO端口的DeviceID地址,去掉以太网帧头信息,并初始化RapidIO的发送缓冲区描述符信息,开始数据的转发,同时回收以太网接收缓冲区描述符到以太网的准备接收缓冲区描述链表尾;
S208,数据接收端解析处于接收完成的RapidIO接收缓冲区描述符信息,实现数据的接收,并回收RapidIO的接收缓冲区描述符到RapidIO的准备接收缓冲区描述符链尾。
其中,处理器包含微处理器、数字信号处理器(DSP)、通信和网络处理器以及嵌入式处理器等。转发处理器是指担当数据传输过程中中转功能的处理器。通过以太网数据单元中新定义的数据头可以得到数据目的处理器的信息。以太网帧头的剥离可以在转发处理器中处理,也可以在接收处理器中处理。
以太网发送缓冲区描述符是指用来发送以太网数据包的描述符,转发处理器根据该描述的信息,将数据发送出去。这些描述符有四种状态,第一种状态为空闲状态、即该描述符描述的以太网包不会发送;第二种状态为正在发送状态、即该缓冲区描述符描述的以太网包正在发送,第三种状态为已经发送完成状态、即该缓冲区描述符描述的以太网数据包已经传输完成了。
以太网接收缓冲区描述符是指用来接收以太网数据包的描述符,接收端根据这些描述符的信息来接收以太网数据包。这些描述符有两种状态,第一种状态为准备接收数据状态,第二种状态为数据接收完毕状态。
RapidIO接收缓冲区描述符是指用来接收RapidIO数据包的描述符,接收端根据这些描述符的信息来接收RapidIO数据包。这些描述符有两种状态,第一种状态为准备接收数据状态,第二种状态为数据接收完毕状态。
下面以WCDMA NodeB系统中采用多处理器系统中的数据传输为例详细描述本发明。
结合附图3、图4、图5、图6、图7、图8、图9,包括以下一些步骤:
如图3至图6所示,处理器的初始化过程包括:初始化各个处理器的以太网端口或(和)RapidIO端口,然后初始化各个处理器的以太网发送缓冲区描述符、以太网接收缓冲区描述符、RapidIO发送缓冲区描述符以及RapidIO接收缓冲区描述符。
如图7所示,发送端的发送流程包括:
S702,发送端查询是否有处于发送完成状态的以太网发送缓冲区描述符,有则回收发送缓冲区描述符到空闲状态的以太网发送缓冲区描述符链表尾部,进入步骤S704,没有直接进入步骤S704;
S704,查询是否有以太网数据需要传输到接收端中,有则继续查询是否有空闲的以太网发送缓冲区描述符可用,有则进入步骤S706,否则结束本次查询;
S706,填写以太网消息头,初始化以太网发送缓冲区描述符,进入步骤S708;
S708,判断是否有处于正在发送状态的以太网发送缓存区描述符,如果没有则重新开始一次新的发送,并进入步骤S704,否则将初始化的以太网发送缓冲区描述符链接到正在发送的以太网缓冲区描述符的链尾,进入步骤S704;结束本次查询。
如图8所示,转发处理器B的转发流程包括:
S802,处理器B查询是否有处于发送完成状态的RapidIO发送缓冲区描述符,有则回收RapidIO发送缓冲区描述符到空闲状态,进入步骤S804,没有直接进入步骤S804;
S804,查询是否有处于接收完成状态的以太网接收缓冲区描述符,有则继续查询是否有处于空闲状态的RapidIO发送缓冲区描述符,有则进入步骤S806,否则结束本次查询;
S806,解析以太网消息头,剥离以太网消息头,初始化RapidIO发送缓冲区描述符,进入步骤S808;
S808,查询是否有处于正在发送状态的RapidIO发送缓冲区描述符,如果没有则重新开始一次新的发送,否则将步骤S810初始化好的RapidIO发送缓冲区描述符链接到正在发送状态的RapidIO发送缓冲区描述符的链尾,回收已经解析的处于接收完成状态的以太网接收缓冲区描述符,进入步骤S804。结束本次查询。
如图9所示,数据接收端的接收流程包括:
S902,接收端查询是否有处于接收完成状态的RapidIO接收缓冲区描述符;如果有则进入步骤S904,否则结束本次查询;
S904,解析该接收缓冲区描述符,完成数据的接收,回收已经解析的处于接收完成状态的RapidIO接收缓冲区描述符,进入步骤S902;结束本次查询。
以太网包的Data域定义如下:
本发明已成功运用于WCDMA系统中。本发明在WCDMA多种类型NodeB系统中稳定可靠,并具有良好的移植性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数据传输方法,其特征在于,包括以下步骤:
步骤S202,确定数据传输系统中各处理器的拓扑结构,初始化所述各处理器的以太网接口和/或RapidIO接口的端口信息、各个处理器的地址以及各个处理器的发送缓冲区描述符和接收缓冲区描述符;
步骤S204,数据发送端的处理器在以太网数据单元中定义新的数据头,初始化以太网的帧结构和以太网发送数据缓冲区描述符并开始发送数据;
步骤S206,所述数据传输系统中的转发处理器接收来自所述数据发送端的数据,对处于数据接收完毕状态的以太网接收缓冲区描述符进行处理得到数据接收端的目的处理器的RapidIO接口的地址,开始转发数据并同时回收所述以太网接收缓冲区描述符;以及
步骤S208,所述数据接收端的处理器解析处于接收完成状态的RapidIO接收缓冲区描述符信息,实现数据的接收,并回收所述RapidIO接口的接收缓冲区描述符。
2.根据权利要求1所述的数据传输方法,其特征在于,所述数据发送端、所述数据接收端、以及所述转发处理器均包括至少一个处理器。
3.根据权利要求1或2所述的数据传输方法,其特征在于,在所述转发处理器或在所述数据接收端的处理器剥离以太网帧头信息。
4.根据权利要求3所述的数据传输方法,其特征在于,所述以太网发送缓冲区描述符为以下状态之一:
空闲状态,表示以太网数据包不会发送;
正在发送状态,表示以太网数据包正在发送;以及
已经发送完成状态,表示以太网数据包已经传输完成。
5.根据权利要求4所述的数据传输方法,其特征在于,所述以太网接收缓冲区描述符为以下状态之一:准备接收数据状态和数据接收完毕状态。
6.根据权利要求5所述的数据传输方法,其特征在于,所述步骤S204包括:
步骤S702,数据发送端的处理器查询是否有处于已经发送完成状态的以太网发送缓冲区描述符,在有的情况下,回收所述以太网发送缓冲区描述符到以太网发送缓冲区描述符链表尾部,进入步骤S704,没有直接进入步骤S704;
步骤S704,查询是否有以太网数据需要传送至所述数据接收端;在有的情况下,查询是否有空闲的以太网发送缓冲区描述符可用;
步骤S706,在有空闲的以太网发送缓冲区描述符的情况下,填写以太网消息头,初始化所述以太网发送缓冲区描述符;以及
步骤S708,判断是否有处于正在发送状态的以太网发送缓冲区描述符,如果没有,则重新开始发送数据,如果有,则将初始化的以太网发送缓冲区描述符链接到正在发送的以太网缓冲区描述符的链尾。
7.根据权利要求6所述的数据传输方法,其特征在于,所述步骤S206包括:
步骤S802,所述转发处理器查询是否有处于发送完成状态的RapidIO发送缓冲区描述符,在有的情况下,回收所述RapidIO发送缓冲区描述符到空闲状态;
步骤S804,查询是否有处于数据接收完毕状态的以太网接收缓冲区描述符,如果没有则结束操作,如果有则查询是否有处于空闲状态的RapidIO发送缓冲区描述符;
步骤S806,如果没有空闲状态的RapidIO发送缓冲区描述符,则结束操作,如果有空闲状态的RapidIO发送缓冲区描述符,则解析并剥离以太网消息头,初始化所述RapidIO发送缓冲区描述符;以及
步骤S808,查询是否有处于正在发送状态的RapidIO发送缓冲区描述符,如果没有,则重新开始发送数据,如果有,则将初始化的RapidIO发送缓冲区描述符链接到正在发送状态的RapidIO发送缓冲区描述符的链尾,同时回收已经解析的处于数据接收完毕状态的以太网接收缓冲区描述符。
8.根据权利要求7所述的数据传输方法,其特征在于,所述步骤S208包括:
步骤S902,所述数据接收端查询是否有处于接收完成状态的RapidIO接收缓冲区描述符;
步骤S904,在有的情况下,解析所述RapidIO接收缓冲区描述符,完成数据的接收,并回收已经解析的处于接收完成状态的RapidIO接收缓冲区描述符。
9.根据权利要求8所述的数据传输方法,其特征在于,所述数据传输方法用于WCDMA系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101276894A CN101335667B (zh) | 2007-06-26 | 2007-06-26 | 数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101276894A CN101335667B (zh) | 2007-06-26 | 2007-06-26 | 数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101335667A CN101335667A (zh) | 2008-12-31 |
CN101335667B true CN101335667B (zh) | 2010-12-29 |
Family
ID=40197999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101276894A Expired - Fee Related CN101335667B (zh) | 2007-06-26 | 2007-06-26 | 数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101335667B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515841B (zh) * | 2009-04-03 | 2011-10-05 | 华为技术有限公司 | 一种基于RapidIO协议的数据包传输的方法、设备和系统 |
US8626963B2 (en) * | 2010-05-04 | 2014-01-07 | Mediatek Inc. | Packet based data transfer system and method for host-slave interface |
CN105791214B (zh) * | 2014-12-18 | 2019-12-13 | 中兴通讯股份有限公司 | 一种RapidIO报文和以太网报文之间的转换方法和设备 |
CN105992186B (zh) * | 2015-02-06 | 2020-11-03 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN106921705A (zh) * | 2015-12-28 | 2017-07-04 | 南车株洲电力机车研究所有限公司 | 一种以太网终端设备 |
CN106789734B (zh) * | 2016-12-21 | 2020-03-13 | 中国电子科技集团公司第三十二研究所 | 在交换控制电路中巨帧的控制系统及方法 |
CN107426103B (zh) * | 2017-09-13 | 2020-07-31 | 北京翼辉信息技术有限公司 | RapidIO网络与以太网之间的数据传输方法 |
CN112235268B (zh) * | 2020-09-29 | 2023-01-24 | 北京智芯微电子科技有限公司 | 安全通信方法、系统及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1376375A2 (en) * | 2002-06-28 | 2004-01-02 | Motorola, Inc. | Computer system and method of communicating |
CN1547358A (zh) * | 2003-12-02 | 2004-11-17 | 烽火通信科技股份有限公司 | 一种用于以太网无源光网络的数据帧缓存设备和方法 |
CN1816042A (zh) * | 2005-01-31 | 2006-08-09 | 华为技术有限公司 | 一种处理器间数据传输方法 |
-
2007
- 2007-06-26 CN CN2007101276894A patent/CN101335667B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1376375A2 (en) * | 2002-06-28 | 2004-01-02 | Motorola, Inc. | Computer system and method of communicating |
CN1547358A (zh) * | 2003-12-02 | 2004-11-17 | 烽火通信科技股份有限公司 | 一种用于以太网无源光网络的数据帧缓存设备和方法 |
CN1816042A (zh) * | 2005-01-31 | 2006-08-09 | 华为技术有限公司 | 一种处理器间数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101335667A (zh) | 2008-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101335667B (zh) | 数据传输方法 | |
US5515513A (en) | Disposition filtering of messages using a single address and protocol table bridge | |
CN110299999B (zh) | 一种基于Linux平台的列车实时以太网TRDP网卡 | |
US20200007383A1 (en) | Transparent failover in a network interface controller | |
EP2003823A1 (en) | Autonegotiation over an interface for which no autonegotiation standard exists | |
WO2006103169A1 (en) | Host ethernet adapter for networking offload in server environment | |
EP0952705A2 (en) | Media access controller capable of connecting to a serial physical layer device and a media independent interface (MII) physical layer device | |
KR102275144B1 (ko) | 차량 도메인 제어기 및 그것의 can 프레임-이더넷 패킷 변환 방법 | |
US20040062244A1 (en) | Handling and discarding packets in a switching subnetwork | |
CN108521343A (zh) | 一种oam报文的处理方法及装置 | |
CN101110779B (zh) | 一种经快速输入输出端口到以太网端口数据传输的方法 | |
CN108111494A (zh) | 一种1553B总线与FlexRay总线的协议转换装置 | |
CN112367279A (zh) | 一种基于二维mesh结构多核芯片组的路由方法及系统 | |
US20030229738A1 (en) | Controller interface | |
CN108156137A (zh) | 一种1553B总线与FlexRay总线的协议转换方法 | |
RU2510142C2 (ru) | Способ и система для передачи сообщения между дополнительным процессором и переключающей схемой | |
CN115550104B (zh) | Axi总线扩展方法、装置、电子设备及存储介质 | |
CN111984574A (zh) | 一种基于通用串行收发接口背板总线交换系统 | |
CN114422614B (zh) | 控制多链路设备发送数据的方法、装置、设备及存储介质 | |
KR101794200B1 (ko) | 리눅스 기반 패킷 프로세서를 이용하는 분산 패킷 전송 네트워크의 프로토콜 패킷 송수신 방법 | |
CN100373374C (zh) | 基于多处理机的虚拟网卡系统及其通信方法 | |
CN113132270A (zh) | 基于虚拟交换机的多协议兼容的数据交互方法及装置 | |
KR20120012354A (ko) | 부하 절감형 toe 네트워크 장치 | |
CN116996592B (zh) | 网卡、数据发送处理方法和数据接收处理方法 | |
CN114598639B (zh) | 一种报文处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101229 Termination date: 20160626 |