SerDes概述

SerDes概述作者 131v1vv 来源 EETOP 论坛及作者的公众号不忘初心的模拟小牛牛 随着物联网 IoT 的快速发展 未来将会存在海量的数据 大数据 时代 对数据的处理提出更高的需求 高性能处理器及集群能完成数据的实时处理 而在处理器与外设或处理器之间传输的大量数据 对接口 Interface 技术也提出了更高的要求 就像一个人虽然有着聪明的头脑 但神经却比较 长 就看起来就会很 呆笨



  随着物联网(IoT)的快速发展,未来将会存在海量的数据。“大数据”时代,对数据的处理提出更高的需求。高性能处理器及集群能完成数据的实时处理。而在处理器与外设或处理器之间传输的大量数据,对接口(Interface)技术也提出了更高的要求。就像一个人虽然有着聪明的头脑,但神经却比较“长”,就看起来就会很“呆笨”。目前主流并行接口技术就面临着这样的局面,越来越成为了瓶颈。

                        图1
   目前并口发展遇到的限制主要为,一方面芯片封装面临着IO数量紧张的问题,另一方面是,并口的数据速率提升过程中面临的串扰(Crosstalk)和噪声(SSN)问题,使得数据的同步变得很困难。这个问题可以理解为,就像阅兵方阵,正步走起来英姿飒爽,这都需要很长时间的训练。如果要求齐步跑起来,也要横竖成线(数据对齐同步),可真是难倒人啦。
在这里插入图片描述
                        图2


  串口和并口的交替发展演进,真可谓“三十年河东,三十年河西”,技术并没有对错,“时势造英雄”。

  串口的典型代表就是在消费电子和其他各领域中普遍使用的通用串行总线(Universal Serial Bus,USB);并口也有很多,比如DDR DRAM内存接口,也就是人们常说的DDR。

  对于串口和并口那个速度快的问题,这就要看怎么描述这个问题了。

  从线速率【linerate,线路速率(LineRate):又称DTE速率,单位是bit/s(bps)。指的是连结两个调制解调器之间的电话线(或专线)上数据的传输速率。常见速率有28800bps、19200bps、14400bps、9600bps、2400bps。】来看,比如DDR3-1600的最大线速率为1600Mbps(也就是1.6Gbps)。那再看看目前主流的SerDes的线速率能达到多少那,Xilinx的16nm Ultrascale+FPGA提供的SerDes能够达到32Gbps的速度。而最近Credo(景略)半导体演示的双模SerDes芯片,有112Gbps PAM4/56Gbps NRZ的性能表现。所以通常理解的高速串口比并口快,主要是从线速率的角度比较。

  当然从总数据带宽的角度看,比如64bit DDR3-1600的最大数据带宽也超过了100Gbps(64*1.6Gbps)。也能提供不俗的总带宽表现。其实SerDes也可以多通道并行使用,比如像PCIe协议的x4、x8、x16模式。尽管也存在多通道的对齐问题。但呈现的总带宽相对来说会更大些。高速串口技术的发展未来仍是提升单通道速度和多通道并行使用相结合。所以,串并口的概念可能会进一步模糊。整体结果是提供不断改进升级的数据总带宽。

  还需要了解下不同芯片间通过同步接口通信的3种基本时序模型。如图3中(a/b/c),分别是系统同步,源同步和自同步的方式,图中省略了板级和芯片内部的布线延迟。最初接口速率较低时,使用系统同步的方式就能满足要求,随着接口速度的提升,严格的时序要求会使用数据和时钟同步发送的方式,比如像DDR的数据要同步dqs时钟线那样。

在这里插入图片描述
                        图3

  自同步其实就是目前SerDes中采用的方式,接口传送的数据中包含了时钟的信息,通过接收端(Rx)的时钟数据恢复(Clock Data Recovery,CDR)电路完成对接收数据的时钟抽取和数据再采样。最终恢复出正确的数据。

  对于高速串行链路(High Speed Serial Link)使用的SerDes技术,其中SerDes是串化器(Serializer)和解串器(Deserializer)的简写,也基本说明了SerDes的原理。就是要完成并串和串并转换。SerDes是典型的数模混合系统,需要比较多的背景知识,数字电路和模拟电路、信号与系统、通信原理、微波和射频电路、电磁场、信号和电源完整性等,综合要求比较高,算是目前点到点(point-to-point)有线(wireline)通信的技术热点。

  第一,高频低抖动时钟的生成。比如对于10Gpbs数据率,内部需要产生至少10GHz的时钟(Single Date Rate,SDR)或5GHz的时钟(Double Date Rate, DDR)。随着SerDes的发展,内部PLL的时钟频率的不断提高,Ring PLL和LC tank PLL都是不可缺少的,时钟的抖动和各种各样的Jitter等对误码率(BER)的影响都需要充分分析。高性能时钟是整个SerDes系统设计的一个技术重点。

  第二,信号完整性考虑。在传输线内容中我们初步了解到传输线的非理性特性,随着信号的数据率提高和通道长度的增加,发送器(Tx)发送的数据经过信道(channel)后衰减和码间干扰(ISI)的存在使得接收器(Rx)端的信号已经没了模样。为了把数据正确恢复出来,需要通过均衡器(Equalizer)均衡信道的衰减和数据的码间干扰。比如常见的有Tx的前馈均衡(FFE),Rx端的连续时间线性均衡(CTLE)和判决前馈均衡(DFE)等手段。

  第三,自适应算法。Rx端的均衡通常需要满足不同材质和长度信道的特性,并对信号不同频率成分的衰减进行补偿。CTLE和DFE通常都会使用自适应算法(Self-Adaptive Algorithm)实时动态调整来应对信道的特性变化。如果不了解算法实现,就不能准确的理解DFE的本质。

  关于自适应算法有很多的教材,比如Simon Haykin著的《自适应滤波器原理》,最近翻看,真的是头大。哎,后悔当初数学没有好好学,现在还在慢慢啃。只能说很难理解。

在这里插入图片描述
                  图6

  第四,CDR环路。Rx端的另一个难点是CDR环路,CDR的实现有不同的实现方式。CDR的环路通常会包含了大量数字实现,准确的理解也很关键,对这部分的理解还在学习中,有机会再和大家分享。

  第五,时序约束限制。当数据率升高时,对于DFE的判决反馈回路的时序设计提出了更高的要求。比如说对于50Gbps的SerDes,一个UI的时间为20ps,几乎和逻辑门的延迟相当,这就要求DFE的反馈回路的逻辑设计必须尽可能的简单。单独时钟速率会遇到困难,而采用PAM-4或PAM-8等信号方式就会显得很有前景。

  SerDes是一个复杂数模混合系统,内部还包含了大量数字实现内容。8B/10B等编解码实现,PRBS生成和检查,环回测试、自适应算法实现,系统状态控制数字实现等等。

  目前SerDes的应用,主要有Chip-to-Chip,Board-to-Board, Box-to-Box等形式,如图7(a/b/c)示意图。并在大型数据中心,通信骨干网络,消费电子等场景下都有应用。

在这里插入图片描述

                        图7
  不同的应用场合也催生了不同的协议标准。如PCI Express,Serial ATA,Ethernet,Serial RapidIO和Aurora等。不同协议标准有着不同的速率,并且在不断的演进中。图8列出了几种协议的数据率,目前单通道的线速率主要是集中在Gbps以上。

在这里插入图片描述
                        图8

  从协议的角度看,不同的协议通常会有不同的分层定义。我们关注的SerDes硬件实现大多集中在物理层。当然对协议更高层的了解能够帮助更好的理解底层硬件实现。

另附文中缩写术语全称:

  • NRZ           Non-Return to Zero
  • PAM-4          Pluse Amplitude Modulation – 4 level
  • SerDes         Serializer/Deseiralizer
  • Gbps          Gigabit per second
  • CTLE          Continuous Time Linear Equalization
  • DFE          Desicion Feedback Equalization
  • FFE          Feed Forward Equalization
  • ISI           Inter-Symbol Interference
  • PRBS          Pseudo-Random Binary Sequence
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220359.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午8:41
下一篇 2026年3月17日 下午8:41


相关推荐

  • MYSQL ODBC

    MYSQL ODBC

    2021年8月29日
    60
  • 浅谈CAS原理_cas算法原理

    浅谈CAS原理_cas算法原理1.背景我们知道,synchronized就是一种独占锁,独占锁是一个悲观锁,会导致其他所有需要锁的线程挂起,等待持有锁的线程释放锁。而另一种更加有效的锁就是乐观锁,CAS就是一种乐观锁2.CAS原理CAS(CompareAndSwap),比较并交换。我们知道,如果我要对一个变量进行操作,可以分为三个步骤读取该变量的值进行一系列的运算得到新的结果将运算的结果保存这儿需要知道CAS中有三个概念:内存地址的值V,旧值(从内存地址读取到的值)A,新值(进行操作后的结果值)。对应上面三

    2022年10月9日
    4
  • 2019最新三年php 面试题[通俗易懂]

    2019最新三年php 面试题[通俗易懂]什么是composer?以及composer是干什么用的?工作原理 PHP如何实现静态化 你了解设计模式吗?说下你最常用的设计模式 观察者模式是如何实现的?工厂模式是如何实现的?适配器模式是如何实现的?…… PHP的优化方案 说下你了解的session和cookie 如何实现不基于session和cookie的用户认证。 说下你目前框架所用到的核心概念 什么是CSRF攻击,X…

    2022年8月27日
    5
  • intellijidea激活码 2022-激活码分享[通俗易懂]

    (intellijidea激活码 2022)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月31日
    651
  • Manus邀请码新版申请指南,成功率挺高的!(免费直接领取)

    Manus邀请码新版申请指南,成功率挺高的!(免费直接领取)

    2026年3月15日
    2
  • Celery 框架学习笔记

    Celery 框架学习笔记在学习Celery之前,我先简单的去了解了一下什么是生产者消费者模式。生产者消费者模式在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是

    2022年8月4日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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