LVDS与IDELAY

摘要:LVDS(Low-Voltage Differential Signaling)低电压差分信号,是一种低功耗、低误码率、低串扰和低辐射的差分信号技术;LVDS会被经常使用到,使用的过程中难免会碰到时序问题,需要借助IDELAY进行简单的时序调整;我在使用4*4lane LVDS传输数据时碰到了很多问题,本篇文章作为记录;

一、LVDS

LVDS对于FPGA侧来说无非就是一对差分线,直接用就行;我使用的场景中,需要用到24对LVDS(外部有4路芯片,每路6对LVDS)

二、IDELAY的使用

2.1 差分转单端

把需要用到的所有差分信号,转单端信号,后面会用到:

2.2 IDELAY CTRL

i_clk_delay目前来看并没有什么特殊要求,这里我给的是主时钟MMCM分出来的300MHz时钟;需要注意这里的IODELAY_GROUP貌似要统一名字;

2.3 IDELAY3

里面连接的i_idelay_clk使用的是芯片2243过来的随路时钟,这个时钟应该是300MHz,2243传送过来的的数据速率是600Mbps;

2.4 IDDRE1

IDELAY3的输出接到IDDRE上面;

i_bitclk是300Mhz时钟;

iddre的输出就可以拿来用了,但是时钟域依旧是i_bitclk;

三、调试

3.1 LVDS时序问题

一般LVDS出现时序问题,会出各种各样的情况,但是总结下来无非就是两点,数据本身和数据量有问题;也就是说,数据要么就是错误的,要么数据量不对,两者很有可能同时出现;

按照经验,在确保物理硬件布线没有问题的情况下,LVDS出现时序问题,很有可能就是布局布线导致的,所以异常的现象并不是固定一致的,应该会随着版本的变化而变化;此时此刻,通过调整idelay是很有希望解决这个问题的。如果物理硬件布线有问题(没遇到过),很难调试;

如图所示,理论上收到的数据应该是1,2,3,4,5,6,7,8,但是现在出现了16,12,0e,0a;理论上收到的数据量是786432个,并且图中784383对应的应该是1,现在对应的是2,证明了数据量也少了(在测试LVDS时序问题的时候,一定要有一套标准证明数据本身不对或者数据量少了);

我的验证标准:

由于雷达2243会传过来bitclk、valid、frameclk、data0、data1、data2、data3;可以选择用valid去计算数据量,理论上valid应该和四路data是严格对齐的;所以可以用多个计数器从不同角度计数valid,可以对比计数器,保证每个计数位置的唯一性,从而验证出数据量是否正确;要验证数据本身正确,一定要让对端发送有规律的数据,才能够比较清晰的判断数据本身有没有发生错误(2243有testpattern模式、testsource模式、真实数据模式);

调节idelay:

调节idelay基本上可以盲试,因为9bit的位宽,一共就512个数,我认为一路data能够对齐的情况下,相邻几路data数据的延时,基本一致;但是芯片和芯片间的LVDS延时或许会有不同;但是即便如此,调delay就是一个尝试的过程,有了标准,多试几次,就能够测出正确的结果;

总结

很久以前做过的东西,写出来加深印象

参考文章:

FPGA内部资源(Xilinx) ---- IDELAY(延时)_idelaye2原语-CSDN博客

相关推荐
szxinmai主板定制专家2 小时前
电力边缘 AI 落地难点剖析:RK 系列 + FPGA 异构平台在储能监控终端的 EMC 与算力优化
人工智能·fpga开发·arm+fpga·rk3588+fpga
szxinmai主板定制专家3 小时前
基于RK3588+FPGA+AI的储能电站边缘网关,实现电力数据采集与智能预警
arm开发·人工智能·fpga开发·rk3576·半导体设备
XMAIPC_Robot4 小时前
储能控制器产品化:ARM+FPGA整机高低温、EMC可靠性测试实战总结
arm开发·人工智能·fpga开发·arm+fpga·rk3588+fpga
szxinmai主板定制专家4 小时前
面向虚拟电厂协调控制:RK3588+FPGA+AI边缘控制器设计思路与算力评估
人工智能·嵌入式硬件·fpga开发·机器人·jetson·zynq·振动采集
XMAIPC_Robot7 小时前
国产FPGA替代Xilinx在储能电力采集场景可行性评估与移植经验
人工智能·算法·机器学习·fpga开发·rk3588+fpga
星夜离尘568 小时前
Testbench不只看波形:用scoreboard抓住丢包、重复和乱序
fpga开发·verilog·testbench·scoreboard
狂奔蜗牛(bradley)8 小时前
EtherCAT 主站拓扑判定的三级防护:从去抖到振荡检测
人工智能·嵌入式硬件·fpga开发·架构
XMAIPC_Robot8 小时前
工商业储能EMS边缘计算:本地AI负荷预测,彻底摆脱云端依赖
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
XMAIPC_Robot8 小时前
FPGA+ARM联合调试避坑:储能电力采样数据同步、丢包问题定位与根治方案,应用于储能EMS、微网控制器中
arm开发·人工智能·fpga开发·rk3588+fpga·rk3576+fpga