FPGA高速收发器的来源

  最近在学习高速收发器相关内容,阅读手册和完成相关设计后,对于GT收发器的一些主要内容进行记录(手册五百多页,涉及内容太多,暂时用不到的就不进行讲解,之后工程用到在总结)。

  本文主要用于以后回顾,可能部分理解会存在错误,想法不一致的可以在评论区进行交流。

1、回顾其余接口

  首先应该了解这种接口出现的原因,为什么会有这种接口出现,就拿ADC芯片的接口举例吧。

  下图是ad7606芯片的串行数据传输模式的时序图,像这种采样率较低,一般小于1MHz。一般使用spi这种低速接口即可,也是出现比较早的接口。

在这里插入图片描述

图1 ad7606时序图

  下图ad9226的时序图,接口包含一根时钟线CLOCK和一组数据线DATA OUT,每个时钟传输一个数据,时钟频率最大可以达到65MHz。

在这里插入图片描述

图2 ad9226时序图

  之后ADC芯片的采样率进一步提升,高于100MHz,为了提高数据传输的稳定性,将时钟和数据都变为差分信号,增加抗干扰能力。如下图是ads4225的LVDS接口时序图。

在这里插入图片描述

图3 ADS4225的LVDS接口时序图

  上述ad9226和ads4225的LVDS并行接口,时钟线和数据线都要保证等长。

  举个例子,如下图所示,在时钟上升沿采集data的数据,由于data数据线并没有严格等长,data[2]的线比较短,第二个时钟上升沿之后一段时间就传输到FPGA的端口寄存器了,data[4]的走线比较长,第三个时钟上升沿之后都没有传输到FPGA的端口寄存器,那么在clk第三个时钟上升沿会采集到错误数据。这就是为什么数据线和时钟线均要做等长的原因。

  这种少数走线差别可以通过FPGA的input delay进行约束,需要计算每根线的PCB走线延迟,输出寄存器延时等等,会比较麻烦,并且不能对代码进行移植,所以对于这种并行传输的接口在设计PCB时数据线和时钟线必须做等长处理。

在这里插入图片描述

图4 并行数据传输

  但LVDS的数据线和时钟线都是差分信号,导致数据线很多,等长处理很麻烦,但是还能有效果。比如时钟频率200MHz,那么数据只要在5ns之内能够稳定传输到输入寄存器也没有问题,即使每根走线之间有点差距,也问题不大。

  但如果时钟频率继续增加,就要求增加走线等长的精度。当数据传输速率大于2Gbps时,时钟周期小于0.5ns,此时即使微小的等长差距也会引发错误,甚至无法完成这样的PCB布线。

  在这种传输速率下,并行接口将不再合适,进而推出了高速串行接口。

  高速串行接口取消了时钟线,只有一对差分数据线,接收端通过CDR技术从串行数据中恢复时钟信号,之后将数据与时钟同步给用户。像PCIE、JE204B接口均是高速串行接口。

  使用串行接口就可以避免时钟同步和多位宽数据等长问题,但是对于恢复时钟和数据接收难度就增大了,发展到如今,高速串行接口也已经很成熟了。

2、FPGA中其余接口

  FPGA内部包含普通bank和gt bank两种,后者就是高速收发器所在bank。前文提过xilinx的芯片根据架构不同,包含不同类型的bank,其中A7只有HR bank,而K7除此之外还包含HP bank。下文将展示这些普通bank能够达到的数据传输速率。

  如下图所示,以K7为例,平常使用芯片速度等级大多为-2,因此以-2举例。HP和HR bank的单沿数据传输速率均可以达到710Mb/s。

在这里插入图片描述

图5 接口性能

  对于K7的DDR3硬核数据收发速率基本可以达到1600Mb/s以上,如下图所示。

在这里插入图片描述

图6 K7内存接口IP的最大物理接口速率

  下图是A7的DDR控制器的数据收发速率,一般在800Mb/s左右,是K7速率的一半。

在这里插入图片描述

图7 A7内存接口IP的最大物理接口速率

  由上述可知,除了DDR硬核控制器之外,HP和HR bank的ISERDES和OSERDES即使能够实现单沿并行数据与双沿串行数据的转换,但是数据传输的速率依旧不是很高。如果要应对高速ADC和PCIE这些接口,显然速率不够。

3、Gigabyte Transceiver

  基于上述原因,xilinx就推出了Gigabyte Transceiver。Xilinx 7系列的FPGA支持的GT一共有四种,分别为:GTP,GTX,GTH,GTZ,区别在于线速率不同。

  其中GTP被用于A7系列,GTX通常被用于K7系列,GTH一般被用于V7系列,GTZ被用于少数V7系列。

  GTP线速率可以达到6.6Gb/s,具体速率与芯片的速度等级有关,如下表所示,速度等级为-2的芯片线速率可以达到6.6Gb/s。

在这里插入图片描述

图8 GTP速率

  GTX线速率可以达到12.5Gb/s,我用的芯片型号为xc7z030ffg676-2,因此速率可以达到10.3125Gb/s,可以实现万兆网传输。从下图知最大速率与QPLL和CPLL也有关,当线速率大于5.93GHz时使用QPLL。

在这里插入图片描述

图9 GTX速率

  GTH线速率可以达到13.1Gb/s,如下图所示,GTZ线速率可以达到28.05Gb/s,暂时没有找到其数据手册。

在这里插入图片描述

图10 GTH速率

  关于GT收发器出现背景以及HP、HR bank、高速收发器的速率就讲解到这里吧,下节内容将对GTX的手册进行总结、解读。

  本文的表格来自ds181、ds182,如果需要,可以在xilinx官网进行获取,或者在公众号后台回复“xilinx手册”(不包括引号)获取。


  如果对文章内容理解有疑惑或者对代码不理解,可以在评论区或者后台留言,看到后均会回复!

  如果本文对您有帮助,还请多多点赞👍、评论💬和收藏⭐!您的支持是我更新的最大动力!将持续更新工程!

  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Zynq是Xilinx公司的一款片上系统(SoC),其中集成了一颗ARM处理FPGA。而GTX/GTH是Xilinx 7系列FPGA中的高速收发。下面是一些基本概念: 1. GTX/GTH收发:GTX(Gigabit Transceiver)/GTH(Gigabit Transceiver Hard)是Xilinx 7系列FPGA中的高速串行收发。它们支持多种协议,包括PCI Express、SATA、USB3.0、10Gb Ethernet等。GTX/GTH收发的特点是高速、低功耗和灵活性。 2. 通道:通道是指GTX/GTH收发中的一个物理通道,它包括一个发送端和一个接收端。一个GTX/GTH收发可以包含多个通道。 3. 数据速率:数据速率是指GTX/GTH收发传输数据的速度,通常以Gbps为单位。不同的协议有不同的数据速率要求,因此GTX/GTH收发支持多种数据速率。 4. 传输协议:GTX/GTH支持多种传输协议,包括PCI Express、SATA、USB3.0、10Gb Ethernet等。每种协议有不同的数据速率和传输格式要求,因此GTX/GTH收发需要配置不同的参数以支持不同的协议。 5. 时钟和时序:GTX/GTH收发需要使用时钟信号以同步发送和接收数据。时钟信号的频率和时序对于数据传输的稳定性和可靠性非常重要。GTX/GTH收发支持多种时钟配置方式,包括外部时钟、内部PLL时钟等。 6. 驱动和接收:GTX/GTH收发的驱动和接收是用来控制发送和接收数据的电路。驱动控制数据的发送,接收控制数据的接收。GTX/GTH收发支持多种驱动和接收配置方式,包括预加重、均衡、解调等。 以上是一些基本概念,对于GTX/GTH的详细配置和使用,需要参考Xilinx的相关文档和实验指南。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电路_fpga

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值