[发明专利]一种基于FPGA的数据交互方法及装置有效
申请号: | 201811160055.3 | 申请日: | 2018-09-30 |
公开(公告)号: | CN109388597B | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 张代生;吴刚;刘彦静 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F13/20 | 分类号: | G06F13/20 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 数据 交互 方法 装置 | ||
本申请提供一种基于FPGA的数据交互方法及装置,所述方法包括:FPGA模块内的虚拟P2P桥接收第一终端发送的TLP类型的数据包,并将数据包存储于缓存单元中;FPGA模块内的业务单元对数据包进行解析,获取数据包对应的目的终端地址和地址路由,以及根据目的终端地址确定第二终端;判断第二终端与FPGA模块连接的总线的状态;当确定总线的状态处于空闲状态时,从缓存单元中读取数据包,并将数据包通过虚拟P2P桥发送给第二终端。
技术领域
本申请涉及数据交互技术领域,尤其涉及一种基于FPGA的数据交互方法及装置。
背景技术
PCIe总线技术是取代PCI的第三代I/O技术,也称为3GIO。PCIe总线是为将来的计算机和通讯平台定义的一种高性能、通用I/O互连总线。PCIe总线是串行总线,采用点对点传输,每个传输通道独享带宽,传输速率高。点到点传输降低了系统硬件平台设计的复杂性和难度,从而降低了系统成本、提高了系统的性价比和鲁棒性。但是随着系统性能、功能和带宽的日益增长,需要更多的外部设备与CPU连接。但是CPU本身PCIe接口数量有限,可以使用PCIe Switch对CPU的PCIe接口进行扩展,通过PCIe Switch连接更多的终端设备。
PCIe总线采用基于交换的技术和基于包的协议来实现数据的传输。PCIe终端可以发送一个TLP,该TLP可以是一个存储器或者I/O请求TLP,由一个终端发出,并通过一个PCIeSwitch后发送到另外一个终端。
现有技术方案中,PCIe终端之间交互数据的过程由DMA控制器控制,但是DMA的启动仍然需要CPU发送DMA启动指令,DMA的终止也需要通知CPU,CPU接收到终止信号后,重新获得PCIe总线的控制权。使用现有技术,在数据传输过程不需要CPU的参与,降低了CPU的负荷,但是在启动和终止DMA阶段,仍然需要CPU运行相关任务。因此,现有技术方案部分降低了CPU负荷。如果系统中终端数量多,终端之间交互数据量大,现有方案仍然需要CPU频繁的进入DMA启动和终止进程,这将造成CPU的负荷的增加,从而导致系统效率降低。
发明内容
有鉴于此,本申请提供一种基于FPGA的数据交互方法及装置。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请实施例提供一种基于FPGA的数据交互方法,所述方法包括:
现场可编程门阵列FPGA内的虚拟P2P桥接收第一终端发送的TLP类型的数据包,并将所述数据包存储于所述缓存单元中;
所述FPGA内的业务单元对所述数据包进行解析,获取所述数据包对应的目的终端地址和地址路由,以及根据所述目的终端地址确定第二终端;
判断所述第二终端与所述FPGA连接的总线的状态;
当确定所述总线的状态处于空闲状态时,从所述缓存单元中读取所述数据包,并将所述数据包通过所述虚拟P2P桥发送给第二终端。
在一可选实施方式中,所述数据包还包括:优先级信息。
在一可选实施方式中,所述方法还包括:
根据所述优先级信息确定通过所述虚拟P2P桥发送所述数据包的顺序。
在一可选实施方式中,所述FPGA的上游端口与中央处理器CPU连接,所述FPGA的多个下游端口分别于终端连接;
所述连接均通过PCIe总线连接。
在一可选实施方式中,所述方法还包括:
配置所述FPGA的SerDes接口,实现所述FPGA通过所述SerDes接口与所述CPU连接。
在一可选实施方式中一种基于FPGA的数据交互装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811160055.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置