高速Serdes串行接口
在以往的IC之间的源同步当中,发送的信号包括数据流信号,以及随着数据流信号同步的时钟信号,时钟信号在低速传输的情况下:1G以下传输,外部的扰动以及时钟抖动不会太影响数据流的恢复,但是如果时钟信号突破了1G甚至更高的情况下,外界环境中比如EMI的各种影响会引起时钟发生抖动,在高速采样恢复的过程中,这就没办法使用该时钟信号恢复数据,这里就用到了高速Serdes串行接口的恢复办法,将数据和时钟都通过高速线上传输,然后接受端通过PLL从数据流中恢复时钟,即使在传输的线上有轻微抖动,但是时钟和数据同时抖动,同时考虑到收发两处如果共地很难实现这里就要使用到了差分传输技术,将收发两部都设置为差分传输模式,即使不共地,即使传输过程中有轻微扰动,也不会影响从数据流中恢复出时钟信息;那么如何从串行的数据流中恢复出时钟信息呢?
这里就要用到了编码技术,也就是8B10B编码或者6466B编码;
在高速Serdes的串行传输中,传输过程类似于高速AD采样都是通过将时钟分割,采用多相位提取技术,将高速串行数据流切割为N份,接受到数据后经过设定的特定同步触发器装置将相位不同的数据流进行同步,可以看到需要用到的时钟为高速串行数据流的1/4,这里用到的时PLL技术从高速串行数据流中恢复时钟,以往的PLL技术恢复时钟,需要用到数据流中对应的时钟信号,比如在这次高速串行数据流中,如果按照以往的PLL设置,需要用到In数据流所对应的高速采样时钟信号,但目前的PLL设置,不需要用到对应的高速采样时钟信号,目前的PLL技术中包括分数速率鉴相器,多相PLL,并行采样和过采样数据恢复,使用这些个技术就可以恢复到PLL。(留个坑 学习一下分数速率鉴相器,多相PLL,并行采样和过采样数据恢复;)
Comma检测:
在Serdes上面的高速穿行流转换为多字并行,如何要找到字边界进行对齐,这就需要特殊序列就是Comma检测,而且千万不能和传输的数据冲突,这就是K码,逗号检测,在数据链路同步对齐过程中,逗号检测就是意为从该指定位置开始进行对齐操作,指专用的一两个符号,是特定的序列,是完成串并转换的起始位置,而且逗号序列也必须是唯一的,其他任何传输序列或者传输数据中也不能包含逗号序列,否则容易产生误判。
比如在JESD204B传输中使用K28.5作为逗号。
在很多基于Serdes的高速串行协议中传输数据都是以包的形式进行发送,包包括帧头数据帧尾,在大多数的串行数据链路包中Serdes都需要一种特殊的序列将数据对齐,尤其是在需要恢复时钟的数据包中,必须找到数据恢复和时钟恢复的起始位置,此时就可以将逗号作为起始或者结束的标志,空闲符号是另一个重要概念,在没有数据传输的时候,也就是在串行线上没有数据的时候就发送空闲字符,而进行连续数据传输时就可以确保链路保持对齐,PLL保持恢复的时钟锁定。
在进行高速串行数据如果需要恢复时钟,这里就需要一个参考时钟的概念,这里的参考时钟必须极其精确,ref_clk需要的晶振要求较高。
通常情况下的时钟矫正技术:在时钟校正中,每个MGT包含一个FIFO,然后在使用中,将数据通过高速串行时钟将数据送入FIFO中,然后通过内部的并行时钟将数据从FIFO中读出,这里完成了一个跨时钟域传输,在使用时钟校正中用到了FIFO,用到FIFO就需要考虑到时钟的空满,如果CDR(Clock and Data Recovery)时钟和本地时钟并不完全相同,如果不采取某些手段那么必然会导致FIFO出现空满,为了防止这种情况出现在传输的过程中必须周期性的发送一些可以复制或者可以删除的某些字节以防止FIFO的溢出或不足;
当然如果传输过程中参考时钟发送给收发器双发的时钟信息相同,那么就不需要采用时钟校正。
MGT通道传输的接受FIFO要比传输FIFO深度要大的多,因为需要完成时钟校正和通道绑定,时钟校正在上方已经提及,通道绑定:
就是在某些具体传输过程中,单个的串行链路传输数据容量已经不够满足数据传输容量,这里也就需要通过多个数据传输通道,多个并行的数据传输通道在结果上看就是数据容量扩大了,但是这也就导致数据通道必须对齐,这就是通道绑定;
通道绑定技术就是将多个通道之间的产生的偏斜计算出来然后传输给用户,完成数据对齐
在将数据传输到FIFO中后,从FIFO中读出数据时,会根据具体数据通道的偏斜量根据延迟从FIFO中读出数据,完成数据对齐;
高速串行总线的电平信号及预加重技术
Serdes的物理接口上采用了基于差分的电接口模式,差分电流模式上选择CML电流模式逻辑,发送端:
接受端:
预加重是因为在高速串行数据流中符号符号之间存在串扰,也就是符号间干扰,
符号间干扰指的是当串行流中包含若干个相同的值时间后有短的相反值时间时就会发生符号间干扰,在较短的值时间内由于充电时间短,所以产生的振幅低。
预加重就是在充电时候进行过度驱动,所以在发生符号间干扰时,即使充电的时间较短,但是存在过度驱动的情况也就会发生幅值并不是太低的情况了。
本文只是一个比较统观的概念,笔者由于项目需求,离不开高速串行接口的使用,而实际上在具体的工程项目中,基本上都离不开高速串行接口的使用,无论是X家的Transceiver还是A家的Serdes,都必须通透理解,而具体的使用也必须经历过上板调试之后才可以说是已经学会甚至融汇贯通了,所以这里留个坑,接下来就要面对痛苦的上板调试过程了~~
高速Serdes串行接口相关推荐
- (34)FPGA面试技能提升篇(高速SERDES)
1.1 FPGA面试技能提升篇34(高速SERDES) 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试技能提升篇34(高速SERDES): 5)结束语. 1 ...
- 高速SerDes PCB 设计
Agenda: 差分信号的优点 高速PCB layout设计应考虑的点 PCB Material 差分信号的回流 阻抗的连续性 stitching via 焊盘参考平面挖空 背钻 back drill ...
- 高速serdes技术学习总结
Channel的特性 在不同的长度,loss区别很大.一般在设计的时候,会拿一个channel的model一般是Sparameter或者是LGC这种model,然后在前仿真/后仿真去验证我们的desi ...
- 高速串行总线设计基础(五)揭秘SERDES高速面纱之多相数据提取电路与线路编码方案
文章目录 前言 多相数据提取电路 线路编码方案 8B/10B编解码 运行差异(Running Disparity) 控制字符 Comma 检测 加扰技术 参考文献 前言 SERDES可以工作在多吉比特 ...
- 深入浅出理解SerDes
我们平时使用的I2C.串口等其实都是串行总线,但是因为他们速度较低.时序简单,所以很少在高速串行总线时被提及.但是在高速时代的今天,一些高速总线,如LVDS.MIPI.SERDES.SATA.USB等 ...
- SerDes,GTP , GTX , GTH理解
SerDes:是串行/解串器,也可以叫串行收发器 GT(包括GTX.GTH和GTP):是Xilinx在高速SerDes的基础上,增加了其他模块,如8b/10b编解码等(具体可以看Xilinx相关文档, ...
- FPGA高速数据采集设计JESD204B接口
FPGA高速数据采集设计JESD204B接口的应用场景 作者:陈刀刀 本文为明德扬原创文章,转载请注明出处! 一,JESD204B应用的优缺点 接触过FPGA高速数据采集设计的朋友,应该会听过新术语& ...
- 一文读懂SerDes技术
SerDes Technology 1. Serial Interface Technique Development 1.1 Parallel/Serial Interface 数据的传输最开始是低 ...
- LVDS之一_理解SerDes
原文地址: http://blog.sina.com.cn/s/blog_aec06aac01013m5g.html FPGA发展到今天,SerDes(Serializer-Deserializer) ...
最新文章
- [cocos2d-x]cocos2d和cocos2d-x的一些通用性
- Android ViewFlipper滑动屏幕切换
- 《SQL Server企业级平台管理实践》读书笔记——几个系统库的备份与恢复
- 联合索引会创建几个索引_面试官:谈谈你对mysql联合索引的认识?
- AngularJS开发指南4:指令的详解
- angular 点击事件阻止冒泡及默认行为
- shell 删除了hdfs 文件_从零开始学大数据(三) Shell操作HDFS文件系统-中
- 【华为云技术分享】一文带你了解Web前端发展历程
- oracle获取当前年上一年时间,Oracle获取一年中的所有日期和一个月中的所有日期...
- 在linux服务器上安装sublime编辑器
- 字体的基础知识:英文字体的特征及结构(终于找到了)
- 【word自带的公式编辑】如何删除公式里面的空行or对齐公式
- PHP爬虫最全总结1
- jQuery双指放大缩小页面内容
- 人类2100年长啥样?3D建模模拟出来让人惊掉下巴!
- applet java_Java—Applet
- 如何搭建高德离线地图服务
- B2C电商项目(第十五天、秒杀后端、异步下单、防止恶意刷单、防止重复秒杀、下单接口隐藏、下单接口限流 )
- asp毕业设计——基于asp+access的教师档案管理系统设计与实现(毕业论文+程序源码)——教师档案管理系统
- [转]跨越千年的RSA算法
热门文章
- 朝华、雪狼湖、17173及其他
- 好用的Typecho在线音乐播放插件-APlayer
- E014 如何把Ppt文本框文字提取写入Word
- OpenShift Authentication
- 用c++解决一个数学问题-求阴影面积
- 蒙特卡洛实现python过程_python项目实战:实现蒙特卡罗方法,求物体阴影面积
- 表格排序问题,element表格排序问题,element-plus表格排序问题
- 2023年北京科技大学电子信息(控制工程)专业专硕考研上岸经验分享
- gta5怎么设置画质最好_GTA5 PC版2G显卡设置最高画质心得 GTA5怎么设置画质
- sharedpreferences存不进去_女子存30万在余额宝半年,为了花呗借呗提额!结果却超乎想象...