Xilinx 7系FPGA LVDS使用要注意了,供电不能搞错

最近新做了一块板子,用到Spartan 7芯片对前级视频源叠加OSD菜单,前级会将HMDI转成LVDS送给FPGA处理,在原理图设计阶段没有仔细阅读fpga手册,导致LVDS BANK供电错误,应该接2.5V,实际接3.3V,且BANK供电没有用磁珠隔开,整板3.3V铺在一个平面,导致fpga lvds无法工作。搜集了相关资料,这里做下小结,避免后续再犯类似错误。

------------------------------------------------------------------------------------------------------------------------------------

1、HR和HP banks基本介绍

Xilinx的7系列FPGA有两种IO Bank:HP(High Performace)和HR(High Range)。HP(high-performance)I/O banks的设计目的是为了获取更高的Memory及chip-to-chip间的传输速率;而HR(high-range)I/O banks的设计目的是为了更宽的I/O电平标准。两种BANK的IO口电压不同,其中HR I/O Banks的VCCO电压最大为3.3V,HP I/O banks的VCCO电压最大为1.8V。特别是初次使用7系列时,在硬件设计中特别要注意它们I/O口的最大工作电压,一不注意就会把电压搞错,导致FPGA不能正常工作。

2、HR和HP banks的LVDS电平

当两个banks的I/O口作为LVDS电平时,HR banks的I/O电压VCCO只能为2.5V,HP banks的I/O口电压为1.8V。两个banks支持LVDS的标准不同,HR I/O banks的I/O只能分配LVDS_25标准,HP分配为LVDS标准。

LVDS_25的直流特性如下表所示。

LVDS的直流特性如下表所示。

对比上述两表可知,虽然LVDS_25和LVDS的bank的工作电压不同,但是LVDS电平的直流特性一样。高速AD/DA的LVDS工作电压一般为1.8V,在初次使用7系列时,一些硬件工程师可能担心:HR bank的工作电压为2.5V,那么HR bank的LVDS是否可以直接连接工作电压为1.8V的AD/DA的LVDS接口,通过查看它们LVDS的直流特性,可知可以放心的直接连接。

3、HR banks电压接错LVDS还能使用吗

正如上述所描述,初次使用7系列的硬件工程师,需要把1.8V工作电压AD/DA的LVDS接口连接到FPGA时,设计人员把FPGA HR banks的I/O口电压VCCO直接设计跟AD/DA I/O一样的电压为1.8V,由于没有仔细查看FPGA的数据手册,导致设计存在缺陷。当电路板加工、贴片回来才知道设计有问题时,心里肯定忐忑不安,这样低级错误领导肯定得盘我了。此时,千万别慌张,不要想着立马重来一版,想着如何可以弥补,即使不能保证完全可用,也至少得验证一些功能,让此版电路板有所价值,不能做出一版废的电路板,这是大部分硬件工程师的愿望。笔者遇到过此问题,验证过即使HR I/O电压设计为1.8V,同样可以作为LVDS使用。也通过咨询过Xilinx官方技术人员,I/O电压主要影响LVDS的阻抗匹配。那么电压不对就无法保证LVDS速率达到理论速率,具体能到多少速率那就看自己的“人品”了。

----------------------------------------------------------------------------------------------------------------------------------

xilinx 7系列芯片不再支持LVDS33电平,在VCCO电压为3.3V的情况下无法使用LVDS25接口。

有些设计者想通过在软件中配置为LVDS25,实际供电3.3V来实现LVDS33也是无效的,原因是xilinx 7系列芯片在IO配置方面增加了过压保护,因而无法通过欺骗综合软件的方式强行配置IO,具体参见

 7-Series SelectIO Resources Guide, page 100, Note 2 states:

"if the voltage exceeds 2.85V, the outputs will be in a high-Z state. The device should always be operated within the recommended operating range as specified in the 7 series FPGA data sheets."

虽然在VCCO为3.3V情况下无法输出LVDS25,但可以作为输入进行使用,具体参见AR#43989 https://www.xilinx.com/support/answers/43989.html


即使VCCO电平不是1.8V,在HP I / O bank中也可以使用LVDS输入。 LVDS输出(因此双向LVDS)只能用于1.8V供电的组。

同样,即使VCCO电平不是2.5V,也可以在HR I / O bank中使用LVDS_25输入。 LVDS_25输出(因此双向LVDS_25)只能用于2.5V供电的bank。

查了上述说法之后,我们自己试验下:

实验验证:

Bank14为HR Bank,差分输入以及差分输出使用LVDS电平:

提示说明,LVDS电平不支持HRbank。

差分输入以及差分输出使用LVDS25电平:

Xilinx 7系FPGA LVDS使用要注意了,供电不能搞错_第1张图片

提示VCCOs矛盾,输出差分时钟sys_clk_out_p,要求VCCO=2.5V,但对输入并没有这种要求。

验证了:

即使VCCO电平不是1.8V,在HP I / O bank中也可以使用LVDS输入。 LVDS输出(因此双向LVDS)只能用于1.8V供电的组。

同样,即使VCCO电平不是2.5V,也可以在HR I / O bank中使用LVDS_25输入。 LVDS_25输出(因此双向LVDS_25)只能用于2.5V供电的bank。

官方更详细说明:

1、https://www.xilinx.com/support/answers/43989.html

2、https://forums.xilinx.com/t5/Design-Entry/spartan7-power-wiring-LVDS-25/m-p/984802

你可能感兴趣的:(FPGA/DSP)