0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的Aurora 8b10b光通信测试方案

CHANBAEK 来源:FPGA Zone 作者:FPGA Zone 2023-10-01 09:48 次阅读

概述

本文开源一个FPGA高速串行通信项目:Aurora 8b10b光通信。7 Series FPGAs Transceivers Wizard IP是Xilinx官方7系列FPGA的高速串行收发器,本工程主要是围绕该IP核采用Vivado提供的例程创建。

下面主要介绍一下7 Series FPGAs Transceivers Wizard IP核的参数配置以及如何建立该项目Vivado工程。

硬件平台

软件平台 :Vitis 2019.2;

硬件平台 :XC7Z035FFG676-2;

IP核参数配置

GT Selection

图片

GT Selection相关参数配置保持默认即可;

Line Rate, RefClk Selection

图片

Protocol :此选项下有多种协议可供选择,这里选择 Aurora 8b10b single lane 4bytes,对外接口也就是32位;

TX & RX :收发器是独立的,可以选择不同的编码和速度,对于GTX收发器最大是10.3125Gbps,这里选择5Gbps。参考时钟必须和FPGA板卡上的时钟一致,为125MHz。

图片

Transceiver Selection :该项目采用的FPGA型号为MK7325,有两个SFP接口,分别连接到GTX_X0Y12和GTX_X0Y13;

Encoding and Clocking

图片

TX & RX :内部数据宽度设置为20(16bit数据利用8b10b编码为20bits),两个内部数据拼接为1个32bit外部数据,编码方式采用8b10b编码,这种编码方式最主要的目的是保持 直流平衡,根据特定的编码表实现数据传输过程中0和1的数量基本一致,减少连续0或1的情况。DRP/System Clock是动态重配置/系统工作时钟,通过DPR可以根据所配置线速率和协议实时调整收发器参数。DRP时钟频率设置为100MHz,可以通过外部PLL产生,利用DRP时钟初始化一些GTX控制器信号或者参数;

图片

Synchronization and Clocking :TXUSERCLK,和 RXUSERCLK 时钟的选择一般TXUSERCLK可以直接选择TXOUTCLK作为用户时钟,而RXUSERCLK可以选择TXOUTCLK也可以选择RXUSERCLK,还可以选择RXPLLREFCLK作为用户时钟。这里就涉及到一个同步的概念,如果时钟不一致必须设置TX和RX的 BUFFER,默认都是设置的。另外输入TX的发送时钟和RX的恢复时钟差异交大,可能会导致RX BUFFER的溢出或者读空,而导致数据出错。比较好的解决办法就是设置RXUSERCLK为RXOUTCLK,就是利用恢复时钟作为用户时钟,这样就很好的解决了同步的问题了。

Comma Alignment and Equalization

图片

Comma Value :设置K码为K28.5,K码用于修正数据对齐,其它选项保持默认配置即可;

PCIe SATA PRBS

图片

保持默认配置即可;

CB and CC Sequence

图片

Clock correction :选择支持时钟校准,设置每5000个字节发送一组CC Seq,因为从数据流中恢复出来的时钟和本地产生的FIFO读侧的时钟的频率不可能完全一致,所以才要进行CC处理。这个周期是根据发送侧和接收侧的时钟差算出来,然后再根据实际调试结果进行一定的修正。

Summary

图片

根据上图可以看出,TXUSRCLK和RXUSRCLK频率为250M,TXUSRCLK2和 RXUSRCLK2为125M,也就是我们写代码要使用的时钟。

Vivado工程创建

右击IP核,选择 open IP example design;

图片

其中,gt aurora GT FRAME GEN模块功能是产生要发送的测试数据,gt aurora GT FRAME CHECK模块检查回环收到的数据是否正确;

由于开发板的SFP屏蔽笼的tx_disable引脚都默认接了上拉电阻。要使收发回环测试可以正常进行,必须要将tx_disable引脚拉低。因此,在example design的顶层模块,添加2个sfp_tx_disable引脚,且均置为0即可;

将drp_clk直接连入sysclk,官方例程这个时钟是引脚进来的加了bufg,该工程用PLL产生;

接下来我们将在硬件上实现回环传输测试数据的功能,首先我们需要从外部给出一个自由时钟,hb_gtwiz_reset_all_in复信号是高电平有效,用户直接拉低即可。由于开发板的SFP屏蔽笼的tx_disable引脚都默认接了上拉电阻。要使收发回环测试可以正常进行,必须要将tx_disable引脚拉低;

最后在示例工程里添加必要的ILA,去抓取对应的信号。

功能测试

本工程实现功能为光纤信号8b10b回环传输,FPGA板上测试结果如下图所示,可以看到gt0_error_count_i信号保持为0,也就是说8b10b光通信传输正常。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1614

    文章

    21445

    浏览量

    596935
  • Xilinx
    +关注

    关注

    70

    文章

    2132

    浏览量

    119901
  • 串行通信
    +关注

    关注

    4

    文章

    546

    浏览量

    35091
  • 光通信
    +关注

    关注

    19

    文章

    827

    浏览量

    33799
  • Vivado
    +关注

    关注

    19

    文章

    792

    浏览量

    65557
收藏 人收藏

    评论

    相关推荐

    把握光通信行业演变脉动 CIOE2012光通信展即将起航!

    下一代PON,100G相干光通信、PTN/OTN等热门技术的开发中,可以预计其成熟度和性价比将进一步改善。 随着“宽带中国”上升到国家战略,中国得天独厚的优势将使光通信制造企业必然有一个更加良好
    发表于 08-16 09:43

    Aurora 8b/10b IP核问题

    小弟最近在调用Aurora 8b/10b IP模块时,在用modelsim功能仿真时,一切正常。 但是直接使用了例化后的example,并将Tx和Rx形成了回路下到FPGA板子上
    发表于 03-09 10:58

    FPGA光通信中的应用

    求问,FPGA光通信的切合点多么?我研究生是做光通信的,想自学FPGA,想把两者结合起来。希望大神可以举出几个例子或者方向,详细点,比如FPGA
    发表于 11-05 09:53

    Aurora IP 8b10b如何生成bitfile?

    我开发了一个应用程序,包括Userapp,Aurora IP 8b10b v8.3,两个FIFO(Tx和Rx)和sram模块。我使用ISim模拟了总应用程序。我得到了所需的结果。现在,我的疑问
    发表于 03-30 08:49

    用于26Km光缆的Aurora IP v11.0通道上行/上行故障的解决办法?

    8b / 10b IP的问题。此IP中使用即时NFC。光通信应该在50公里处工作。使用15公里光纤电缆进行数据通信是成功的。但是,当连接26 km光缆时,通道向上和向上通道不稳定。它
    发表于 08-06 09:34

    如何使用Aurora 8B / 10B建立仅传输?

    你好,我正在尝试使用Aurora 8B / 10B建立仅传输(流媒体)。现在使用Vivado 2014.4进行模拟阶段。我知道GTXE2_COMMON原语需要在设计中使用以包含一个QUAD PLL
    发表于 08-14 08:49

    怎么禁用Aurora IP Core 8B / 10B中的时钟补偿功能?

    大家好,我使用的是Vivado 2016.4和Virtex 7 XC7VX485T FPGA。我需要知道是否有一个选项可以禁用Aurora IP Core 8B / 10B中的时钟补偿
    发表于 08-18 09:43

    可见光通信原理及硬件方案 精选资料分享

    可见光通信基本原理在正常照明前提下,将信息调制到LED灯发出的可见光中,接收端利用光电检测器(PD)将可见光并转换为电信号,并从中解调出相应的调制信息。基于可见光通信,太速硬件以高速
    发表于 07-23 07:41

    可见光通信 调制解调技术 家庭机器人 可见光通信应用 原理及硬件方案 精选资料分享

    可见光通信原理及硬件方案可见光通信基本原理在正常照明前提下,将信息调制到LED灯发出的可见光中,接收端利用光电检测器(PD)将可见光并转换为电信号,并从中解调出相应的调制信息。基于可见光通信
    发表于 07-27 06:10

    基于FPGA8B10B编解码设计

    摘要:为提高8B10B编解码的工作速度和简化逻辑方法,提出一种基于FPGA8B10B编解码系统设计
    发表于 05-26 11:08 3584次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>8B</b>/<b class='flag-5'>10B</b>编解码设计

    基于Virtex-6 的Aurora 8B/10B,PCIe2.0,SRIO 2.0三种串行通信协议分析

    针对较为常用的Aurora 8B/10B和PCI Express 2.0,Serial RapidIO 2.0三种协议进行了测试及对比分析。首先搭建了基于Virtex-6
    发表于 11-18 01:00 1.2w次阅读
    基于Virtex-6 的<b class='flag-5'>Aurora</b> <b class='flag-5'>8B</b>/<b class='flag-5'>10B</b>,PCIe2.0,SRIO 2.0三种串行<b class='flag-5'>通信</b>协议分析

    8B10B译码和编码FPGA源代码资料免费下载

    本文档的主要内容详细介绍的是8B10B译码和编码的FPGA源代码资料免费下载。
    发表于 09-03 08:00 58次下载
    <b class='flag-5'>8B10B</b>译码和编码<b class='flag-5'>FPGA</b>源代码资料免费下载

    泰克携最新光通信测试技术解决方案亮相ECOC 2018展

    在欧洲最大的光通信展览会ECOC 2018上,世界领先的测量解决方案提供商 – 泰克科技公司将展示为数据中心网络开发的最新光通信测试技术。泰克将接待多家科研和商业领导企业的行业专家,共
    的头像 发表于 09-30 10:18 5827次阅读

    光通信原理_激光通信的优缺点

    光通信是一种利用激光传输信息的通信方式。激光是一种新型光源,具有亮度高、方向性强、单色性好、相干性强等特征。按传输媒质的不同,可分为大气激光通信和光纤通信。大气激
    发表于 12-11 09:11 1.6w次阅读

    基于FPGA的UDP万兆光通信测试

    本文开源一个FPGA项目:UDP万兆光通信。该项目实现了万兆光纤以太网数据回环传输功能。Vivado工程代码结构和之前开源的《UDP RGMII千兆以太网》类似,只不过万兆以太网是调用了Xilinx
    的头像 发表于 09-01 16:25 1217次阅读
    基于<b class='flag-5'>FPGA</b>的UDP万兆<b class='flag-5'>光通信</b><b class='flag-5'>测试</b>