LVDS与IDELAY

news2024/9/24 17:13:56

摘要: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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1701400.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在看代码的时候,vscode使用书签快速跳转到想看的代码

安装bookmarks 重启vscode之后,摁F1 搜搜索“书签”,更改自己需要的快捷键,我这里更改了三个

生命在于学习——Python人工智能原理(1.2)

一、人工智能的基本知识 6、新一代人工智能驱动因素 (1)数据量爆发性增长。 (2)计算能力大幅提升 (3)深度学习等算法发展 (4)移动AI创新应用牵引 7、人工智能关键技术 &#x…

降价!免费!AI大模型开启价格战,企业如何“薅”出绿色财富?

近期,国内大模型技术供应商之间的价格战,使得这项原本成本较高的技术变得更加亲民,极大降低了企业的技术采用门槛。这不仅为企业提供了经济实惠的技术解决方案,更为他们的绿色低碳转型之路带来了新的机遇。 随着全球气候变化问题…

认知觉醒:情绪绝对是财富的拦路虎……

认知觉醒 无论是投资还是做生意,跟随大众情绪就一定会亏损,老百姓没有是非认知,只有好恶,所以就很容易被人操控情绪。随便一个社会热点事件,就比如最近的涂磊事件、郭有才事件,打开视频的评论区&#xff0…

GaussDB数据库的备份与恢复

1.逻辑备份-gs_dump gs_dump是一款用于导出数据库相关信息的工具,支持导出完整一致的数据库对象(数据库、模式、表、视图等)数据,同时不影响用户对数据库的正常访问。 备份sql语句 gs_dump是openGauss用于导出数据库相关信息的工…

吴恩达2022机器学习专项课程C2W2:2.17 TensorFlow实现 2.18 训练细节

这里写目录标题 本周任务TensorFlow训练神经网络模型的简要过程训练模型的三个步骤1.自行训练逻辑回归模型2.TensorFlow训练神经网络模型 TensorFlow训练神经网络模型的代码含义1.定义模型2.指定损失函数和成本函数3.最小化成本函数 总结QuizQuiz1Quiz2 本周任务 神经网络如何…

ZeroTier+Nomachine远程

目录 前述:一、Zero二、Nomachine 前述: 需要远程控制时,服务端与客户端都必须下载这两个软件!远程主机(被控制的主机)和远程客户端(控制主机的用户)都必须具有网络连接,…

代码随想录算法训练营第四十一天|动态规划理论基础、509. 斐波那契数列、70. 爬楼梯、746. 使用最小花费爬楼梯

动态规划理论基础 什么是动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就…

C语言常用字符串处理函数

C语言中包含了很多对字符串处理的函数,要使用这些函数&#xff0c; 首先需要导入头文件#include <string.h> 1. strlen() -- 计算字符串长度 原型: size_t strlen(char const *string); 例: char *str "abcde"; size_t len strlen(str); // 结果为…

《软件方法(下)》8.3.4.5和《设计模式》中用语的区别

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 8.3 建模步骤C-2 识别类的关系 8.3.4 识别关联关系 8.3.4.4 类关系再整理 有了前面的知识&#xff0c;我们需要再整理一下类的关系。用类图表示类的关系如图8-134。 图8-134 “类的…

c# 贪心算法(Greedy Algo)

贪婪是一种算法范式&#xff0c;它逐步构建解决方案&#xff0c;始终选择提供最明显和直接收益的下一个部分。贪婪算法用于解决优化问题。 如果问题具有以下属性&#xff0c;则可以使用贪心法解决优化问题&#xff1a; 每一步&#xff0c;我们都可以做出当前看来最好的选择&…

Spring Cloud Alibaba 架构-Sentinel熔断降级

Sentinel主要功能 Sentinel 是阿里巴巴开源的一款流量控制、熔断降级组件&#xff0c;它主要用于保护微服务系统。Sentinel 的主要功能包括以下几个方面&#xff1a; 1. 流量控制&#xff08;Flow Control&#xff09;&#xff1a; Sentinel 通过控制并发请求的数量或速率&am…

【Python】搭建pypi私仓

1. 下载依赖 pip install pypiserver # 命令安装 pypiserver 库 pip install passlib # passlib 包来读取 Apache htpasswd 文件apt-get install -y apache2-utils2. 生成密码 使用htpasswd库在指定路径/path/to/.pypipasswd生成密码文件 htpasswd -c /path/to/.pypipasswd …

Windows64位操作系统安装汇编语言环境

1、下载好MASM工具, 并存放在指定路径 2、再安装一个DOSBox 3、打开DOSBox, 并使用 mount 将刚刚存放MASM的路径挂在到C盘&#xff0c;然后进入C盘就可以使用 MASM的命令工具了。 例如&#xff1a; mount c G:\install\study\MASM C:但是DOSBox默认打开的窗口是很小的&…

Jenkins配置(插件/角色/凭证)

目录 传送门前言一、Jenkins插件管理1、更换为国内下载源2、中文汉化插件下载&#xff08;不推荐&#xff09;3、低版本Jenkins爆红插件安装4、低版本Jenkins插件持续报错解决办法 二、Jenkins用户角色三、Jenkins凭证管理&#xff08;svn/git&#xff09;1、Username with pas…

Linux的nload/nettraf命令实时网卡流量监测

对于linux的网卡上下行流量监测方法有很多 例如nload 现成的nload命令 现成的有 nload 安装 yum -y install nload 查看所有网卡实时网速 sudo nload -m 按enter/上下翻页键即可切换网卡 查看指定网卡实时网速 sudo nload eth0 -m 基于nettraf编译的rpm包 当然也可以你…

Java计算日期相差天数的几种方法

Java计算日期相差天数的几种方法 &#x1f5d3;️ Java计算日期相差天数的几种方法摘要引言一、使用java.util.Date和java.util.Calendar&#x1f4c5;1. 使用java.util.Date示例代码 2. 使用java.util.Calendar示例代码 二、使用java.time.LocalDate&#x1f4c6;示例代码 三、…

这13个前端库,帮我在工作中赢得了不少摸鱼时间

前言 平时开发的过程中&#xff0c;常常会使用到一些第三方库来提高开发效率&#xff0c;我总结了自己工作这么久以来经常用到的 13 个库&#xff0c;希望对大家有帮助&#xff5e; antd 全称应该是Ant Design&#xff0c;这是一个 React 的组件库&#xff0c;旨在提供一套常…

基于springboot实现中国陕西民俗网系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现中国陕西民俗网系统演示 摘要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c…