[ZYNQ入门宝典]GTX高速口带着IBERT一起玩(二)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42229533/article/details/86541970

(全文以7Z045为例)

1.IBERT初体验:

    IBERT全称 Integrated Bit Error Ratio Tester ,顾名思义:集成好的单比特高速误码率测试工具。它可以利用FPGA内部资源,评估检测FPGA中GTX的通断和通信性能。一般的误码率可以算到十的负十二次方级别。

    通过在IP 生成时的设置,可以分别对链路进行内该IP可以对通讯速率,参考时钟速率,数据宽度进行个性化设置。回环和外回环的测试。

     它需要从普通IO口外接入一个时钟或者从已经使能的GTX收发器上的某个引脚接入时钟作为整个IP的系统时钟。

     IP内部会产生一系列的PRBS数据和时钟(Pseudo-random binary sequence ),即伪随机二进制数据序列,他们按照设定的速率进行读写收发,以此检验通路和误码。

 

   除了有不同位宽 的PRBS模型外,IP还提供了许多其他测试模式。具体功能摘自官方文档Integrated Bit Error Ratio Tester 7 Series GTX Transceivers v3.0。如下图:

 

 

 

 

 

 

 

 

 

 

   具体对应在IBERT的使用界面如下图:

 

 

IBERT内部的DRP(动态重配置)功能让用户可以在工具运行时也能更改参数并且实时监测。

 

2.IP的端口

SYSCLK_I:用户提供给IP的系统时钟。只有从外部提供时钟时,IP中的该端口才会使能。
TXP_O[n-1 :0]等:差分数据收发通道
GTRRFCLK:参考时钟,每个BANK里面有两个。其他bank的通道可以共用该时钟
RXOUTCLK_O:接受端口的四倍时钟输出
 
以上端口对于用户而言其实不用管,因为他们已经被IP自动设置分配好,用户所做的只是去使用IBERT这个软件界面即可
 

3.IP中的参数说明
 
3.1第一个界面需要测试如下参数:
 

  1. Number or Protocol:每一个Protocol(协议)跑一个速率,一个protocol上可以同时放几个QUAD(我把它看成bank),前提是这几个QUAD通讯速率都是一样的。
     
     
  2. LinkRate:即通讯速率,自己可以设置。可以是自己定制的,可以是标准的行业通讯协议速率。但是不同的速率,会影响QPLL和CPLL的选择。以6.5Gbps为界限。高于6.5G建议选择QPLL,低于6.5G的话QPLL和CPLL都可以。

    而对于QPLL和CPLL的叙述,大概意思是,在7系列的芯片里除了有CPLL,还有一个QPLL用于更高速的通讯。
     
    对于运行速率,并不是没有要求限制。实际的运行速度只能是0.6125~1G,1.225~2.0G, 2.45~4.0G,4.9G~8.0G,9.8~12.5G这个几个范围。 如果你在LinkRate这一栏填了范围之外的数值,方框会标红并告诉你运行的速度范围。

     
     
     
     
     
  3. DATAWITH:数据位宽。
     
     
  4. Refclk:参考时钟,可以自己设置,但是和LinkRate是有某种数学关系的,若不满足要求,LinkRate会报红。这里要强调的是,参考时钟必须外部接入,没法用内部倍频的时钟。本例调试过程中,就因为没有配置外围的时钟芯片导致100M参考时钟一直没有出来,最终IBERT界面显示PLL没有锁定。
  5. QUAD Count:bank个数
  6. Quad PLL:QPLL勾选它就是使用QPLL

3.2第二个界面需要测试如下参数:

  1.  
  1. GTX Location:指四个bank
  2. Protocol Selected :协议选择,给每个bank选择协议速率
  3. Refclk Selection:参考时钟选择,可以不选自己bank(QUAD )上的参考时钟。具体有相应规则的,同一个bank以及上下两个bank也可以共用。如下图:

TXUSRCLK Source:对应了TXOUTCLK的时钟源。此参数决定了TXOUTCLK是源自哪一个通道的。当某个bank被设定了特定的协议后,TXUSRCLK这个信号就使能了。他是被四个通道共享的。
 

 
3.3第三个界面需要测试如下参数:

 
主要涉及了外部时钟输入的相关参数。在source这端口选择由GTX的bank提供时钟界面就会变成如下:
 
 

 
3.4参数总结

在这里可以看到MMCM没有用到,值得一提的是,因为我们这的系统时钟是50M,所以不需要MMCM,如果是超过150M.系统则会自动调用。
 

 

4.使用方法
按照第3章节设置参数,然后右击IP,打开示例工程,下载bit文件就可以测试通路。最终效果具体如下图。111和112BANK的第三通道运行在1G的速率下。111BANK是外回环,112BANK是内回环。其中,左侧竖列可以选择添加进行看眼图。
 

其中,最后一列如果选择None这个参数代表了外回环,就是外部把他们短接。如果选择“near***”则是相应的回环模式,具体回环模式在GTX的IP的用户手册上可以看到

  5.7系列FPGAGTX相关参数
Zynq-7000 系列的芯片,对于 FC的芯片封装GTX最高到达12.5G的速率。对于lidless FC的芯片封装的速率可以到达6.6G。对于WB的芯片他的GTP速率高达6.25G。具体的接口资源如下图:

 

6.硬件电路
   硬件电路并不难。主要输入一个系统时钟,这个管脚在普通的时钟管脚就可以。另一个就是需要给GTX模块提供外部参考时钟。参考时钟不同的bank可以共用。这一例中111bank共用了112bank的时钟。


猜你喜欢

转载自blog.csdn.net/weixin_42229533/article/details/86541970