完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
【米尔-Xilinx XC7A100T FPGA开发板试用】+04.SFP之Aurora测试(zmj) 在前一篇文章“【米尔-Xilinx XC7A100T FPGA开发板试用】+03.SFP光口测试(zmj) ”通过iBERT进行了SFP接口的基础功能测试。本文主要针对应用场景之一的Aurora协议进行测试,其他的应用场景包括千兆网、万兆网XAUI、SRIO、PCIE等协议不再额外测试。 1. 简介参考资料:
*附件:pg074-aurora-64b66b.pdf 1.1 GTP简介在7系列的FPGA中,GTP高速收发器通常使用Quad来划分,一个Quad由四个GTPE2_CHANNEL原语和一个GTPE2_COMMON 原语组成。每个GTPE2_COMMON中包含两个PLL(PLL0/PLL1)。只有在应用程序中使用PLL时,才需要实例化GTPE2_COMMON。 每个GTPE2_CHANNEL由一个transmitter和一个receiver组成。一个参考时钟可以直接连接到一个GTPE2_CHANNEL原语,而不需要实例化GTPE2_COMMON。 GTP收发器的发送端和接收端功能是相互独立,都是由Physical Media Attachment(物理媒介适配层PMA)和Physical Coding Sublayer(物理编码子层PCS)组成。PMA内部集成了串并转换(PISO)、预加重、接收均衡、时钟发生器和时钟恢复等;PCS内部集成了8b/10b编解码、弹性缓冲区、通道绑定和时钟修正等。 在AMD-Xilinx-Artix-7系列的FPGA中,对于GTP收发器,其最大速率是6.25Gbps。
1.2 8B/10B编码简介在光纤通信中,线路编码是必要的,因为电端机输出的数字信号是适合电缆传输的双极性码,而光源不能发射负脉冲,只能用光脉冲的"有" 和"无" 来表示二进制码中的"1"和"0"。该方法虽然简单,却存在三个问题: 1.遇到数字序列中出现长连"0" 或长连"1" 时,将给光纤线路上再生中继器和终端光接收机的定时信息提取工作带来困难; 2.简单的单极性码中含有直流分量。由于线路上光脉冲中"1" 和"0" 是随机变化的,这将导致单极性码的直流成分也作随机性的变化。这种随机性变化的直流成分,可以通过光接收机的交流耦合电路引起数字信号的基线漂移, 给数字信号的判决和再生带来困难; 3.不能实现不中断通信业务下的误码检测;为解决以上问题,通常对于由电端机输出的信号码流,在未对 LED(或 LD)调制以前,一般要先进行码型变换使调制后的光脉冲码流由简单的单极性码,转换为适合于数字光纤传输系统传输的线路码。 其他关于8B/10B编码的内容请参考下述链接,此处不再赘述:
1.3** **Aurora简介 Aurora协议是Xilinx公司提供的一个用于在点对点串行链路间移动数据的可扩展轻量级链路层协议。这为物理层提供透明接口,让专有协议或业界标准协议上层能方便地使用高速收发器。Aurora协议在Xilinx的FPGA上有两种实现方式:Aurora-8b10b和Aurora-64b66b。 两个协议大部分相同,主要区别在编码方式上:
Aurora 8B/10B 常用于芯片(FPGA)与芯片(FPGA)之间通信,它用于使用一个或多个收发器在设备之间传输数据,其连接可以是全双工(双向数据)或单工。最多可实现16个收发器(GTX,GTP或GTH),吞吐量可从480Mb/s扩展到84.48Gb/s。Aurora核心吞吐量取决于收发器的数量以及所选收发器的线路速率。 通过使用20%的开销来计算吞吐量Aurora-8B/10B协议编码和以及线速0.5Gb/s至6.6Gb/s的线速范围来计算,其传输吞吐量为从单通道设计的0.4Gb/s到最高16通道的84.48Gb/s。 2. 程序设计2.1 IP 配置创建一个工程,搜索“transceiver”可以添加“7 Series FPGAs Transceivers Wizard IP”,双击该IP打开配置界面: 【第1页配置:GT-Selection】 默认配置即可。
先设置 Protocol 为 “aurora 8b10b single lane 4 byte” ,也就是对外接口为 32bit 位宽; 然后设置收发器速率,收发器的发送和接收通道是独立的,可以选择不同的编码和速度,此处统一设置线速率Line-Rate为2.5Gbps; 最后设置参考时钟为125MHz(如果设置成3.125Gbps,需要156.25MHz的时钟),TX-Clock-Source选择REFCLK1-Q0。 特别说明:参考时钟必须和开发板时钟一致,否则会无法通信。
本页默认配置即可。其中Comma-Alignment(K码)用来修正数据对齐,选择 K28.5。 【第5页配置:PCIe, SATA, PRBS】 本页不涉及Aurora协议内容,默认配置即可。 本页默认配置即可。 Xilinx 收发器IP核支持通道绑定,将多个收发器通道"绑定"成一个速率更高的传输通道,利用FIFO消除其间的延时不确定性。CB/CC序列主要用来配合完成时钟校准,并且设置每5000个字节发送一组CC Seq。因为从数据流中恢复出来的时钟和本地产生的FIFO读侧的时钟的频率不可能完全一致,所以才要进行CC处理。这个周期是根据发送侧和接收侧的时钟差算出来,然后再根据实际调试结果进行一定的修正。不同的板子不同的环境,这个值都是不同的。接收通道中同样有两个时钟域:从CDR恢复出的XCLK和接收通道工作时钟RXUSRCLK。RX通道使用RX Elastic Buffer来桥接两时钟域,但由于两者细微的差异会使缓存变空或溢出。为此引入时钟矫正,在发送端周期性发送一些特殊字符,接收端在弹性缓存快满时删除这些字符,快空时复制这些字符从而保证缓存内数据维持动态平衡的状态。所以,GTP的发送时钟和GTP的接收后的恢复时钟,会存在一定的动态变化,这就是前面我们设置 TXUSERCLK和RXUSERCLK的时候必须要考虑的问题,比如增加 FIFO,解决跨时钟的问题。 【第7页总结:Smmary】 本页为相关配置统计信息,确认无误后点击OK生成IP核。 2.2 工程创建完成“2.1 IP配置”后,右键选中生成的GTP-IP核,点击“Open IP Example Design...”可以生成Example工程。 工程如下图所示,gt_aurora_GT_FRAME_GEN 模块产生要发送的测试帧数据;gt_aurora_GT_FRAME_CHECK 模块检查回环后收到的数据是否正确。 2.3 工程修改生成Example工程后,需要根据板卡实际状况进行工程调整。此处主要调整时钟和复位。 Aurora(GTP-IP核)主要涉及下面四组时钟:
总结: 1.ref_clk的值根据对应硬件设计的来; 2.INIT CLK和DRP CLK可以用PLL或者MMCM生成; 3.user_clk_out是用户时钟域,数据收发接口应该工作在此时钟域下。 【修改内容】
【图】工程修改内容 2.4 工程编译初次编译时,因为增加误码注入的逻辑功能(资源占用比例不高),以及debug信号未考虑跨时钟域的情况,出现了时序违例情况: 打开布局布线“Open-Implementation-Design”,分析时序可知主要是debug信号未考虑跨时钟域引起的“Inter-Clock-Paths”时序违例。 通过设置异步时钟组可以消除该时序违例: 重新生成bitstream,最终时序正常。 3. 程序测试米尔-Xilinx XC7A100T FPGA开发板的两个SFP接口通过“光模块+光纤”实现回环连接,烧录bitstream程序进行Aurora测试。 3.1 正常测试先强制触发ILA,Error计数器(gt0_error_count_i)的值为0x00; 然后设置ILA触发条件为:Error计数器的值不等于0时触发ILA; 持续观察一段时间,ILA未被触发,即Aurora-2.5Gbps回环测试正常。 3.2 异常测试先强制触发ILA,Error计数器(gt0_error_count_i)的值为0x00; 然后设置ILA触发条件为:Error计数器的值不等于0时触发ILA; 通过VIO注入误码,ILA会被触发,即误码注入时Aurora-2.5Gbps回环测试会触发Error计数,符合测试预期。 //------end |
||
相关推荐
|
||
只有小组成员才能发言,加入小组>>
【米尔-Xilinx XC7A100T FPGA开发板试用】+04.SFP之Aurora测试(zmj)
556 浏览 0 评论
【米尔-Xilinx XC7A100T FPGA开发板试用】+03.SFP光口测试(zmj)
527 浏览 1 评论
【米尔-Xilinx XC7A100T FPGA开发板试用】+01.开箱(zmj)
628 浏览 0 评论
【米尔-紫光PG2L100H国产FPGA开发板试用】米尔-紫光PG2L100H国产FPGA开发板开箱评测
619 浏览 0 评论
【米尔-国产瑞芯微RK3568开发板试用体验】评测一 系统配置
563 浏览 0 评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】基于ROS系统的三麦轮小车自主导航
3560浏览 2评论
【米尔NXP i.MX 93开发板试用评测】5、安装Debian和排除启动故障
555浏览 2评论
【米尔NXP i.MX 93开发板试用评测】2、异构通信环境搭建和源码编译
714浏览 2评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】Free RTOS应用开发环境部署
1342浏览 1评论
【米尔-芯驰D9开发板- 国产平台试用】- 03- 外设接口测试-U盘、485总线
6791浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 18:25 , Processed in 0.381387 second(s), Total 41, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号