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

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

3天内不再提示

深入理解SerDes系列之三

摩尔学堂 来源:摩尔学堂 作者:摩尔学堂 2023-10-18 15:52 次阅读

3.抖动和信号集成( Jitter, SI )

抖动是指信号的跳边时刻偏离其理想(ideal)或者预定(expected)时刻的现象。噪声,非理想的信道,非理想的电路都是产生抖动的原因。

3.1 时钟的抖动(clock jitter)

2047f704-6d8a-11ee-939d-92fbcf53809c.jpg

Figure 3.1 Clock Jitter

对于时钟信号,根据应用场景的不同,对抖动的定义也不一样。比如数字逻辑计算时序余量的时候,关心的是周期抖动。而时钟设计人员更喜欢相位抖动,因为可以利用频谱评估相位抖动,并可以用频谱来评估具体的干扰对总相位抖动的贡献。

3.1,介绍一下几种抖动的定义。

l 相位抖动(phase jitter)
Jphase(n)= tn– n*T。理想时钟的每个周期T都是相等的,没有抖动。真实时钟的跳边沿相对于理想时钟的偏离称作相位抖动。

l 周期抖动(period jitter)

Jperiod(n)= (tn- tn-1)– T。周期抖动是实际时钟的周期相对于理想周期的偏离(deviation)。显然Jperiod(n) = Jphase(n) - Jphase(n-1)。

l Cycle-to-Cycle jitter

Jcycle(n) = (tn- tn-1) - (tn-1- tn-2)。前后相邻的两个周期的偏差是Cycle-Cycle抖动。显然Jcycle(n)= Jperiod(n) – Jperiod(n-1)。

假设相位抖动的最大值为 +/-Jp,而且抖动的频率fjitter= 0.5fclock= 0.5/T,也就是,

tn-2时刻的相位抖动为最大值+Jp,tn-1时刻的相位抖动为最小值-Jp

tn时刻的相位抖动为最大值+Jp, tn+1时刻的相位抖动为最小值-Jp

那么,周期抖动最大值 Jperiod=+/- 2* Jp

那么,Cycle-Cycle抖动最大值 Jcycle=+/- 4* Jp

3.2.数据的抖动(data jitter)

在高速SerDes领域每个人都在说抖动,因为抖动直接和误码率(BER)相关。

SerDes发送端的一个重要要求是抖动(jitter generation)----针对特定的码型(pattern),速率和负载情况下,发送端所生成的抖动。

信号经过信道(channel)到达接收端时,又会进一步放大抖动,不同的码型(pattern)包含的频率成分也不一样,信道对不同频率成分的传输延时也不一样(非线性相位), 产生和数据pattern相关的确定性抖动。阻抗不连续产生的反射,相邻信号的串扰和噪声都会引起数据抖动。

SerDes接收端的一个重要指标是抖动容忍能力(Jitter Tolerance)----针对特定的码型和误码率要求(BER<10-12),SerDes接收端能够容忍的抖动大小。对抖动评估时,会使用眼图(eye-diagram),浴缸曲线(bath curve),抖动分布柱状图(PDF),抖动频谱(jitter spectrum)等图形手段。

有一点需要说明,在谈论高速SerDes的数据抖动时(Tj,Rj,Dj etc.),是不包括低频率抖动的。这是因为低频率的抖动被认为是一种wander,可以被CDR跟踪,不会引起误码。在用示波器(SDA)测量数据抖动的时候,可以设置示波器内嵌的CDR环路带宽,示波器测量的抖动数据已经滤掉了低频抖动。

根据抖动产生的原因和概率密度函数,常常将抖动分为几类。对抖动进行分类的意义在于某些类型的抖动可以被校正,而其他类型的不能被校正。经典的,总抖动Tj(Total Jitter)被分类为确定性抖动Dj (deterministic jitter)和随机抖动Rj (random jitter)。抖动以UI或者ps为单位,可以是均方根值,或者峰峰值。

3.2.1 Dj

Dj被进一步细分,

l DCD(Duty cycle distortion)

占空比失真抖动。差分信号的正端负端的偏置电压不一致,或者上升沿和下降沿时间不一致会导致占空比失真。因为DCD和数据pattern相关,是可以被校正的抖动。

l DDJ(Data dependent jitter)

数据码型相关的抖动,也称 码间干扰ISI(intersymbol interference)。DDJ是由于不理想的信道导致。是可以被均衡器校正的抖动。

l Pj(Periodic jitter)

周期性抖动。Pj由电路上周期性干扰源导致。比如开关电源的开关频率,时钟信号的串扰等。虽然电源的开关频率一般在CDR的跟踪范围内,但是低次谐波成分可能会落在环路带宽外,或者jitter peaking区域, 更重要的是电源谐波对CDR内VCO的干扰是不能被抑制和跟踪的,所以对于基于Ring VCO的CDR一定要尽可能的使用LDO供电。Pj不能被均衡器校正.

l BUJ(Bounded uncorrelated jitter)

BUJ由非时钟的干扰源引起。如果干扰源aggressor和victim是异步的,抖动的概率分布为有界的高斯分布,此时也称作CBGJ(Correlated Bounded Gaussian Jitter)。BUJ/CBGJ不能被校正。

3.2.2 Rj

Rj有半导体本身的噪声引起,一个重要特征就是Rj的概率密度函数是高斯分布的,没有边界,且和数据pattern无关。只有在一定误码率约束下,才可以被认为是有界的。

3.2.3 Tj

数学意义上,抖动的概率分布函数可以近视为高斯分布和双底拉克分布的卷积。

对高斯分布有贡献的抖动为:

n Rj为高斯分布

n 大量Pj叠加的效果也为高斯分布

n 部分BUJ也为高斯分布

对双底拉克分布有贡献的抖动为:

n DCD被近视为双底拉克概率分布

高斯分布和双底拉克分布的卷积:

205c1f86-6d8a-11ee-939d-92fbcf53809c.png

其中,W被认为是确定性抖动的峰峰值,δ是高斯分布的均方差。见图3.2, 可以看到,随着确定性抖动W的增加,概率密度分布曲线的顶部出现了双峰。一般来讲顶部曲线反映了确定性抖动的大小程度。

2072218c-6d8a-11ee-939d-92fbcf53809c.png

Figure 3.2 PDF of Tj with different Dj and Rj

把一个UI内的两个跳变沿处(0 UI处和1UI处)的概率分布函数放在一张图中,就是抖动的浴缸曲线(bathtub curve)。因为对数的宽动态范围,Y坐标以对数显示。图3.3为确定性抖动W=0.05UI, 高斯抖动方差0.05UI的浴缸曲线。

2087ed78-6d8a-11ee-939d-92fbcf53809c.png
Figure 3.3 Bathtub Curve of Tj with 0.05 Dj peak and 0.05 Rj RMS

浴缸曲线还会标出对应的误码率BER坐标,比如图中BER=10^-12的峰峰值抖动为Tj(p-p)=0.373*2 = 0.746 UI。曲线下面的面积占总面积的比率就是误码率。比如图中,

208c4314-6d8a-11ee-939d-92fbcf53809c.png

浴缸曲线的顶部主要为确定性抖动Dj的贡献,越靠近底部,高斯抖动的贡献越大,并以高斯曲线的斜率衰减,也因此常利用高斯分布的特性进行估算。下表为高斯分布

20a233fe-6d8a-11ee-939d-92fbcf53809c.png

和均方差关系。

20af9c88-6d8a-11ee-939d-92fbcf53809c.jpg

在规定的BER内,利用该表可以快速估算均方差值和峰峰值之间的关系。比如高斯抖动的均方根0.05UI,误码率要求为10^-12 BER,查表可知Q=7,那么高斯抖动的峰峰值要求是0.05UI*7*2 = 0.7UI。

如前所述,W=0.05UI,Rj=0.05UI计算出的总抖动Tj=0.746UI;

利用高斯特性估算的高斯抖动为0.7UI。

如果按Tj = Rj(0.7UI)+Dj(0.05UI)计算得到0.75U,基本是一致的,差异是因为画图程序有量化误差。

4.信号集成(SI)及仿真

4.1信道channel

SerDes信道关注的频率范围是0Hz到奈奎斯特频率,也就是2倍的信号基频。信号的基频是信号线速率的一半,也就是说信号的奈奎斯特频率就是线速率。信道对信号的损伤包括插入损失(insertion loss),反射 (reflection),串扰(crosstalk)等。这些损伤可以用S-parameter信道模型来表达。S-parameter可以有矢量网络分析仪测量(Vector Network Analyzer)得到。信道不是一个纯阻性网络,还包括容性和感性。这样对不同频率里成分的时延也不一样,从而产生和data pattern相关的抖动。

信道上的每一个不连续阻抗点都会产生反射,根据反位置的不同,反射信号会以不同的相位叠加在原始信号上,增加或者减小信号的幅度。

SerDes信号为差分形式,对共模干扰有较强的抑制。如果在+/-端上的干扰有差异,就会引入串扰。通常外部PCB可以保证SerDes数据和干扰源保持足够的距离,但是芯片内部由于考虑到经济性,很难保证SerDes信号和干扰源足够的隔离距离,尤其是一个通道自己的发送信号干扰自己的接收信号。

4.2芯片封装Package

封装package也是信道的一部分。芯片外部的信道可以通过VNA测量的到,而封装的S-parameter通常有芯片制造商提供,仿真时可以把两者级联起来。封装package由于距离较短,insertion loss通常不是主要问题,主要考虑的是阻抗匹配问题。

4.3 SI仿真

信号集成性(SI)仿真可以通过把SerDes发送端SPICE模型,封装和信道的S-parameter模型,接收端SPICE模型级联起来搭建仿真平台,利用仿真工具对不同的激励在不同的测试条件作电路仿真。通过测量SerDes接收端的眼图来评估是否满足设计需求。也可以通过实测接收端眼图,检验是否满足接收端的眼图模板,或者协议规定的眼图模板。

对于高速SerDes(>5Gbps),这种传统的电路仿真方法已经不能满足设计的需求。首先,过量的码间干扰ISI导致接收端眼图完全闭合,但是通过芯片内的DFE均衡后,眼图可能是很好的。其次,电路仿真(SPICE)的速度非常慢,即使是有办法把DFE均衡加入仿真,由于DFE仿真需要足够长时间的bits来训练,此时,电路仿真的仿真时间是不可接受的。

对于高速SerDes的仿真需要借助统计分析 (statistical analysis) 的方法。统计分析的方法把发送端-信道-接收端的连接近视为线性系统,计算系统脉冲响应h(t),加入噪声源来模拟抖动,然后用激励对脉冲响应进行卷积,得到接收端的信号,这种方法可以把厂家私有的FFE,DFE自适应算法加入仿真。

统计分析 (statistical analysis)方法不能仿真电路的非线性和时变特性,所以高速SerDes往往要两者结合起来仿真SI。更多关于统计分析 (statistical analysis)方法可以参考。






审核编辑:刘清

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

    关注

    1

    文章

    54

    浏览量

    15841
  • SerDes
    +关注

    关注

    6

    文章

    178

    浏览量

    34538
  • 频谱仪
    +关注

    关注

    7

    文章

    302

    浏览量

    35423
  • SDA
    SDA
    +关注

    关注

    0

    文章

    122

    浏览量

    27560
  • 偏置电压
    +关注

    关注

    0

    文章

    142

    浏览量

    12680

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

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

收藏 人收藏

    评论

    相关推荐

    深入理解SD卡原理和其内部结构总结

    深入理解SD卡原理和其内部结构总结
    发表于 08-18 11:11

    深入理解Android

    深入理解Android
    发表于 08-20 15:30

    深入理解和实现RTOS_连载

    和trcohili的帖子。深入理解和实现RTOS_连载1_RTOS的前生今世今天发布的是第一篇,"RTOS的前生今世"。通过软件系统结构的比对简要的介绍rtos为何而生。如果读者对RTOS
    发表于 05-29 11:20

    深入理解和实现RTOS_连载

    和trcohili的帖子。trochili rtos完全是作者兴趣所在,且行且坚持,比没有duo。深入理解和实现RTOS_连载1_RTOS的前生今世今天发布的是第一篇,"RTOS的前生今世"
    发表于 05-30 01:02

    深入理解C语言比较有用的几个资料

    这里有个对深入理解C语言的资料,觉得不错,分享一下
    发表于 08-07 21:37

    深入理解lte-a

    深入理解LTE-A
    发表于 02-26 10:21

    如何深入理解ES6之函数

    深入理解ES6之函数
    发表于 05-22 07:40

    深入理解STM32

    时钟系统是处理器的核心,所以在学习STM32所有外设之前,认真学习时钟系统是必要的,有助于深入理解STM32。下面是从网上找的一个STM32时钟框图,比《STM32中文参考手册》里面的是中途看起来清晰一些:重要的时钟:PLLCLK,SYSCLK,HCKL,PCLK1,...
    发表于 08-12 07:46

    对栈的深入理解

    为什么要深入理解栈?做C语言开发如果栈设置不合理或者使用不对,栈就会溢出,溢出就会遇到无法预测乱飞现象。所以对栈的深入理解是非常重要的。注:动画如果看不清楚可以电脑看更清晰啥是栈先来看一段动画:没有
    发表于 02-15 07:01

    为什么要深入理解

    [导读] 从这篇文章开始,将会不定期更新关于嵌入式C语言编程相关的个人认为比较重要的知识点,或者踩过的坑。为什么要深入理解栈?做C语言开发如果栈设置不合理或者使用不对,栈就会溢出,溢出就会遇到无法
    发表于 02-15 06:09

    深入理解三极管

    深入理解三极管的相应资料,有需要的可以下载,不喜勿喷
    发表于 01-14 16:19 24次下载

    深入理解Android之资源文件

    深入理解Android之资源文件
    发表于 01-22 21:11 22次下载

    深入理解Android》文前

    深入理解Android》文前
    发表于 03-19 11:23 0次下载

    深入理解Android:卷I》

    深入理解Android:卷I》
    发表于 03-19 11:23 0次下载

    深入理解Android网络编程

    深入理解Android网络编程
    发表于 03-19 11:26 1次下载