42636|48

1950

帖子

4

TA的资源

版主

用 FPGA 正确拿下 LVDS 的数据 [复制链接]

 
本帖最后由 5525 于 2016-7-17 11:35 编辑

用 LVDS 传送数据的优点,不多说了。用 FPGA + LVDS传送 IC 的应用,这个没啥难的,不多说了。
用 FPGA 直接进行 LVDS 传送, 单说 FPGA 发送,这个也没什么悬念,不多说了。


今天主要说 如何用 FPGA 正确的接收 LVDS数据。尤其是高速的数据。





lvds sys.png
FPGA lvds sys.png
此帖出自FPGA/CPLD论坛

最新回复

 LVDS能做到800MHz需要注意哪些设计,单说FPGA能支持这么高速度的就不好匹配了吧,考虑成本的话   详情 回复 发表于 2024-4-15 10:26
个人签名MicroPython中文社区https://micropython.org.cn/forum/  

回复
举报

1204

帖子

1

TA的资源

纯净的硅(初级)

很有学习价值,搞个fpga群吧,大家可以探讨学习
此帖出自FPGA/CPLD论坛

点评

论坛有个Altera Soc群,可以进群讨论讨论。点击链接加入群【Altera SoC讨论群】:http://jq.qq.com/?_wv=1027&k=2G735ng  详情 回复 发表于 2016-6-17 12:15

回复

1950

帖子

4

TA的资源

版主

本帖最后由 5525 于 2016-6-16 22:51 编辑

其他细节,要应具体项目而定:
  clock的抖动范围啦,
  clock带不带ssc啦,带ssc的话,是个什么范围
  1个 bit 多少 ps 啦,
  1个 tap 多少 ps啦,误差多少

  参照数据是设么啊
  7倍时钟用什么地方的 pll/DCM啦
  是数据不动条时钟,还是时钟不动调数据
  mapping的位置,是不是都固定好了

另外,一定要用 chipscope/signaltap, 把自己扫窗口的数据,抓下来看看



此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  

回复

1950

帖子

4

TA的资源

版主

对于一个时钟传送两个比特数据的,也就是 传说的 DDR,
现在随处可见,调整好时序,做好约束,用iddr拿下数据即可
iddr.png
此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  

回复

1950

帖子

4

TA的资源

版主

本帖最后由 5525 于 2016-6-16 22:27 编辑

LVDS一个时钟可以传送几个bit数据,我们用一个时钟,7bit 数据来举例

数据多了,用iddr不够,的用 iserdes
数据采样的时钟 也得 7倍快,这个好办
直接把 7倍的时钟接到 iserdes上,运气好的话,数据或许能拿下了。

思想:
  以时钟位参照物,做calibration, 就是通过 调整 iodelay tap数 来找到数据的中心点

正确做法:
  1 把时钟分成 参照数据 和 时钟两部分
  2 先把参照数据(时钟)时钟连接 iodelay, iodelay 输出到 iserdes
  3 设定IODELAY TAP 为0,用7倍的时钟来M次采样 参照数据(时钟本身),记录成功次数
  4. 依次加大 IODELAY TAP数,记录每个的成功数
  5. 得到一组 成功次数 后,想个小算法 找的中心点
  6. 把所有的 lvds 输入相关的 iodelay tap 数,都设定成5里面得到的书
  7. 完成

clk1.png
此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  

回复

1950

帖子

4

TA的资源

版主

本帖最后由 5525 于 2016-6-18 20:02 编辑

中心点算法
  1. 找到全部能采到数据的 tap 数,和不能采到数据的 tap 临界点,然后直接跳一半
  2. 直接用连续的,且都能拿下数据的 tap 数区域,取中心
  3. 用正态分布法,来找数据中心点

评论:
1. 电路板,和送信端 数据品质好的话,没事, Xilinx的参照代码就这么弄得
    电路板做的一般,送信那头还在抖得话,这个算法就不行了


2. 能想到自己动手,扫描窗口,已经算积极了,
  一看结果,有效窗tap数 10个,取一半,中心点在第5个
  这个算法一般,数据只要不太差,都能拿下来


3. 我推荐用第三个,看起来稍微烦了点,
   但是能找到最理想的数据中心点,数据品质好能拿下,
   品质一般也能拿下,
   品质差,也能最大限度的拿下数据。
  
center.png
此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  

回复

458

帖子

1

TA的资源

一粒金砂(高级)

赞一个,最近有时间也学习学习  LVDS确实是一个好的方法
此帖出自FPGA/CPLD论坛

回复

1万

帖子

2854

TA的资源

管理员

不足论 发表于 2016-6-17 08:06
很有学习价值,搞个fpga群吧,大家可以探讨学习

论坛有个Altera Soc群,可以进群讨论讨论。点击链接加入群【Altera SoC讨论群】:http://jq.qq.com/?_wv=1027&k=2G735ngAltera SoC讨论群 261940748
此帖出自FPGA/CPLD论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

玩板看这里:

https://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!


回复

1950

帖子

4

TA的资源

版主

谢谢大家支持。
为啥 之前数据窗口挺好的,咋就的时候就呢样了。


原因是这样的,为了方便不喜欢计算的朋友,
这个一个三角代表数据有效窗口缩小 60ps左右,叫他TAP吧


1. 送的时钟抖动,窗口小一个TAP
2. 送的serdes到送PAD的时间不一致,窗口小一个TAP
3. 送PAD到板子送接口时间不一致,窗口小一个TAP
4. cable上时间不一致,窗口小一个TAP
5. 接收那头 到板子上时间不一致,窗口小一个TAP
6. 收板子接口到收的FPGA PAD时间不一致,窗口小一个TAP
7. 收PAD到收serdes时间不一致,窗口小一个TAP
8. 收的时钟抖动,窗口小一个TAP


在加上温度,电压的差异,最后有效窗口剩一半,差不多了。


上面只是经验值,供参考,具体情况请自己计算
lvds window.png
此帖出自FPGA/CPLD论坛

点评

仰慕一下大神,FPGA不是很懂啊。哎,用FPGA来处理解串芯片的输出信号,原装设备这样用的,应该不太多吧。一般应该不用FPGA吧。  详情 回复 发表于 2016-6-17 22:17
个人签名MicroPython中文社区https://micropython.org.cn/forum/  

回复

3471

帖子

11

TA的资源

五彩晶圆(高级)

5525 发表于 2016-6-17 21:41
谢谢大家支持。
为啥 送之前数据窗口挺好的,咋就收的时候就呢样了。


原 ...

仰慕一下大神,FPGA不是很懂啊。哎,用FPGA来处理解串芯片的输出信号,原装设备这样用的,应该不太多吧。一般应该不用FPGA吧。
此帖出自FPGA/CPLD论坛

回复

1950

帖子

4

TA的资源

版主

不太明白你的问题,你看这样是不是回答了你的问题

FPGA买回来是空的,的自己做逻辑
FPGA买回来里面也有硬core, 的调用它,控制他,用它
不然,他就一张白纸似的
此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  

回复

277

帖子

0

TA的资源

一粒金砂(中级)

写的好,版主要是配合点代码示例讲解就更好了
此帖出自FPGA/CPLD论坛

回复

1950

帖子

4

TA的资源

版主

本帖最后由 5525 于 2016-6-18 20:03 编辑

现在都懒的写代码了,这还是n年前项目里面的,简单跟大家共享下。 有兴趣自己写的,这东西自己搞才能真正明白
此帖出自FPGA/CPLD论坛

点评

和AXI总线相比,有什么优缺点阿  详情 回复 发表于 2016-6-18 14:24

回复

95

帖子

0

TA的资源

一粒金砂(中级)

5525 发表于 2016-6-18 13:27
现在都懒的写代码了,这还是n年前项目里面的,简单跟大家共享下。 有兴趣自己写的,这东西自己搞才能真正明 ...

  和AXI总线相比,有什么优缺点阿
此帖出自FPGA/CPLD论坛

回复

1950

帖子

4

TA的资源

版主

本帖最后由 5525 于 2016-6-18 20:04 编辑

AXI 是片内总线,物理上是1clk里面多对多传送,有主有从,有读有写

LVDS
是片间,板间传送,只有送和收的概念,也可做成双向,单对适合高速 800MHz 没问题,配线好弄  

axi也可用在板间,物理上有速度瓶颈,200MHz配线就麻烦了
此帖出自FPGA/CPLD论坛

回复

1950

帖子

4

TA的资源

版主

SSC:spread spectrum clock这个学名英文直接是这样的,
  -- clock没有ssc的时候,在一定小范围抖动
  -- clock有ssc的时候,时钟就一会快,一会慢(怎么个快,怎么个慢法有曲线图


LVDS发送的那头,clock 如果是加了 SSC 的话, 接收的FGPA的注意了。
有的FPGA公司专门声明,他们x 型号的 FPGA 不支持这个,
这个时候还要拿下数据,就要在改进窗口采样和校对方法了。


这个麻烦,ssc有什么用。
出产品,要拿这个认证,那个认证的时候,这个ssc就帮忙了。



ssc.png
此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  

回复

1950

帖子

4

TA的资源

版主

电路设计注意事项:
选pin脚
  输入,PAD到serdes的时间,
  输出,serdes到PAD的时间,
  -- 这两个时间要最小,必须先写代码,选PIN叫,跑综合,看时序报告。
  -- 选的pin还要好layout,这个可能需要几个反复

LVDS走线长
 PAD到接口,或接口到PAD,
 要尽量短,而且始终和数据要group,组内走线误差要小,
 误差一大,最后数据有效创就越小


出了上面两点,还有就是LVDS常规的 电路设计guideline.
手册上说这xxFPGA  LVDS能达到多少多少,
那是在上面电路设计都OK的前提下。

此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  

回复

65

帖子

0

TA的资源

一粒金砂(中级)

只能看看
此帖出自FPGA/CPLD论坛

点评

这位网友,你好, 你们给FPGA打板,LVDS最快做到什么速度了。 用的又是什么LVDS协议了,如果有眼波,上一个的话,大家就清楚了。  详情 回复 发表于 2016-7-4 21:42
个人签名专PCB打样50元(可做线3mil孔0.2mm)电:13480101190  QQ2506879591(众一电路pcb网址http://www.zyidl.com/t)

回复

1950

帖子

4

TA的资源

版主


这位网友,你好,
你们给FPGA打板,LVDS最快做到什么速度了。
用的又是什么LVDS协议了,如果有眼波,上一个的话,大家就清楚了。
此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  

回复

86

帖子

0

TA的资源

一粒金砂(中级)

这是什么产品?
此帖出自FPGA/CPLD论坛
个人签名慈溪市志方通信:生产光缆交接箱、光纤分纤箱、光纤配线箱、光分路器箱、ODF光纤总配线架、MODF光纤总配线架,三网合一光纤配线架,三网合一光缆交接箱、三网合 ...

回复
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表