0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SerDes是怎么设计的?(二)

摩尔学堂 来源:摩尔学堂 2023-10-16 16:18 次阅读

本文是紧接着《深入理解SerDes系列之一》续篇。

2.3接收端均衡器( Rx Equalizer)

2.3.1线形均衡器(Linear Equalizer)

接收端均衡器的目标和发送均衡器是一致的。对于低速(<5Gbps)SerDes,通常采用连续时间域,线性均衡器实现如尖峰放大器(peaking amplifier), 均衡器对高频分量的增益大于对低频分量的增益。图2.8为一个线性均衡器的频域特性。通常工厂会对均衡特性封装为数种级别,可以动态设置,以适应不同的信道特性,如High/Med/Low等。

2cfe09c0-6bfa-11ee-939d-92fbcf53809c.jpg



Figure 2.8 Frequency Response of A peaking Amplifier based Rx Equalizer

2.3.2 DFE均衡器(Decision Feedback Equalizer)

对于高速(>5Gbps)SerDes,由于信号的抖动(如ISI相关的确定性抖动)可能会超过或接近一个符号间隔(UI, Unit Interval), 单单使用线性均衡器不再适用。线性均衡器对噪声和信号一起放大,并没有改善SNR或者说BER。对于高速SerDes,采用一种称作DFE (Decision Feedback Equalizer)的非线性均衡器。DFE通过跟踪过去多个UI的数据(history bits)来预测当前bit的采样门限。DFE只对信号放大,不对噪声放大,可以有效改善SNR。

图2.9演示了一个典型的5阶DFE。接收的串行数据由比较器(slicer)来判决0或者1,然后数据流由一个滤波器来预测码间干扰(ISI),再从输入的原始信号中减掉码间干扰(ISI),从而的到一个干净的信号。为了让DFE均衡器的电路工作在电路线形范围内,串行信号先经过VGA自动控制进入DFE的信号幅度。

2d0ea01e-6bfa-11ee-939d-92fbcf53809c.jpg

为了理解DFE的工作原理,先来看一个10Gbps背板的脉冲响应,这个背板模型是matlab给出的一个基于实测的模型,具有典型特性。

2d2858a6-6bfa-11ee-939d-92fbcf53809c.jpg


图2.10中,一横格代表一个UI的时间。可以看出,一个UI( 0.1nS = 1/10GHz )的脉冲信号,通过背板后,泄漏到前后多个相邻的UI里面,从而对其他UI的数据产生干扰。采样点后面的干扰叫做post-cursor干扰,采样点前面的叫做pre-cursor干扰。DFE的第一个系数 h1(此例中0.175)矫正第一个post-cursor, 第二个系数 h2(此例中0.075)矫正第二个post-cursor。DFE的阶数越多,能够校正的post-cursor也越多。

2d36ca4e-6bfa-11ee-939d-92fbcf53809c.jpg


用上述的背板传输一个11011的码流,由于post-cursor和pre-cursor的泄漏,如果没有均衡,将会导致’0’不能识别,见图2.11。假定有一个2阶的DFE, 那么‘0’bit处的幅度应该减去第一个’1’bit的h2, 第二个’1’bit的h1, 得到0.35-0.075-0.175 =0.1, 足够被识别为0。

可见,DFE计算历史bits的post-cursor干扰,在当前bit中把干扰减去,从而得到干净的信号。由于DFE只能能够校正post-cursor ISI, 所以DFE前面一般会带有LE。只要DFE的系数接近信道(channel)的脉冲相应,就可以到的比较理想的结果。但是信道是一个时变的媒介,比如温度电压工艺的慢变化等因素会改变信道channel的特性。因此DFE的系数需要自适应算法,自动扑获和跟随信道的变化。DFE系数自适应算法非常学术,每个厂商的算法都是保密的,不对外公布。对于NRZ码,典型的算法准则是基于sign-error驱动的算法。Sign-error是均衡后信号的幅度和期望值的误差,算法以sign-error均方差最小为优化目标,逐次优化h1/h2/h3…。因为sign-error和采样位置是耦合在一起相互影响,因此也可以sign-error和眼图宽度两个准则为目标进行DFE系数的预测。也因此,采用DFE结构的SerDes通常都会带有内嵌眼图测试电路,如图2.9所示。眼图测试电路通过垂直方向上平移信号的幅度,水平方向上平移采样位置,计算每一个平移位置上的误码率BER,从而得到每一个偏移位置与误码率关系的”眼图”,见图2.12。

2d51be30-6bfa-11ee-939d-92fbcf53809c.jpg


Figure 2.12 SerDes Embedded Eye-Diagram Test Function

2.4时钟数据恢复(CDR)

CDR的目标是找到最佳的采样时刻,这需要数据有丰富的跳变。CDR有一个指标叫做 最长连0或连1长度 容忍(Max Run Length或者Consecutive Identical Digits)能力。如果数据长时间没有跳变,CDR就无法得到精确的训练,CDR采样时刻就会漂移,可能采到比真实数据更多的1或者0。而且当数据重新恢复跳变的时,有可能出现错误的采样。比如有的CDR采用PLL实现,如果数据长时间停止跳变,PLL的输出频率就会漂移。实际上,SerDes上传输的数据要么利用加扰,要么利用编码的方法来保证Max Run Length在一定的范围内。

l 8B/10B编码的方法可以保证Max Run Length不超过5个UI。

l 64B/66B编码的方法可以保证Max Run Length不超过66个UI

l SONET/SDH加扰得方法可以保证Max Run Length不超过80个UI(BER<10^-12)

在点到点的连接中,大部分SerDes协议采用连续模式(continuous-mode),线路上数据流是持续而没有中断的。在点到多点的连接中,往往采用突发模式(burst-mode)如PON。很显然Burst-Mode对SerDes锁定时间有苛刻的要求。

Continuous-Mode的协议如SONET/SDH则要求容忍较长的连0, 而且对CDR的抖动传输性能也有严格的要求(因为loop timing)。

如果收(Rx)发(Tx)是异步模式(asynchronous mode),或者频谱扩展(SSC)应用中,则要求CDR有较宽的相位跟踪范围以跟踪Rx/Tx频率差。

根据应用场景的不同需求,CDR的实现也有非常多种架构。FPGA SerDes常常采用的基于数字PLL的CDR,和基于相位插值器的CDR。这两种CDR在环路中采用数字滤波器,相对模拟charge pump加模拟滤波器的结构更节省面积。

2d5cc136-6bfa-11ee-939d-92fbcf53809c.jpg

图2.13是基于相位插值器的CDR。鉴相器阵列对输入的串行数据与M个等相位间隔的时钟在多个UI的跨度上进行相位比较,得到多个UI跨度上的相位误差信号。相位误差信号的频率很高,宽度也很宽,经过抽取器降速并平滑后,送给数字滤波器。数字滤波器的性能会影响环路的带宽,稳定性,反应速度等。经数字滤波器平滑后的误差信号送给相位插值器(phase rotators)修正时钟相位。最终环路锁定时,理论上相位误差为零,90度偏移的时钟作为恢复时钟采样串行输入。

2d731210-6bfa-11ee-939d-92fbcf53809c.jpg


图2.14是基于DPLL的CDR, 分为两个环路,对数据锁相的环路(phase tracking loop)和图2.13的CDR工作原理类似。鉴相器阵列对输入的串行数据与M个等相位间隔的时钟进行相位比较(也可能是在多个UI的跨度上),得到相位误差信号。相位误差信号送给数字滤波器。数字滤波器的性能会影响环路的带宽,稳定性,反应速度等。经数字滤波器平滑后的误差信号送给VCO修正时钟相位。最终环路锁定时,理论上相位误差为零,90度偏移的时钟作为恢复时钟采样串行输入。

基于DPLL的CDR多了一个频率跟踪环路(Frequency Tracking Loop)。这是为了减小CDR的锁定时间,减少对环路滤波器的设计约束。只有当 频率跟踪环路 锁定后,才会切换到数据相位跟踪环路。相位跟踪环路失锁时,再自动切换到频率跟踪环路。N倍参考时钟(Reference Clock)频率 和线路速率接近相等,因此两个环路的VCO稳态控制电压是接近相等的。借助 频率跟踪环路,减小了 相位跟踪环路 的捕获时间。


相位跟踪环路锁定时,频率跟踪环路不会影响相位环路。因此SerDes接收侧对参考时钟的抖动没有很高的要求。

基于相位插值器的CDR的参考时钟可以是收发公用的PLL,也可以是每个通道独立的PLL。这种结构的参考时钟抖动会直接影响恢复时钟的抖动以及接收误码率。

l鉴相器(PD)

鉴相器用来比较相位误差,相位误差以UP或者DN的信号表示, UP/DN持续的时间正比于相位误差。一个bang-bang结构鉴相器的例子如图2.15。例子中只用了四个相位的恢复时钟作为例子。

2d883db6-6bfa-11ee-939d-92fbcf53809c.jpg

l抽取器和滤波器

抽取器是为了让滤波器在较低的频率下工作。抽取的步长,平滑的方法都会影响环路的性能。数字滤波器有比例分支(Proportion)和积分分支(Integral)构成,分别跟踪相位误差和频率误差。另外数字滤波器的处理延时也不能太大,如果处理延时过大,就会导致环路不能跟踪相位和频率的快速变化,导致误码。

CDR的结构不限于以上两种,还有其他很多变种。基本上都是一个锁相环路。环路的跟随性能,稳定性(STABILITY),带宽(bandwidth)/增益(gain)性能分析是一个非常学术的问题,用小信号线形模型分析,有非常多的书籍和资料解释了环路的量化性能。CDR环路有一些的特点总结如下:

l 环路带宽

1.频率低于环路带宽的相位抖动会透过CDR转移到恢复时钟上。换句话说,频率低于环路带宽的抖动可以被CDR跟踪,不会引起误码。高频的抖动分量根据抖动幅度的大小,可能会引起误码。

2.环路带宽越大,锁定时间越短,恢复时钟的抖动也越大。反之则锁定时间越长,恢复时钟的抖动也越小。作为CDR,我们希望环路带宽大一点,这样可以有更大的抖动容忍能力,但是对于loop timing的应用如SONET/SDH对恢复时钟的抖动有限制,又不能太大。

3. 开关电源的开关频率一般小于环路带宽,可以被CDR跟踪。但是,一方面开关电源耦合到VCO(Digital to Multi-Phase Convertor)上的噪声不能被环路跟踪,低成本Ring VCO尤其对电源噪声敏感。另一方面开关电源的谐波可能超出环路带宽。

一些协议提供了CDR增益模板,如SDH/SONET。兼容这些协议需要计算输入和输出的抖动预算。

2.5 公用锁相环(PLL)


SerDes需要一个工作在数据波特率上的内部时钟,或者1/2数据波特率的内部时钟,工作在DDR模式。片外提供给SerDes的参考时钟频率远远低于数据波特率,PLL用来倍频产生内部高频时钟。FPGA的SerDes PLL一般有8x,16x,10x,20x,40x模式,以支持常用的SerDes接口协议。比如PCIExpress工作在5Gbps, 在40x模式下需要提供125MHz的片外参考时钟,20x模式下需要提供250MHz的片外参考时钟。

一个三阶PLL电路如图2.17,输入信号的相位和VCO反馈信号的相位由鉴相器比较,相位误差有charge pump转化为电压或电流信号,经过Loop Filter平滑后产生控制电压,修正VCO的相位,最终使相位误差趋于零。

2d90451a-6bfa-11ee-939d-92fbcf53809c.jpg



Figure 2.17 A 3-order Type II PLL

PLL的工作过程分为入锁过程和跟踪过程。在入锁过程,环路的模型可以用一个非线性微分方程表示,可以评估捕获时间,捕获带宽等指标。入锁后,在小信号范围内,PLL的模型是一个常系数线性方程,可以在拉普拉斯变换域研究PLL的带宽,增益,稳定性等性能, 图2.18是小信号数学模型。

2da6ef86-6bfa-11ee-939d-92fbcf53809c.jpg


PLL以传输函数极点(分母的根)个数命名环路的阶数。VCO对相位有积分作用(Kvco/s),因此不带滤波器的环路称为一阶环。带一阶滤波器的环路称为二阶环。一阶环和二阶环是无条件的稳定系统。然而高阶环路有更多的极点和零点可以独立的调整带款,增益,稳定性,捕获带,捕捉时间等性能。

PLL的频域传输函数特性主要有环路滤波器F(s)|s=jw决定, 一个通用的PLL频域传输曲线如图2.19所示。有两个重要特征,环路带款和jitter peaking。过大的peaking会放大jitter, 大的阻尼系数(damping factor)可以限制peaking, 但是会增加环路的如锁时间, 影响滚降的速度和固有频率(natural frequency)。

l 当环路锁定后,固定相位差:

Kdc为环路的直流开环增益,Δω为VCO中心频率和受控频率的差。对于charge pump + passive filter结构的PLL相位误差为零。

l 当环路锁定后,只有固定相位差,两个输入信号频率相等。

fr/M = fo/N

l 对于输入端的噪声,环路是一个低通滤波器,可以抑制高于环路截止频率的噪声或干扰。作为SerDes的PLL, 希望带宽的小一些,以抑制参考时钟上的干扰和噪声。

对于VCO噪声,环路是一个高通滤波器的作用。只有低于环路截止频率的VCO噪声得到了抑制。过量的VCO高频噪声会恶化时钟的抖动。低速SerDes(<5Gbps)的VCO出于成本考虑采用Ring结构的VCO,噪声大且对电源敏感。高速SerDes的VCO采用噪声小较小的LC结构VCO。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 放大器
    +关注

    关注

    142

    文章

    12416

    浏览量

    210041
  • 均衡器
    +关注

    关注

    9

    文章

    168

    浏览量

    30071
  • pll
    pll
    +关注

    关注

    6

    文章

    740

    浏览量

    134576
  • SerDes
    +关注

    关注

    6

    文章

    178

    浏览量

    34537

原文标题:深入理解SerDes系列之二

文章出处:【微信号:moorexuetang,微信公众号:摩尔学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    GMII、SGMII和SerDes的差异总结

    GMII、SGMII和SerDes的区别和联系? GMII和SGMII区别,上一篇已经介绍了,这一篇重点介绍SGMII和SerDes区别。 GMII和SGMII SGMII接口 SGMII
    的头像 发表于 10-09 11:31 3w次阅读
    GMII、SGMII和<b class='flag-5'>SerDes</b>的差异总结

    SerDes的技术原理 SerDes的重要概念和技术概述

    SerDes是SERializer(串行器)/DESerializer(解串器)的简称,是一种主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术。
    的头像 发表于 11-14 09:32 5692次阅读
    <b class='flag-5'>SerDes</b>的技术原理 <b class='flag-5'>SerDes</b>的重要概念和技术概述

    SERDES的作用 SerDes基础知识详解

    SERDES是英文SERializer(串行器)/DESerializer(解串器)的简称。
    的头像 发表于 01-04 09:04 1101次阅读
    <b class='flag-5'>SERDES</b>的作用 <b class='flag-5'>SerDes</b>基础知识详解

    教你如何进行Xilinx SerDes调试

    FPGA SERDES的应用需要考虑到板级硬件,SERDES参数和使用,应用协议等方面。由于这种复杂性,SERDES的调试工作对很多工程师来说是一个挑战。
    发表于 03-15 14:55 1w次阅读
    教你如何进行Xilinx <b class='flag-5'>SerDes</b>调试

    如何使用 HyperLynx DRC 来查找 SERDES 设计

    如何使用 HyperLynx DRC 来查找 SERDES 设计问题
    发表于 05-24 17:12 0次下载

    参考时钟对SERDES性能的影响

    我们知道,SERDES对参考时钟有严格的相位噪声性能要求。通常,SERDES供应商会根据其SERDES采用的PLL以及CDR架构特点,以及性能数据,提出对参考时钟的相位噪声的具体要求。
    发表于 02-10 18:40 6010次阅读
    参考时钟对<b class='flag-5'>SERDES</b>性能的影响

    SERDES FPGA设计手册免费下载

    为了学习xilinx serdes 原语的使用,以及交流学习经验,在工程项目中方便的应用SERDES进行设计,故编写此文档。
    发表于 02-26 10:04 37次下载
    <b class='flag-5'>SERDES</b> FPGA设计手册免费下载

    SERDES的优势 SERDES演变的看法

    SERDES的优势 引脚数量和通道优势 SERDES最明显的优势是具备更少的引脚数量和线缆/通道数量。对于早期的SERDES,这意味着数据可以通过同轴电缆或光纤发送。 对于现代的SERDES
    的头像 发表于 07-23 11:59 3879次阅读

    高速SerDes PCB 设计

    SerDes/Differential Pair-- The Feature of High Speed Designreference list– reference1:link 应对未来高速
    发表于 11-07 10:21 47次下载
    高速<b class='flag-5'>SerDes</b> PCB 设计

    SerDes的基本结构

    FPGA发展到今天,SerDes(Serializer-Deserializer)基本上是标配了。
    的头像 发表于 10-31 11:28 1425次阅读

    SerDes是什么?SerDes功能和特性概述

    SerDes 是空间到时间到空间的转换。并行数据同时传输但占用不同的物理互连,串行数据共享相同的物理空间但占用不同的时间时刻
    的头像 发表于 01-31 14:13 3644次阅读

    介绍一种采用光SerDes而非电SerDes的高速收发器

    同时介绍一种采用光电集成技术的,即采用光SerDes而非电SerDes的高速收发器。
    的头像 发表于 04-01 09:28 1138次阅读

    什么是SerDesSerDes的应用场景又是什么呢?

    首先我们要了解什么是SerDesSerDes的应用场景又是什么呢?SerDes又有哪些常见的种类?
    的头像 发表于 06-06 17:03 5521次阅读
    什么是<b class='flag-5'>SerDes</b>?<b class='flag-5'>SerDes</b>的应用场景又是什么呢?

    SerDes是怎么设计的?(一)

    FPGA发展到今天,SerDes(Serializer-Deserializer)基本上是器件的标配了。从PCI发展到PCI-E,从ATA发展到SATA,从并行ADC接口到JESD204,从RIO
    的头像 发表于 10-16 14:50 697次阅读
    <b class='flag-5'>SerDes</b>是怎么设计的?(一)

    为什么我们需要SERDESSERDES的优点有哪些?

    尽管设计和验证很复杂,SERDES 已成为 SoC 模块不可或缺的一部分。随着 SERDES IP 模块现已推出,它有助于缓解任何成本、风险和上市时间问题。
    的头像 发表于 10-23 14:44 538次阅读
    为什么我们需要<b class='flag-5'>SERDES</b>?<b class='flag-5'>SERDES</b>的优点有哪些?