一种基于PCIe总线的主从交互式通信平台及方法

阅读: 评论:0

著录项
  • CN201611066797.0
  • 20161128
  • CN107066407A
  • 20170818
  • 天津光电通信技术有限公司
  • 刘佳;钱瑞杰;李洋;张晓峰;袁雷;李斌
  • G06F13/28
  • G06F13/28 G06F13/24 G06F13/42

  • 天津市滨海新区塘沽金江路335号
  • 天津(12)
  • 北京国昊天诚知识产权代理有限公司
  • 刘昕
摘要
本发明涉及通信技术领域,提供一种基于PCIe总线的主从交互式通信平台及方法,平台包括均配有PCIe2.0X4接口的主机和开发板;从主机和开发板中配置主设备和从设备;主机用于对交互通信数据量的配置以及主从设备进行设置,主机与开发板之间的交互通信采用查询模式或中断模式;主机上申请的内存包括数据缓存和描述符表缓存,数据缓存以链式DMA方式申请,描述符表缓存以连续DMA方式申请,数据缓存是由物理地址不连续的内存页组成,不连续的若干个内存页信息构成描述符表,描述符表包含有用于更新通信结束信息的EPLAST信息的表头项,实现了基于PCIe总线的主从交互通信,提高了总线效率,实现带宽性能的最大化。
权利要求

1.一种基于PCIe总线的主从交互式通信平台,其特征在于,所述基于PCIe总线的主从 交互式通信平台包括均配有PCIe2.0X4接口的主机和开发板;

当所述主机作为主设备时,所述开发板作为从设备;当所述主机作为从设备时,所述开 发板作为主设备;

所述主机用于对交互通信数据量的配置以及主从设备进行设置,所述主机与所述开发 板之间的交互通信采用查询模式或中断模式;

所述主机上申请的内存包括数据缓存和描述符表缓存,所述数据缓存以链式DMA方式 申请,所述描述符表缓存以连续DMA方式申请,所述数据缓存是由物理地址不连续的内存页 组成,不连续的若干个所述内存页信息构成描述符表,所述描述符表包含有用于更新通信 结束信息的EPLAST信息的表头项。

2.根据权利要求1所述的基于PCIe总线的主从交互式通信平台,其特征在于,当所述数 据缓存中内存页的空间小于一个TLP包大小时,所述内存页为不可用状态,并将TLP包写入 下一个数据缓存的内存页中。

3.根据权利要求2所述的基于PCIe总线的主从交互式通信平台,其特征在于,当所述 TLP包出现跨越4K边界时,调整所述表头项存储的地址信息,使表头项位于上一内存页的最 后4个32Bit空间,第一个表项位于下一内存页的首个4个32Bit空间。

4.根据权利要求3所述的基于PCIe总线的主从交互式通信平台,其特征在于,所述主机 与所述开发板的交互通信数据量为128M。

5.一种基于权利要求1所述的基于PCIe总线的主从交互式通信平台的基于PCIe总线的 主从交互式通信方法,其特征在于,所述方法包括下述步骤:

在主机端,配置主机为主设备,开发板为从设备,并指定所述主机与所述开发板的交互 通信数据量;

通过链式DMA方式申请数据缓存,并将待发数据写入所述数据缓存;

通过连续DMA方式申请描述符表缓存,并将所述数据缓存的内存页信息形成描述符表, 写入所述描述符表缓存;

配置所述主机与所述开发板的通信模式,所述通信模式包括中断模式和查询模式;

配置写寄存器,启动DMA传输;

根据所述通信模式以及所述表头项的EPLAST信息,判定所述主机与所述开发板之间的 通信结束。

6.根据权利要求5所述的基于PCIe总线的主从交互式通信方法,其特征在于,所述方法 还包括下述步骤:

当所述数据缓存中内存页的空间小于一个TLP包大小时,所述内存页为不可用状态,并 将TLP包写入下一个数据缓存的内存页中。

7.根据权利要求5所述的基于PCIe总线的主从交互式通信方法,其特征在于,所述方法 还包括下述步骤:

当所述TLP包出现跨越4K边界时,调整所述表头项存储的地址信息,使表头项位于上一 内存页的最后4个32Bit空间,第一个表项位于下一内存页的首个4个32Bit空间。

8.一种基于权利要求1所述的基于PCIe总线的主从交互式通信平台的基于PCIe总线的 主从交互式通信方法,其特征在于,所述方法包括下述步骤:

在主机端,配置开发板为主设备,主机为从设备,并指定所述主机与所述开发板的交互 通信数据量;

通过链式DMA方式申请数据缓存;

通过连续DMA方式申请描述符表缓存,并将所述数据缓存的内存页信息形成描述符表, 写入所述描述符表缓存;

配置所述主机与所述开发板的通信模式,所述通信模式包括中断模式和查询模式;

配置读寄存器,启动DMA传输;

根据所述通信模式以及所述表头项的EPLAST信息,判定所述主机与所述开发板之间的 通信结束;

所述主机将数据缓存中的数据读出,对所述数据进行校验处理。

9.根据权利要求8所述的基于PCIe总线的主从交互式通信方法,其特征在于,所述方法 还包括下述步骤:

当所述数据缓存中内存页的空间小于一个TLP包大小时,所述内存页为不可用状态,并 将TLP包写入下一个数据缓存的内存页中。

10.根据权利要求8所述的基于PCIe总线的主从交互式通信方法,其特征在于,所述方 法还包括下述步骤:

当所述TLP包出现跨越4K边界时,调整所述表头项存储的地址信息,使表头项位于上一 内存页的最后4个32Bit空间,第一个表项位于下一内存页的首个4个32Bit空间。

说明书
技术领域

本发明属于通信技术领域,尤其涉及一种基于PCIe总线的主从交互式通信平台及 方法。

随着科学技术的迅速发展,高速数据交互被应用到多种场合。PCI-Express是一种 通用的总线规格,其不只包括显示接口,还囊括了CPU、PCI、HDD、Network等多种应用接口。 从而可以像Hyper-Transport一样,用以解决现今系统内数据传输出现的瓶颈问题,并且为 未来的周边产品性能提升作好充分的准备。以往计算机系统的各种设备共用一个带宽,采 用了并行互联,这大大影响了系统整体的性能表现,同时并行信号由于相互干扰也严重制 约了日后速度的进一步提升。而PCIe则采用了串行互联方式,以点对点的形式进行数据传 输,每个设备都可以单独的享用带宽,从而大大提高了传输速率,而且也为更高的频率提升 创造了条件。因此,PCIe总线因带宽高、性能优,受到广泛关注和使用。但受开发难度制约, 目前只将PCIe总线用于单向传输,并且存在各种设计上的缺陷,降低了总线效率。

本发明的目的在于提供一种基于PCIe总线的主从交互式通信平台,旨在解决现有 技术中只将PCIe总线用于单向传输,并且存在各种设计上的缺陷,降低了总线效率的问题。

本发明是这样实现的,一种基于PCIe总线的主从交互式通信平台,所述基于PCIe 总线的主从交互式通信平台包括均配有PCIe2.0X4接口的主机和开发板;

当所述主机作为主设备时,所述开发板作为从设备;当所述主机作为从设备时,所 述开发板作为主设备;

所述主机用于对交互通信数据量的配置以及主从设备进行设置,所述主机与所述 开发板之间的交互通信采用查询模式或中断模式;

所述主机上申请的内存包括数据缓存和描述符表缓存,所述数据缓存以链式DMA 方式申请,所述描述符表缓存以连续DMA方式申请,所述数据缓存是由物理地址不连续的内 存页组成,不连续的若干个所述内存页信息构成描述符表,所述描述符表包括包含有用于 更新通信结束信息的EPLAST信息的表头项。

作为一种改进的方案,当所述数据缓存中内存页的空间小于一个TLP包大小时,所 述内存页为不可用状态,并将TLP包写入下一个数据缓存的内存页中。

作为一种改进的方案,当所述TLP包出现跨越4K边界时,调整所述表头项存储的地 址信息,使表头项位于上一内存页的最后4个32Bit空间,第一个表项位于下一内存页的首 个4个32Bit空间。

作为一种改进的方案,所述主机与所述开发板的交互通信数据量为128M。

本发明的另一目的在于提供一种基于PCIe总线的主从交互式通信平台的基于 PCIe总线的主从交互式通信方法,所述方法包括下述步骤:

在主机端,配置主机为主设备,开发板为从设备,并指定所述主机与所述开发板的 交互通信数据量;

通过链式DMA方式申请数据缓存,并将待发数据写入所述数据缓存;

通过连续DMA方式申请描述符表缓存,并将所述数据缓存的内存页信息形成描述 符表,写入所述描述符表缓存;

配置所述主机与所述开发板的通信模式,所述通信模式包括中断模式和查询模 式;

配置写寄存器,启动DMA传输;

根据所述通信模式以及所述表头项的EPLAST信息,判定所述主机与所述开发板之 间的通信结束。

作为一种改进的方案,所述方法还包括下述步骤:

当所述数据缓存中内存页的空间小于一个TLP包大小时,所述内存页为不可用状 态,并将TLP包写入下一个数据缓存的内存页中。

作为一种改进的方案,所述方法还包括下述步骤:

当所述TLP包出现跨越4K边界时,调整所述表头项存储的地址信息,使表头项位于 上一内存页的最后4个32Bit空间,第一个表项位于下一内存页的首个4个32Bit空间。

本发明的另一目的在于提供一种基于PCIe总线的主从交互式通信平台的基于 PCIe总线的主从交互式通信方法,所述方法包括下述步骤:

在主机端,配置开发板为主设备,主机为从设备,并指定所述主机与所述开发板的 交互通信数据量;

通过链式DMA方式申请数据缓存;

通过连续DMA方式申请描述符表缓存,并将所述数据缓存的内存页信息形成描述 符表,写入所述描述符表缓存;

配置所述主机与所述开发板的通信模式,所述通信模式包括中断模式和查询模 式;

配置读寄存器,启动DMA传输;

根据所述通信模式以及所述表头项的EPLAST信息,判定所述主机与所述开发板之 间的通信结束;

所述主机将数据缓存中的数据读出,对所述数据进行校验处理。

作为一种改进的方案,所述方法还包括下述步骤:

当所述数据缓存中内存页的空间小于一个TLP包大小时,所述内存页为不可用状 态,并将TLP包写入下一个数据缓存的内存页中。

作为一种改进的方案,所述方法还包括下述步骤:

当所述TLP包出现跨越4K边界时,调整所述表头项存储的地址信息,使表头项位于 上一内存页的最后4个32Bit空间,第一个表项位于下一内存页的首个4个32Bit空间。

在本发明中,基于PCIe总线的主从交互式通信平台包括均配有PCIe2.0X4接口的 主机和开发板;从主机和开发板中配置主设备和从设备;主机用于对交互通信数据量的配 置以及主从设备进行设置,主机与开发板之间的交互通信采用查询模式或中断模式;主机 上申请的内存包括数据缓存和描述符表缓存,数据缓存以链式DMA方式申请,描述符表缓存 以连续DMA方式申请,数据缓存是由物理地址不连续的内存页组成,不连续的若干个内存页 信息构成描述符表,描述符表包括包含有用于更新通信结束信息的EPLAST信息的表头项, 实现了基于PCIe总线的主从交互通信,提高了总线效率,实现带宽性能的最大化。

图1是本发明实施例一提供的基于PCIe总线的主从交互式通信方法的实现流程 图;

图2是本发明实施例二提供的基于PCIe总线的主从交互式通信方法的实现流程 图。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。

基于PCIe总线的主从交互式通信平台包括均配有PCIe2.0X4接口的主机和开发 板,其中,该主机为PC机,其安装有Win7操作系统,该开发板为Altera Stratix IV GX FPGA Development Kit Board,在PC机关机状态下,将开发板插到PC机的PCIe2.0X4插槽上,然后 PC机开机,至Win7系统正常启动,且开发板也供电正常后,硬件平台搭建完成;

当所述主机作为主设备时,所述开发板作为从设备;当所述主机作为从设备时,所 述开发板作为主设备,即主机和开发板均可以作为主设备,也均可以作为从设备;

主机用于对交互通信数据量的配置以及主从设备进行设置,所述主机与所述开发 板之间的交互通信采用查询模式或中断模式;

主机上申请的内存包括数据缓存和描述符表缓存,所述数据缓存以链式DMA方式 申请,所述描述符表缓存以连续DMA方式申请,所述数据缓存是由物理地址不连续的内存页 组成,不连续的若干个所述内存页信息构成描述符表,所述描述符表包含有用于更新通信 结束信息的EPLAST信息的表头项。

在本发明实施例中,具体通信时,以通信数据量为128M,通信模式为查询为例说 明;

首先PC机作为主设备,开发板作为从设备,PC机向开发板发送128M数据,通信正常 结束后,再以开发板作为主设备,PC机作为从设备,开发板将刚才收到的128M数据原封不动 向PC机发送,通信正常结束后,PC机将内存中的128M数据取出做校验,判断数据是否正确。 判断完后,通信结束。为方便数据比对,128M数据采取32bit宽,从0起,不断加1递增的形式, 即:0,1,2,.......。

其中,通信时,采用高效率经典的DMA形式,即直接内存访问。在PC机上需要申请两 种内存:数据缓存和描述符表缓存;

数据缓存以链式DMA方式申请,描述符表缓存以连续DMA方式申请,数据缓存是由 一些物理地址不一定连续的内存页组成,这些页信息构成描述符表;

处理数据缓存时,当某一内存页可用空间大小小于1个TLP包时,PCIe通信中,要求 1个TLP包不能跨越两个内存页,因此当某一页可用空间大小小于1个TLP包大小时,该内存 页不可用,将TLP包写入下一个数据缓存的内存页中;

通常申请到的数据缓存,除首尾页大小可能<4096字节外,中间页都是4096字节的 倍数,因此只需要考虑首尾页的处理,在申请数据缓存时多申请一些空间,以备处理该特殊 情况;

关于描述符表,在首部还存在描述符表头项,这是Stratix IV PCIe使用中强制要 求的,表头项和具体表项都是由4个32Bit数构成的,由于开发板在发读描述符表请求时,只 需要纯表项,表头项只在通信结束时用于更新EPLAST信息,并且开发板每次读请求都是固 定数量的TLP包,因此要考虑到并处理某次请求TLP包跨4K边界的情况;

由于描述符表放在连续的缓存中,可以通过调整表头项存储的地址,使表头项位 于上一页的最后4个32Bit空间,第一个表项位于下一页的首个4个32Bit空间,来避免跨4K 边界的问题。因此在申请描述符表缓存时多申请一些空间,以备处理该特殊情况。

图1示出了本发明实施例一提供的基于PCIe总线的主从交互式通信方法的实现流 程图,其具体包括下述步骤:

在步骤S101中,在主机端,配置主机为主设备,开发板为从设备,并指定所述主机 与所述开发板的交互通信数据量。

在步骤S102中,通过链式DMA方式申请数据缓存,并将待发数据写入所述数据缓 存。

其中,当所述数据缓存中内存页的空间小于一个TLP包大小时,所述内存页为不可 用状态,并将TLP包写入下一个数据缓存的内存页中。

在步骤S103中,通过连续DMA方式申请描述符表缓存,并将所述数据缓存的内存页 信息形成描述符表,写入所述描述符表缓存。

当所述TLP包出现跨越4K边界时,调整所述表头项存储的地址信息,使表头项位于 上一内存页的最后4个32Bit空间,第一个表项位于下一内存页的首个4个32Bit空间。

在步骤S104中,配置所述主机与所述开发板的通信模式,所述通信模式包括中断 模式\查询模式。

在步骤S105中,配置写寄存器,启动DMA传输。

在步骤S106中,根据所述通信模式以及所述表头项的EPLAST信息,判定所述主机 与所述开发板之间的通信结束。

图1示出了主机作为主设备,开发板作为从设备的交互通信方式。

图2示出了本发明实施例二提供的基于PCIe总线的主从交互式通信方法的实现流 程图,其具体步骤包括:

在步骤S201中,在主机端,配置开发板为主设备,主机为从设备,并指定所述主机 与所述开发板的交互通信数据量。

在步骤S202中,通过链式DMA方式申请数据缓存。

当所述数据缓存中内存页的空间小于一个TLP包大小时,所述内存页为不可用状 态,并将TLP包写入下一个数据缓存的内存页中。

在步骤S203中,通过连续DMA方式申请描述符表缓存,并将所述数据缓存的内存页 信息形成描述符表,写入所述描述符表缓存。

当所述TLP包出现跨越4K边界时,调整所述表头项存储的地址信息,使表头项位于 上一内存页的最后4个32Bit空间,第一个表项位于下一内存页的首个4个32Bit空间。

在步骤S204中,配置所述主机与所述开发板的通信模式,所述通信模式包括中断 模式和查询模式。

在步骤S205中,配置读寄存器,启动DMA传输。

在步骤S206中,根据所述通信模式以及所述表头项的EPLAST信息,判定所述主机 与所述开发板之间的通信结束。

在步骤S207中,主机将数据缓存中的数据读出,对所述数据进行校验处理。

在本发明中,基于PCIe总线的主从交互式通信平台包括均配有PCIe2.0X4接口的 主机和开发板;从主机和开发板中配置主设备和从设备;主机用于对交互通信数据量的配 置以及主从设备进行设置,主机与开发板之间的交互通信采用查询模式或中断模式;主机 上申请的内存包括数据缓存和描述符表缓存,数据缓存以链式DMA方式申请,描述符表缓存 以连续DMA方式申请,数据缓存是由物理地址不连续的内存页组成,不连续的若干个内存页 信息构成描述符表,描述符表包含有用于更新通信结束信息的EPLAST信息的表头项,实现 了基于PCIe总线的主从交互通信,提高了总线效率,实现带宽性能的最大化。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

本文发布于:2023-04-14 11:09:09,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/87138.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图