serdes接口速率_通用串行接口

serdes接口速率_通用串行接口在以往的IC之间的源同步当中,发送的信号包括数据流信号,以及随着数据流信号同步的时钟信号,时钟信号在低速传输的情况下:1G以下传输,外部的扰动以及时钟抖动不会太影响数据流的恢复,但是如果时钟信号突破了1G甚至更高的情况下,外界环境中比如EMI的各种影响会引起时钟发生抖动,在高速采样恢复的过程中,这就没办法使用该时钟信号恢复数据,这里就用到了高速Serdes串行接口的恢复办法,将数据和时钟都通过高速线上传输,然后接受端通过PLL从数据流中恢复时钟,即使在传输的线上有轻微抖动,但是时钟和数据同时…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

        在以往的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电流模式逻辑,发送端:

CML 驱动

接受端:

MGT 接收器

预加重是因为在高速串行数据流中符号符号之间存在串扰,也就是符号间干扰,

符号间干扰指的是当串行流中包含若干个相同的值时间后有短的相反值时间时就会发生符号间干扰,在较短的值时间内由于充电时间短,所以产生的振幅低。

        ISI

 预加重就是在充电时候进行过度驱动,所以在发生符号间干扰时,即使充电的时间较短,但是存在过度驱动的情况也就会发生幅值并不是太低的情况了。

       本文只是一个比较统观的概念,笔者由于项目需求,离不开高速串行接口的使用,而实际上在具体的工程项目中,基本上都离不开高速串行接口的使用,无论是X家的Transceiver还是A家的Serdes,都必须通透理解,而具体的使用也必须经历过上板调试之后才可以说是已经学会甚至融汇贯通了,所以这里留个坑,接下来就要面对痛苦的上板调试过程了~~

        

        

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/230821.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SpringBoot源码分析

    SpringBoot源码分析一.SpringApplication.run(Xxx.class,args)源码分析@SpringBootApplicationpublicclassIndexApplication{publicstaticvoidmain(String[]args){SpringApplication.run(IndexApplication.clas…

  • Altium Designer 13 只能选中当前层元器件

    Altium Designer 13 只能选中当前层元器件今天打开一个ad工程,发现pcb只能选中当前层原件,其它层原件都不能选中。如图所示:这个问题以前都没遇到过,百度后发现是视图配置里面设置了。首先右键pcb文件如下图所示:然后会弹出下面的窗口:在单层模式的位置可以设置如何显示。如果需要取消这些设置 可以按下快捷键shift+s

  • Thinking in Java 系列 —(一)基本语法和操作

    Thinking in Java 系列 —(一)基本语法和操作前言本系列由阅读Thinkinjava4th英文原版完成。Thinkinjava作为最权威的java书籍之一,读起来其实并不通俗易懂,并不适合初学者。但是他的解释和语言是java运行的标准。当我读的时候有一些语句是非常直接且到位的表达了一种机制和他最简单的存在的意义。相信只有清楚的描述了每种机制或语法是如何发明出来的,才能够了解他如何使用。这也是本书的精髓。本系列会陆续进行更新。…

  • 什么是模型,什么是模式

    模型(model)与模式(Pattern),英文显然是两个词,但是,在实际使用过程中,却是比较混乱。虽然,我还不清楚厘清这两个词的关系,对基层的数学工作者有怎样的价值,但是至少对理解什么是数学是有益处的,能够帮助我们不止是了解数学的结论,而且了解数学的思考方法。  一、模型与数学模型     (一)模型的定义:     数学辞海第5卷第109页有关于模型的定义:模型

  • Linux下更改文件权限[通俗易懂]

    Linux下更改文件权限[通俗易懂]目录查看文件权限修改文件权限查看文件权限查看文件权限可以通过ls-l命令查看,如下所示:如果只想查看某一个文件的权限,可以使用grep,如下所示:可以发现,每一个文件的第一个字段都是由r、w、x等10个字符构成,这10个字符所组成的字符串反映了文件的权限。在linux下,文件权限分为三种:可读权限(read)、可写权限(write)以及可执行权限(execut…

  • OPC协议_opc通讯协议简介

    OPC协议_opc通讯协议简介一、OPC:OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定,采用典型的C/S模式,针对硬件设备的驱动程序由硬件厂商完成,提供统一OPC接口标准的Server程序,软件厂商只需按照OPC标准接口编写Client程序就访问Server程序进行读写,即可实现与硬件设备的通信。OPC协定包括:1.DA(DataAccess)规范:访问数据主要采用该规范2.A&E(Alarma…

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号