FPGA与LVDS信号兼容性分析方法

本文转载自: OpenFPGA微信公众号

很多工程师在使用Xilinx开发板时都注意到了一个问题,就是开发板中将LVDS的时钟输入(1.8V电平)连接到了VCCO=2.5V或者3.3V的Bank上,于是产生了关于FPGA引脚与LVDS(以及LVDS-33,LVDS-25)信号相连时兼容性的问题,该专题就解决一下这类问题。总的来说,只要按照下面图 1和图 2流程进行判断即可。

这里补充一点知识,Xilinx的FPGA从7系开始分HR IO Bank和HP IO Bank,其中HR(High Range)Bank支持1.2V,1.5V,1.8V,2.5V以及3.3V供电;而HP(High Performance)Bank只支持1.2V,1.5V,1.8V供电,不再支持2.5V和3.3V供电。

图 1

图 2

针对LVDS的兼容性,图 1和图 2已经可以解决绝大多数问题了,这里做一些补充和解释。

很明确的结论:作为输入引脚时,VCCO不等于1.8V的Bank有可能可以连接LVDS电平标准输入;VCCO不等于2.5V的Bank有可能可以连接LVDS_25电平标准输入。但是作为LVDS输出引脚时, 相应Bank的VCCO必须与电平标准的电压相匹配。

VCCO是IO Bank的Output Driver的驱动电源,Input Receiver中部分功能是由VCCAUX供电的。这就解释了为什么作为输入引脚时,电平标准可以与VCCO不匹配。当然Input Receiver也受到VCCO的影响,见第3条。

当LVDS作为输入引脚时,判断是否可以使用的第一条原则是,作为输入信号的绝对电平不能超过VCCO+0.2V这个绝对电压门限,否则有可能损坏引脚的Input Receiver。这是图 1和图 2中都做了判断的根本原因。

当LVDS作为输入引脚时,判断是否可以使用的第二条原则就是对比信号输入与Xilinx相关器件的LVDS的共模电压以及峰峰值的指标是否满足。例如Kintex系列的器件需要查阅DS182中的相关参数,如下图所示。

图 3

图 4

当LVDS作为输入引脚时,如果相应Bank的VCCO与对应的电平标准不匹配,即使可以使用,但DIFF_TERM功能一定不可使用。

当LVDS作为输入引脚时,如果确实没有办法满足图 1和图 2的条件时,可以使用AC耦合的解决方案。其原理在于所谓的电平不匹配都是共模电压不匹配,如果使用如图 5所示的电路,其中AC耦合电容将DC电压阻断,也就是TX端的共模电压不会传到RX端,RX端只能接收到差分的输入信号,而RX端的共模电压通过RBIAS进行调节,以满足RX端接收到的绝对电压不会超过VCCO+0.2的要求。

图 5

Xilinx FPGA中的LVDS current-mode driver是真正的电流驱动器,不是电压模拟型的驱动器。

附录 参考文档
[1] https://www.xilinx.com/support/answers/43989.html

[2] UG470 7 Series FPGAs SelectIO Resources

[3] DS182 Kintex-7 FPGAs Data Sheet: DC and AC Switching Characteristics

推荐阅读