高速输出、输入接口电路及数据传输方法技术

技术编号:14558157 阅读:86 留言:0更新日期:2017-02-05 12:36
本发明专利技术实施例提供一种高速输出、输入接口电路及数据传输方法,该高速输出、输入接口电路均设置在高速输入输出接口中,该高速输出、输入接口电路均应用于快速输入输出传输的协议栈,协议栈包括链路层、逻辑层、传输层以及物理层。高速输出接口电路中的链路层电路将链路层信息封装至数据中,封装模块对数据进一步封装,由高速输出接口将封装完成的报文发送至接收端;高速输入接口电路中的高速输入接口接收发送端发送的报文,解封装模块对该报文进行解封装,链路层电路对该报文进行链路层解封装,得到链路层信息,根据链路层信息进行报文的重组,得到完整的数据包。本实施例减少了数据包接收端和发送端的软件开销,提高处理器的处理效率。

High speed output and input interface circuit and data transmission method

The embodiment of the invention provides a high speed output, the input interface circuit and a data transmission method, the speed of input and output interface circuit are arranged in the high speed input and output interface, the protocol stack of the high-speed output, the input interface circuit are used for fast input and output transmission protocol stack, including the link layer, logic layer, transport layer as well as the physical layer. High speed output interface circuit in the link layer circuit will link layer information to the data package, package module of data further package, by the high speed output interface sends the message to the receiving end of the package is completed; high speed input speed input interface interface circuit in sending and receiving end sends the message to the message unpacking module solution package, link layer circuit link layer solution package to the message, get the information of link layer, according to the information of link layer packet reorganization, get a complete packet. The embodiment of the invention reduces the software overhead of the receiving end and the sending end of the data packet, and improves the processing efficiency of the processor.

【技术实现步骤摘要】

本专利技术实施例涉及通信技术,尤其涉及一种高速输出、输入接口电路及数据传输方法
技术介绍
高速输入输出协议(以下简称RapidIO)是一种高性能、低引脚数、基于数据包交换的互连体系结构,是为了满足现在和未来高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO主要应用于嵌入式系统内部互连,支持芯片到芯片、板到板间的通信,可用于嵌入式设备的备板连接。在现有技术中,通常基于RapidIO的消息传递模式进行数据传输。RapidIO的消息传递模式的报文最大支持4KB(千比特)的传输,如果一个数据包有大流量的数据需要传输,首先处理器,如中央处理单元(CPU)需要调用存储器中存储的软件将数据包按照4KB的粒度进行拆分,得到多个报文,然后将属于同一个数据包的报文的标识(ID)域字段配置为相同的标识值,并将多个报文组成一条链表,配置到消息控制器中。消息控制器根据链表按顺序,通过高速输入输出接口依次发送各所述报文。在接收端,处理器调用存储器中存储的软件,采用链表的接收方式,并根据报文中的标识值进行区分处理,对具有相同标识值的报文采用同一链表进行管理,当接收到数据包所拆分的全部报文后,将拆分后的报文重组为一个数据包。然而,现有技术中的消息传递模式,由于需要通过处理器运行软件对数据包进行拆分和重组,接收端和发送端的软件开销大,导致处理器处理效率低下。
技术实现思路
本专利技术实施例提供一种高速输出、输入接口电路及数据传输方法,不需要通过处理器运行软件对数据包进行拆分和重组,减少了数据包接收端和发送端的软件开销,提高处理器的处理效率。第一方面,本专利技术实施例提供一种高速输出接口电路,所述高速输出接口电路设置在高速输入输出接口中,所述高速输出接口电路应用于快速输入输出传输的协议栈,所述协议栈包括链路层、逻辑层、传输层以及物理层;所述高速输出接口电路包括:链路层电路、封装模块以及高速输出接口,其中,所述封装模块分别与所述链路层电路、所述高速输出接口连接;所述链路层电路,用于获取位于高速输出接口电路之外的处理器配置的待发送数据包,对所述待发送的数据包中的部分数据进行链路层封装,得到包括所述数据以及链路层信息的报文,并将所述报文发送至封装模块,所述链路层信息包括所述数据包对应的报文总数、所述报文在报文序列中的序列号、所述报文对应的数据包的标识;所述封装模块,用于接收所述链路层电路发送的所述报文,对所述报文依次进行逻辑层、传输层以及物理层封装,得到完成封装的报文,并将完成封装的所述报文发送至高速输出接口;所述高速输出接口,用于接收所述封装模块发送的完成封装的所述报文,将完成封装的所述报文发送至接收端。在本实施例中,处理器只需要配置待发送的数据包,链路层电路就可以对该数据包进行拆分,并在拆分的过程中,将链路层信息封装至数据中,以使接收端可根据链路层信息对数据包进行重组,然后由封装模块进一步封装,高速输出接口直接将完成封装的数据发送至接收端,不需要通过处理器运行软件对数据包进行拆分,降低了软件的开销,不会影响通用处理器的处理效率。进一步地,所述高速输出接口电路还包括:软件接口以及链表模块,所述软件接口与所述链表模块连接,所述链表模块与所述链路层电路连接;所述软件接口,用于获取所述处理器配置的描述符,并将所述描述符发送至所述链表模块,所述描述符中包括所述数据包的内存地址以及所述接收端的标识;所述链表模块,用于接收所述软件接口发送的描述符,并将所述描述符添加至任务表中,在所述高速输出接口空闲时,向所述链路层电路发送所述任务表中的描述符;所述链路层电路具体用于,接收所述链表模块发送的所述描述符,根据所述数据包的内存地址,从内存中获取所述处理器配置的待发送数据包,对所述待发送的数据包中的数据进行链路层封装,得到包括所述数据以及链路层信息的报文,并将所述报文以及所述接收端的标识发送至封装模块;所述封装模块还用于,接收所述链路层电路发送的所述接收端的标识,并将所述接收端的标识发送至所述高速输出接口;所述高速输出接口具体用于,接收所述封装模块发送的完成封装的所述报文以及所述接收端的标识,根据所述接收端的标识,将所述完成封装的所述报文发送至接收端。更进一步地,所述描述符中还包括所述数据包的大小,所述链路层电路还用于,根据其它数据包的标识,生成与所述其它数据包的标识不同的数据包的标识;根据所述数据包的大小以及所述数据的大小,获取所述报文总数,根据所述数据在所述数据包中的读取顺序,确定所述报文在报文序列中的序列号;根据所述报文总数、所述报文在报文序列中的序列号以及所述数据包的标识,生成所述链路层信息。本实施例通过软件接口获取处理器根据数据包配置的描述符,链表模块根据高速输出接口的空闲状态,向链路层模块发送未发送至接收端的数据包对应的描述符,链路层模块对数据的链路层封装,使得数据包的发送由高速输出接口的状态决定,使得报文的发送不受标识域的限定,最大限度的利用了可用带宽。封装模块对数据的进一步封装以及高速输出接口将封装完成的报文发送至接收端,不需要通过处理器运行软件对待发送的数据包进行提前拆分,只要在数据包中读取数据,对该数据进行链路层封装之后,即可将该数据发送,降低了软件的开销,不会影响处理器的处理效率。本专利技术实施例还提供一种通信设备,包括如上所述的高速输出接口电路以及处理器、存储器;所述存储器包括驱动软件;所述处理器,用于从所述存储器读取所述驱动软件并在所述驱动软件的驱动下向所述高速输出接口电路提供待发送数据包。第二方面,本专利技术提供一种高速输入接口电路,所述高速输入接口电路设置在高速输入输出接口中,所述高速输入接口电路应用于快速输入输出传输的协议栈,所述协议栈包括链路层、逻辑层、传输层以及物理层;所述高速输入接口电路包括:高速输入接口、解封装模块以及链路层电路,其中,所述解封装模块分别与所述高速输入接口以及所述链路层电路连接;所述高速输入接口,用于接收发送端发送的报文,并将所述报文发送至所述解封装模块;所述解封装模块,用于接收所述高速输入接口发送的报文,对所述报文依次进行物理层、传输层以及逻辑层的解封装,得到包括链路层信息的报文,并将所述包括链路层信息的报文发送至所述链路层电路,所述链路层信息包括报文总数、所述报文在报文序列中的序列号、所述报文对应的数据包的标识;所述链路层电路,用于接收所本文档来自技高网...

【技术保护点】
一种高速输出接口电路,其特征在于,所述高速输出接口电路设置在高速输入输出接口中,所述高速输出接口电路应用于快速输入输出传输的协议栈,所述协议栈包括链路层、逻辑层、传输层以及物理层;所述高速输出接口电路包括:链路层电路、封装模块以及高速输出接口,其中,所述封装模块分别与所述链路层电路、所述高速输出接口连接;所述链路层电路,用于获取位于高速输出接口电路之外的处理器配置的待发送数据包,对所述待发送的数据包中的部分数据进行链路层封装,得到包括所述数据以及链路层信息的报文,并将所述报文发送至封装模块,所述链路层信息包括所述数据包对应的报文总数、所述报文在报文序列中的序列号、所述报文对应的数据包的标识;所述封装模块,用于接收所述链路层电路发送的所述报文,对所述报文依次进行逻辑层、传输层以及物理层封装,得到完成封装的报文,并将完成封装的所述报文发送至高速输出接口;所述高速输出接口,用于接收所述封装模块发送的完成封装的所述报文,将完成封装的所述报文发送至接收端。

【技术特征摘要】
1.一种高速输出接口电路,其特征在于,所述高速输出接口电路设置在
高速输入输出接口中,所述高速输出接口电路应用于快速输入输出传输的协
议栈,所述协议栈包括链路层、逻辑层、传输层以及物理层;所述高速输出
接口电路包括:链路层电路、封装模块以及高速输出接口,其中,所述封装
模块分别与所述链路层电路、所述高速输出接口连接;
所述链路层电路,用于获取位于高速输出接口电路之外的处理器配置的
待发送数据包,对所述待发送的数据包中的部分数据进行链路层封装,得到
包括所述数据以及链路层信息的报文,并将所述报文发送至封装模块,所述
链路层信息包括所述数据包对应的报文总数、所述报文在报文序列中的序列
号、所述报文对应的数据包的标识;
所述封装模块,用于接收所述链路层电路发送的所述报文,对所述报文
依次进行逻辑层、传输层以及物理层封装,得到完成封装的报文,并将完成
封装的所述报文发送至高速输出接口;
所述高速输出接口,用于接收所述封装模块发送的完成封装的所述报文,
将完成封装的所述报文发送至接收端。
2.根据权利要求1所述的高速输出接口电路,其特征在于,所述高速输
出接口电路还包括:软件接口以及链表模块,所述软件接口与所述链表模块
连接,所述链表模块与所述链路层电路连接;
所述软件接口,用于获取所述处理器配置的描述符,并将所述描述符发
送至所述链表模块,所述描述符中包括所述数据包的内存地址以及所述接收
端的标识;
所述链表模块,用于接收所述软件接口发送的描述符,并将所述描述符
添加至任务表中,在所述高速输出接口空闲时,向所述链路层电路发送所述
任务表中的描述符;
所述链路层电路具体用于,接收所述链表模块发送的所述描述符,根据
所述数据包的内存地址,从内存中获取所述处理器配置的待发送数据包,对
所述待发送的数据包中的数据进行链路层封装,得到包括所述数据以及链路
层信息的报文,并将所述报文以及所述接收端的标识发送至封装模块;
所述封装模块还用于,接收所述链路层电路发送的所述接收端的标识,

\t并将所述接收端的标识发送至所述高速输出接口;
所述高速输出接口具体用于,接收所述封装模块发送的完成封装的所述
报文以及所述接收端的标识,根据所述接收端的标识,将所述完成封装的所
述报文发送至接收端。
3.根据权利要求2所述的高速输出接口电路,其特征在于,所述描述符
中还包括所述数据包的大小,所述链路层电路还用于,
根据其它数据包的标识,生成与所述其它数据包的标识不同的数据包的
标识;
根据所述数据包的大小以及所述数据的大小,获取所述报文总数,
根据所述数据在所述数据包中的读取顺序,确定所述报文在报文序列中
的序列号;
根据所述报文总数、所述报文在报文序列中的序列号以及所述数据包的
标识,生成所述链路层信息。
4.根据权利要求2或3所述的高速输出接口电路,其特征在于,所述链
路层电路还用于,
判断所述报文是否为所述数据包的最后一个报文;
若是,向所述链表模块发送描述符删除指示,所述描述符删除指示用于
指示所述链表模块将所述描述符从所述任务表中删除;
若否,继续读取所述数据包中的另一部分数据。
5.一种通信设备,其特征在于,包括如权利要求1至4中任一项所述的
高速输出接口电路以及处理器、存储器;
所述存储器包括驱动软件;
所述处理器,用于从所述存储器读取所述驱动软件并在所述驱动软件的
驱动下向所述高速输出接口电路提供待发送数据包。
6.一种高速输入接口电路,其特征在于,所述高速输入接口电路设置在
高速输入输出接口中,所述高速输入接口电路应用于快速输入输出传输的协
议栈,所述协议栈包括链路层、逻辑层、传输层以及物理层;所述高速输入
接口电路包括:高速输入接口、解封装模块以及链路层电路,其中,所述解
封装模块分别与所述高速输入接口以及所述链路层电路连接;
所述高速输入接口,用于接收发送端发送的报文,并将所述报文发送至

\t所述解封装模块;
所述解封装模块,用于接收所述高速输入接口发送的报文,对所述报文
依次进行物理层、传输层以及逻辑层的解封装,得到包括链路层信息的报文,
并将所述包括链路层信息的报文发送至所述链路层电路,所述链路层信息包
括报文总数、所述报文在报文序列中的序列号、所述报文对应的数据包的标
识;
所述链路层电路,用于接收所述解封装模块发送的所述包括链路层信息
的报文,对所述包括链路层信息的报文进行链路层解封装,得到所述链路层
信息以及所述报文中的数据,根据所述数据包的标识、所述报文总数以及所
述报文在报文序列中的序列号,对所述报文中的数据与其他报文中的数据进
行重组得到所述报文对应的数据包。
7.根据权利要求6所述的高速输入接口电路,其特征在于,所述链路层
电路具体用于,
接收所述解封装模块发送的所述包括链路层信息的报文,对所述包括链
路层信息的报文进行链路层解封装,得到所述链路层信息以及所述数据;
在重组表中确定存在与所述数据包的标识匹配的表项,所述表项中包括
所述数据包的标识、缓存信息以及报文总数,所述缓存信息包括链路层缓存
区的起始位置与大小,以及数据缓存区的起始位置与大小;
根据所述报文在报文序列中的序列号以及所述缓存信息,将所述报文中
的数据存储至所述数据缓存中,将所述数据包对应的首个报文的链路层信息
存储至所述链路层缓存中。
根据所述数据包的标识、报文总数,确定与所述报文对应的数据包是否
重组成功。
8.根据权利要求6或7所述的高速输入接口电路,其特征在于,所述高
速输入接口电路还包括:软件接口以及缓存配置模块;所述缓存配置模块分
别与所述软件接口以及所述链路层电路连接;
所述软件接口,用于获取所述高速输入接口电路之外的处理器配置的所
述缓存信息,将所述缓存信息发送至所述缓存配置模块;
所述缓存配置模块,用于接收所述软件接口发送的所述缓存信息,对所
述...

【专利技术属性】
技术研发人员:向声宁
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1