ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:81KB ,
资源ID:206139      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-206139.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高速数据交换的fpga实现.doc)为本站会员(无敌)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

高速数据交换的fpga实现.doc

1、高速数据交换的 FPGA 实现 王松明 中国电子科技集团公司第十研究所 摘 要: 针对数字信号处理系统前端数据采集与后端信号处理之间的数据流传输效率问题, 介绍了基于 RapidIO 协议和 Aurora 协议在 FPGA 上实现高速数据交换的设计方案。该交换模块采用 Aurora 协议与光纤传输结合实现高速数据采集的点到点通信, 并利用 RapidIO 协议的高效率解决数据高速交换问题。验证结果表明该方法在数据传输效率上达到了预先设计指标, 其对提高数字信号处理系统处理带宽、改进系统性能具有较大的意义。关键词: FPGA; RapidIO; Aurora; 交换; 作者简介:王松明 (198

2、6-) , 男, 硕士, 工程师, 主要研究方向:集成电路设计。收稿日期:2017-06-27An implementation of high-speed communication system on FPGAWang Songming The Tenth Research Institute of China Electronic Technology Group Corporation; Abstract: Aiming at the problem of data transmission efficiency between front-end data acquisition a

3、nd back-end signal processing of digital signal processing system, this paper designs a high-speed communication system based on FPGA with Aurora and Rapid IO protocol. This method combined optical transmission and Aurora protocol to achieve high-speed communication of front-end data acquisition, an

4、d used the Rapid IO protocols characteristic of high efficiency to implement high-speed data switch. The test results show that the data transmission efficiency of the method could reach the preset index, and it has great meaning in improving the signal processing bandwidth and performance of digita

5、l signal processing system.Keyword: FPGA; RapidIO; Aurora; switch; Received: 2017-06-270 引言随着模数转换器件以及各种信号处理器件性能的提高, 复杂的高速实时数字信号处理系统已经可以实现1, 相应的板间及机箱间的数据交互要求越来越高, 连接各种器件的总线问题成为实现高性能数字信号处理系统的关键。为有效解决系统连接的瓶颈、实现互连架构的可重构, 本文介绍了一种基于Aurora 协议和 Rapid IO 总线技术的数字信号处理系统高速数据交换设计方案, 主要技术指标如下:(1) 支持 18 个通道前端高速数据输

6、入, 单通道最大支持 6.5 Gb/s 的传输, 数据输入总带宽小于 30 Gb/s;(2) 支持 Rapid IO 2.2 标准, 物理层采用 4X 串行 Rapid IO;(3) 支持 4 路 4X Rapid IO 实现板卡内通信, 单路数据率 10 Gb/s, 总带宽 40 Gb/s;(4) 支持 3 路 4X Rapid IO 实现板卡间通信, 单路数据率 10 Gb/s, 总带宽 30 Gb/s;(5) 支持 2 路 4X Rapid IO 实现机箱间通信, 单路数据率为 10 Gb/s, 总带宽为 20 Gb/s。1 Aurora IP 介绍数字信号处理系统的前端通常数据流量大且

7、是点对点传输, Aurora IP 用户接口简单并支持与光纤的无缝连接2, 是实现与数字信号处理系统前端数据互连的最佳选择之一。Aurora 协议是由 Xilinx 公司提供的一个开放、免费的链路层协议, 可以用来进行点对点的串行数据传输。Aurora IP 内部封装了 Rocket IO 硬核, 将Rocket IO 控制结构转化为简单的用户接口。同时, 协议自带的信道初始化与时钟校正等功能有效保证了点对点传输的高速数据同步, 能有效解决数据传输的瓶颈。Aurora 64B/66B Core 结构如图 1 所示3, 主要功能模块如下:(1) 通道逻辑:收发器初始化、控制字符编解码、通道数据错

8、误检测;(2) 全局逻辑:初始化时通道对齐;(3) 接收侧用户接口:从通道中接收数据传输到应用、接收流量控制;(4) 发送侧用户接口:从应用中接收数据并发送出去, 发送流量控制及时钟补偿。图 1 Aurora 64B/66B Core 结构图 下载原图2 数据交换系统设计2.1 器件选型及时钟设计本设计需要实现 9 路 4X Rapid IO 接口和 18 路 Aurora 协议接口, 可选择的最佳 FPGA 是 Xilinx 公司的 Virtex7 系列, 具体型号选择 XC7VX690T。XC7VX690T有 80 个高速串行接口, 特别适合高速串行互连设计。本设计需要实现 54 个高速串

9、行接口, 采用一片 XC7VX690T 就可以满足设计需求。IP 核的参考时钟不能有过大的抖动, 考虑到本设计 IP 核传输数据速率都比较高, 所以使用高精度的差分时钟用作 IP 核的参考时钟。根据 Xilinx 公司发布的用户指南, 一组差分时钟只能给 3 个 Bank 或 12 个 GTX/GTH 作为参考时钟4。FPGA 参考时钟设计如图 2 所示, Aurora IP 需要 2 组差分时钟, 用于机箱间通信的 Rapid IO IP 需要 1 组差分时钟, 用于板卡内通信的 Rapid IO IP 需要 2组差分时钟, 用于板卡间通信的 Rapid IO IP 需要 1 组差分时钟,

10、除此之外 1组差分时钟用作系统处理时钟, 总共需要 7 组差分时钟输入。图 2 FPGA 参考时钟设计 下载原图XC7VX690T 总共有 32 个全局时钟, 即 32 个 BUFGCTRL, 这 32 个全局时钟可以分配为 BUFG、BUFGCE、BUFGMUX。在实际使用时需要预留几个全局时钟, 否则在布局和布线时会出现布线布不开等问题。软件生成的 Aurora 64B/66B Core 内部使用了 1 个 BUFGCE, Rapid IO Core 内部使用了 5 个 BUFG, 如果直接使用 IP, 则仅 IP 就需要消耗 63 个全局时钟资源, 因此需要设计 IP 共享时钟方案。在

11、4X 2.5 Gb/s 线速模式下, Rapid IOCore 内部gt_clk、phy_clk、log_clk、cfg_clk 四个时钟频率均为 125 MHz5, 因此在Rapid IO 时钟共享设计方案时可以使用同一时钟驱动, 如图 3 所示。考虑到Core 内部时钟不会在 Core 以外其他任何地方使用, 为了节约全局时钟资源, 将 Core 代码内部的所有 BUFG 替换为 BUFH, 这样每个 Core 可以节约 4 个全局时钟资源。Aurora 64B/66B Core 时钟共享方案如图 4 所示, 12 个或 6 个 Core 共用一组差分时钟作为参考时钟, 每 4 个 Cor

12、e 共用一个 GTXE2_COMMON, 所有 Aurora Core所需的初始化时钟 init_clk 均来自系统处理时钟。同时为了节约全局时钟资源, 将 Core 代码内部的 BUFGCE 替换为 BUFHCE。2.2 系统设计与实现数据交换系统主要包含三个部分:Aurora IP、Rapid IO IP 和数据交叉电路。数据交叉电路实现多路 Aurora 接口到多路 Rapid IO 接口的数据调度, 主要功能目标为根据系统应用需求, 实现多个 Aurora 端口的数据到多个 Rapid IO 端口的任意交叉, 以及不同通信目的地的 Rapid IO 端口之间的数据任意交叉。数据交换系统

13、框图如图 5 所示。使用异步 FIFO 对 IP 核输入输出接口完成数据跨时钟域的变换, 可以避免其他模块进行异步时钟处理。由于 Aurora 64B/66B Core 与 Rapid IO Core 数据总线大小端不一致, 需要调整 Aurora 接口接收到的数据位序。Rapid IO 接口接收来自 Aurora IP 和其他 Rapid IO IP 的数据, 组包后缓存到异步 FIFO 中, 再以 Rapid IO SWrite 操作发送到 Rapid IO 目的端。图 3 Rapid IO Core 时钟共享方案 下载原图图 4 Aurora Core 时钟共享方案 下载原图图 5 数据

14、交换系统框图 下载原图可由软件通过板卡内的 4 路 Rapid IO 接口中任意一路配置 Aurora 端口和其余Rapid IO 端口的寄存器, 通过扩展 Rapid IO NWrite 操作实现寄存器写访问和扩展 Rapid IO NRead 操作实现寄存器读访问。2.3 Rapid IO 数据调度对于板卡内的 Rapid IO 接口, 每一个端口可能接收来自 18 路 Aurora 数据、来自板卡间的 3 路 Rapid IO 数据以及来自机箱间的 2 路 Rapid IO 数据, 共计 23路数据, 经过调度后发送到目的端。对于板卡间或机箱间的 Rapid IO 接口, 每一个端口可能

15、接收来自 18 路 Aurora 的数据, 经过调度后发送到目的端。Rapid IO 数据调度处理结构如图 6 所示。Rapid IO SWrite 操作一次发送 256B 数据, 基于双 FIFO 的乒乓操作是通过FIFO 写逻辑与读逻辑的相互配合, 将需要缓存的数据包连贯地送到 Rapid IO接口进行处理的一种控制方法。FIFO 写逻辑先选择 FIFO 0, 待 FIFO 0 写满之后切换 FIFO 写逻辑选择 FIFO1, FIFO 1 写满之后切换回写 FIFO 0。FIFO 0 写满之后才会启动 FIFO 读逻辑, 先选择读取 FIFO 0 数据, FIFO 0 空之后切换FIFO

16、 读逻辑选择 FIFO 1, FIFO 1 读空之后切换回读 FIFO 0, 如此循环。数据调度采用周期轮询:板卡内的 Rapid IO 接口可能接收 23 路数据, 编号为 1, 2, 3, ;各路数据按照 1, 2, 3, 的顺序轮流接受服务, 若当前通路有数据则输出到 Rapid IO, 否则跳过本轮服务。3 测试结果测试过程中随机选择一路 Aurora 数据, 配置到板卡内、板卡间的任意一路Rapid IO 输出, 通过判断数据的一致性来验证数据调度系统的正确性和有效性。通过图 7 和图 8 的对比, 得到测试结果为:Aurora IP 接收到的数据与 Rapid IO IP 发送的数

17、据完全一致。图 6 Rapid IO 数据调度处理结构 下载原图图 7 Aurora 数据接收测试 下载原图图 8 Rapid IO 数据发送测试 下载原图经过测试, 本设计实现了 Aurora 接口数据输出到 Rapid IO 接口的任意调度和Rapid IO 接口数据到 Rapid IO 接口的任意调度, 数据带宽满足要求。4 结论本文针对高性能数字信号处理系统大规模实时数据交换的需求, 结合具体的模块设计, 给出了一种采用 Xilinx 公司的 FPGA 芯片实现多端口、高速率、大规模数据交换设计。在实际的数字信号处理系统中, 本设计取得了很好的效果。参考文献1陈丽华.多 DSP 并行处理技术的研究D.上海:华东计算技术研究所, 2004. 2李维明, 陈建军, 陈星锜.基于 Aurora 协议的高速通信技术的研究J.电子技术应用, 2013, 39 (12) :37-40. 3Xilinx.Aurora 64B/66B v11.0 logi CORE IP product guideZ.2015. 4Xilinx.7 series FPGAs GTX/GTH transceivers user guideZ.2015. 5Xilinx.Logi CORE IP serial Rapid IO Gen2 endpoint v2.0Z.2013.

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报