首页 > 编程知识 正文

serdes原理(serdes和sgmii的区别)

时间:2023-05-04 15:35:28 阅读:97894 作者:503

来源:EETOP论坛和微信官方账号:别忘了你的主动心态中的模拟小牛

作者:131v1vv

本系列文章总结了高速串行通信中使用的均衡技术。本期首先介绍发送方。

为了实现芯片间信号的有线传输,高速接口SerDes需要完成从数字到模拟的转换,再经过通道传输将模拟信号转换回数字信号。并保证传输过程保持相对较低的误码率。本期,我们结合信道的特点,学习SerDes发射机TX的均衡原理。

SerDes的整个模型可以简单地如图1所示。其中,串行化的数字信号流由发射驱动器转换成NRZ编码的波形,并发送到发射输出端。信道传输后,由RX前端采样比较,解码得到正确的数据。模型是从{dk}到y(t)的过程。

图1

数字信号表示为{dk}。为了描述方便,dk的值归一化为1,分别表示逻辑“1”和“0”。变换关系是线性的。类似地,归一化为1的发射输出y(t)的波形如图2所示。TX的单位脉冲响应 (t)可视为窗函数rect,即零阶保持(ZOH)。发射驱动器通过ZOH完成从离散信号到连续信号的转换。

如图2所示,ZOH连续性后的NRZ编码信号可以分解为宽度为1UI、幅度为1的脉冲信号。

图2

从信号和系统可知,在满足采样定理的原始信号被采样后,为了重构原始信号,需要在频域中给采样信号加上理想窗函数rect。

如图3所示,rect和sinc函数是一对傅里叶变换对。频域中的窗函数在其时域中是正弦函数。事实上,这种理想的信号重构方法很难实现。

ZOH是离散信号连续性的最简单方法,其对应的频域是sinc函数。可以看出,频域中的sinc函数衰减了高频分量,尽管它不能完全消除。然而,它被广泛使用,因为它的时域实现简单易行。

图3

在TX的信号转换模型中,我们可以看到采用ZOH的零阶保持将离散的非周期信号{dk}转换为连续的非周期信号y(t)。相应的频谱从连续周期变为连续非周期周期。这是因为表示ZOH的矩形窗函数rect在频域中是连续的非周期sinc函数。过程如图4所示,即频域由sinc函数整形。

图4

综上所述,TX发射机完成了离散数字信号的连续性。

对于某个信道,随着SerDes的数据速率越来越高,数据传输到接收端时很难区分,接收端会得到很多错误的数据。至于信道模型,基本相当于我们前面讲过的传输线。图5显示了几种不同长度的FR4板的传输线特性,主要是插入损耗S21随频率的曲线。

图5

可以看出,当信道设计良好时,损耗和频率之间的关系是相对线性的。通道对不同频率分量的衰减不一致。实际信号的频率会比较丰富。这将导致严重的符号间干扰(这将在后面描述)。

因此,需要在接收机RX处采用不同的均衡方法,以降低信道低通频率特性的影响。然而,为了在更高的数据速率下应对更大的信道衰减,还需要在发射机处集成均衡方案。这种均衡方法通常被称为前馈均衡(FFE)。使用数字信号处理中最常见的有限脉冲响应滤波器。

那么,对于SerDes的发送端均衡,我们要考虑的FIR必须具有高通特性,这样才能在一定程度上提前补偿信道损失。

至于FIR的具体实现,需要分析FIR的补偿金额和顺序。同时综合考虑了应用场景的特点、发射机电路的实现以及用户的易用性。图6显示了一个简单的例子

三个抽头的系数是设计参数,尽管我们已经确定FIR的频域特性是高通特性。然而,考虑到电路的实现(尤其是功耗),FIR均衡有两种不同的方式,分别称为预加重和去加重。归一化频域特性和离散时域表达式如图7所示。

"https://p5.toutiaoimg.com/origin/pgc-image/RNDEFH19ND8F96?from=pc">

图7

看到预加重和去加重的典型区别是,在多档可调均衡量设计中,是否具有恒定的最大输出摆幅(也就是fixed peak swing)。比如说去加重就是典型的fixed Vpk。而预加重的最大输出幅度和加重量相关。表现为图7中归一化ckdmf频率是否恒定。

加重量的计算可以直观从图7表达式看到。DC频率幅度和ckdmf频率幅度比值取对数坐标即可。

可以这么理解,去加重方式主要是降低中低频分量,保持高频分量恒定;而预加重主要是保持低频恒定,增加中高频分量。给定图7所示系数C0=0.1,C2=0.2,一个典型的去加重和预加重波形如图8所示。

图8

如果说发送端在无均衡模式下,只能看做1bit的D/A转化器,那么包含FFE均衡的发送端就是多bit的ADC了。在实际的实现过程中,无论是电压型的SST结构和电流型的CML结构。都可以采用了多份叠加的实际思路,如图9的示意图。

图9

那么现在还剩下一个问题就是FIR的系数怎么确定,为什么c0和c2要取负值。回答这个问题前,我们先了解下信道的脉冲响应。

如图10所示。10Gbps数据率下,对应图5不同损耗的单位脉冲响应。可以看到随着损耗的增加,响应信号最大幅度逐渐减小,并表现出了越来越严重(幅度和持续时间)的“拖尾”,这就是我们常说的码间干扰(ISI)。

图10

可见在需要长距离传输时(通常损耗量和长度正相关),为保持信号尽可能的小的衰减,就需要使用更好材质的传输线,或更进一步使用光纤传输。

为了更形象的理解ISI的干扰作用,图11和图12给出了更进一步的说明。

图11是一个典型的信道输入信号的脉冲分解。这里脉冲初值给了0(对应实际的发送器输出为idle态,也就是共模)。之后是“1111101”的脉冲。将该输入送给图10中具有-14.4dB@5GHz的信道。

图11

图12是输出结果波形。信道通常是LTI系统,可以看到8个相隔为1UI=100ps的脉冲响应。还有一些叠加信号,黄色是仅前3个+脉冲的叠加结果,蓝色为前6个+脉冲的叠加,红色为前6个+脉冲加第7个-脉冲的叠加结果,黑色为全部8个脉冲的叠加结果。

图12

从图12比较明显地观察到,前6个+脉冲和第8个+脉冲的影响,导致第7个-脉冲的幅度裕量(和0电压比较)很小了。如果再加上噪声和其他干扰,比较容易导致RX端判断错误。下边量化一下ISI的影响。

图13给出-14.4dB@5GHz信道的脉冲响应,包括前标(pre_cursor)、主标(main_cursor)和后标(post_cursor)的具体量值。这些标量在计算经过信道后眼图的“眼高”时有重要指导意义。

比如图13中给出了出现最小眼高的Case。一般是在出现连续多个UI的逻辑“0”(或“1”)之后,紧接着出现逻辑“10”(或“01”),或者相反的情况(图12例子)。

图13

需要注意的worst case眼高值y的计算公式。当然实际上眼高和数据密切相关,比如我们在用PRBS7和PRBS15等进行仿真时,可以明显看到PRBS7的眼高就比PRBS15的更大一些。这里边就是因为PRBS7码型最多出现7个连续的逻辑“0”或者“1”。导致计算式中post_cursor的和偏小。worst case的“眼高”估计,是RX端设计的重要参考指标。

最后就是FIR系数计算方式,一种是迫零法(Zero Force),另一种是最小均方误差(Minimum Mean Square Error,MMSE)。

限于篇幅,这里给一个迫零法的简单说明。这里利用图13中给出的14.4dB的脉冲响应,计算一下实现图6和7中3-tap结构FIR。可以看到FIR系数的计算就是利用脉冲响应构成的矩阵运算,其中P是无前后标的理想脉冲响应[0 1 0],归一化后可以得到系数的计算结果。

图14

MMSE不不强迫后标都是零值,而是使所有后标的总能量最小。是一种比迫零法更好的方法。

需要说明的是,在我们FIR的实现中,可以只用Pre-cursor C0(C2=0)或者Post_cursorC2(C0=0)进行均衡加重,也可以两者都用,区别表现在TX输出的幅度稳态值个数不同。

最后再放一张包含了同时包含Pre-cursor去加重和post-cursor去加重量的发送端眼图。可以在图15的眼图上看到约6个稳态幅度量。分别代表了高中低等频率分量。

图15

到了最后还是不得不说一下TX端均衡的局限性,最主要的就是发送器的均衡程度很难做好根据应用场景的自适应调节。一般都是留一些可调整的档位供用户选择。但这不妨碍TX端的均衡能够进一步提高SerDes的过channel能力,提高串口的性能。总之,属于锦上添花的feature。

推荐阅读:

神作:带宽

serdes概述

深入浅出聊抖动(Jitter)

点击阅读原文查看论坛原帖

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。