[转载]如何评估示波器的信号完整性

您是否正在评测一台新的示波器,希望确保它能够在广泛的频率范围内全面而精确地显示被测信号?如果是,您所选的示波器就必须具备信号完整性的所有促成因素: 高分辨率、低固有噪声、平坦的频率响应和适当的 ENOB。

电子测试中经常会提到示波器“信号完整性”,这是衡量信号质量的重要指标。随着带宽范围提升,查看小信号或大信号的细微变化的需求增加,示波器自身的信号完整性的重要性已进一步提升。为什么信号完整性被视为示波器的关键指标? 信号完整性对示波器整体测量精度的影响非常大,它对波形形状和测量结果准确性的影响会出乎您的想象。示波器性能取决于其自身信号完整性的良莠,比如说信号失真、噪声和损耗。自身的信号完整性高的示波器能够更好地显示被测信号的细节;反之,如果自身的信号完整性很差,示波器便无法准确反映被测信号。示波器自身信号完整性方面的差异直接影响到工程师能否高效地对设计进行深入分析、理解、调试和评估。示波器的信号完整性不佳,将对产品开发周期、产品质量以及元器件的选择带来巨大风险。要避免这种风险,只有通过比较和评测,选择一台具有出色信号完整性的示波器才是解决之道。

图1(a). 即便是同品牌同带宽的示波器产品, 信号完整性水平也各有高低。这里是两款4 GHz 带宽示波器测试同一个信号的眼图。两款示波器的带宽、垂直/水平设置完全相同。您可以看到, 右图 Infiniium S 系列示波器更真实地再现了信号的眼图, 眼图高度比左图DSO9404A 高200 mV。优异的信号完整性能够更精确地再现被测信号的参数值和形状。

信号完整性的构成要素十分复杂,本应用指南将为您庖丁解牛,逐一分解,文中提到的原理适用于所有示波器。针对某些构成要素,我们会以Infiniium S 系列 500 MHz 至 8 GHz 带宽的示波器为例,详尽阐述。

示波器的各个属性彼此配合,相互影响,我们必须从全局角度加以考量。许多示波器品牌所宣传的分辨率、 本底噪声、抖动等技术指标都被冠以了”最佳” 字眼。然而,滴水难成海,独木不成林。您必须清醒地认识到,要提供最佳的信号显示,绝不是仅凭单个最佳技术指标就能实现的。所以在选择示波器时, 只有做到全盘兼顾才能做出最正确的选择。只关注信号完整性的一个方面而忽视其他属性,就好比只见树木不见森林,很有可能会导致错误判断。

图 1 (b). 请注意: 两款示波器测得的上升时间标准偏差有所不同, 尽管它们的带宽(4 GHz)、采样率(20 GSa/s) 和其他设置都是相同的。在快速上升时间测试中, Infiniium S 系列测得的标准偏差是668 fs (飞秒), 而左边示波器测得的标准偏差为4 ps (皮秒), 偏差是S 系列示波器的6 倍。测量同一个信号的上升时间, 所得的标准偏差越低, 就表明示波器自身的信号完整性越出色, 水平系统的性能也就越高。

ADC 位数和最小分辨率

模数转换器 (ADC) 是确保示波器自身信号完整性的关键技术。ADC 位数与示波器的分辨率成正比。理论上讲,10 位ADC 示波器的分辨率比 8 位ADC 示波器高 4 倍。同理,12 位ADC 示波器相对于10 位ADC 示波器也是如此。图2 以10 位 ADC Infiniium S 系列示波器为例,实际验证了上述结论。

图 2. 多数示波器都是采用 8 位 ADC, 而 S 系列示波器采用的是 40 GSa/s 10 位ADC, 分辨率提升了四倍。

分辨率是指由示波器中的模数转换器(ADC) 所决定的最小量化电平。8 位ADC 可将模拟输入信号编码为 28 = 256 个电平,即量化电平或Q 电平。ADC 在示波器量程内工作,因此在电流和电压测量中,量化电平的步长与示波器的量程设置有关。如果垂直设置为 100mV/格,则量程等于 800 mV (8 格x 100 mV/格),量级电平分辨率就是3.125 mV (即,800 mV 除以256 个量化电平)。

我们现在看一个具体示例: 图 3 中, 两款示波器都已设置为800 mV 全屏显示。8 位ADC 示波器的分辨率是 3.125 mV,即,800 mV 除以 28 (256 个量化电平)。10 位ADC 示波器的分辨率是0.781 mV,即,800 mV 除以 210 (1024 个量化电平)。计算出来的分辨率又被称作最小量化电平,在正常采集模式下,是示波器能识别的信号最小变化范围。

示波器通常支持高分辨率采集模式,在该模式下,要得到正确的信号,示波器的模拟前端要能够防混叠,且采样率远大于实际需要的采样率。也有的厂家采用过采样技术配合DSP 滤波器来提高示波器的垂直分辨率,然后给出一个指标,说高分辨率模式下, 其位数是多少。以Infiniium S系列示波器为例,其 ADC 固有分辨率是10 位,高分辨率模式下是12 位。高分辨率模式要求ADC 实际支持的采样率远高于被测信号测量所需的硬件带宽。

提升分辨率,可以选择更高位数的ADC,同时示波器的垂直刻 度选择范围要更宽。

图3. 示波器分辨率是信号完整性的一个重要属性。提高ADC 位数或设置恰当的量程都能改进分辨率。

量程设置对示波器分辨率的影响

量程设置对示波器的分辨率利用程度影响很大。启用模数转换器(ADC) 首先需要设置垂直刻度并尽可能全屏显示波形。举个例子,假如被测信号波形占据示波器屏幕的½,那么 8 位ADC 实际被使用的位数就降到了7 位。又假设波形只占屏幕的¼,那么ADC 实际被使用的位数就从 8 位降至 6 位。如果将波形放大到占据整个屏幕,示波器ADC 的 8 位分辨率就可以得到最充分利用。要获得最佳分辨率,就必须使用最灵敏的垂直刻度设置, 在显示屏上尽可能接近满屏显示波形。

ADC、示波器前端架构及使用的探头决定了示波器硬件能够支 持将垂直量程设置降到多低。所有示波器的垂直刻度设置都有一个极限点,超过这个点,硬件不再起作用,这时,即使用户继续使用旋钮将垂直刻度设置变得更低,也不会改进分辨率, 因为这时用的是软件放大功能。示波器厂商通常将这个点作为转折点,在此之后,即使将示波器的垂直刻度设置得更小,也只能在显示效果上放大信号,但无法像用户期待的那样提高分辨率,因为这时示波器是用软件放大波形。传统示波器在垂直量程设置降至 10mV/格以下,就会启用软件放大功能。另外,部分厂商的示波器会在较小的垂直刻度设置(通常是 10 mV/格以下) 时,自动将示波器带宽限制为远低于标称带宽的一个值。因为这些示波器的前端噪声过于明显,几乎不可能在全带宽上查看小信号。

我们现在对比一下两款示波器。小信号具有一定的幅度,当示波器垂直设置设为16 mV 全屏时,它会占据几乎全屏的空间。

  • Infiniium 9000 系列示波器等传统示波器硬件支持的最小刻度是7 mV/格, 低于该设置的垂直刻度, 是用软件放大实现的, 7 mV/格的设置意味着量程是 56 mV (7 mV/格x 8 格), 该示波器采用了8 位ADC, 量化电平数是256, 因此其最小分辨率为218 uV。
  • Infiniium S 系列示波器采用了10 位ADC, 硬件支持的最小垂直刻度是2 mV/格, 并且该设置支持满带宽。2 mV/格设置对应的量程为 16 mV (2 mV/格x 8 格), 因此分辨率为 16 mV/1024, 即为15.6 uV — 是传统的8 位示波器的14 倍(参见图4)。

图 4. 查看小信号细节时, 示波器硬件所支持的最小量程是一个关键指标, 决定了您能否查看信号的最小分辨率。

示波器噪声

要想查看低电流和电压值或是大信号的细微变化,您应当选择具备低噪声性能(高动态范围) 的示波器。

注: 您无法查看低于示波器本底噪声的信号细节。

如果示波器本底噪声电平高于ADC 的最小量化电平, 那么ADC的实际位数就达不到其标称位数应达到的理想性能。

示波器的噪声来源包括其前端、模数转换器、探头、电缆等, 对于示波器的总体噪声而言,模数转换器本身的量化误差的贡献通常较小,前端带来的噪声通常贡献较大。

大多数示波器厂商会在示波器出厂之前对其进行噪声测量,并将测量结果列入到产品技术资料中。如果您没有找到相应信息,您可以向厂商索要或是自行测试。示波器本底噪声测量非常简单,只需花上几分钟即可完成。首先,断开示波器前面板上的所有输入连接,设置示波器为 50 Ω 输入路径。您也可以选择 1MΩ 路径。其次,设置存储器深度,比如 1 M 点,把采样率设为高值,以得到示波器全带宽。最后,您也可以打开示波器的无限余辉显示,以查看测得波形的粗细。波形越粗,示波器的本底噪声越大。

示波器通道在每个垂直量程设置上的噪声属性各有不同。波形粗细可以直观反映示波器在该特定设置下的噪声大概范围,准确测量应通过Vrms 交流测量来量化分析噪声情况。您可以将测量结果绘制成噪声图,以便进一步分析(图 7)。这些测量结果反映了每个示波器通道在不同垂直刻度设置下的噪声值,这决定着您所测得的电压数值的误差变化范围。示波器的本底噪声不仅影响电压测量,也影响水平参数的测量精度。

示波器的噪声越低,测量精度就会越高。

图 5. Infiniium S 系列示波器结合使用低噪声前端和 10 位ADC, 可将噪声减少到一半。

图6. 您能够查看示波器的噪声量, 只需断开示波器的所有输入连接, 并测量每个垂直量程设置下的噪声(电压真有效值)。本例中, 每通道的噪声都是仅为

图7. 您可以比较不同厂商的示波器的本底噪声。

图中示例是两款同带宽(4 GHz) Infiniium 示波器的本底噪声在不同量程设置下的对比。示波器的噪声越低, 您就能获得越高的信号完整性。

频率响应

每个示波器型号都有自己的频率响应曲线,它是用来 衡量示波器在额定带宽内采集信号准确性的重要参数。精确采集波形必须满足三个条件。

  1. 示波器的频响曲线必须平坦。
  2. 示波器的相位响应曲线必须平坦。
  3. 被测信号的关键频谱成分必须在示波器的带宽范围内。

上述三个条件缺一不可,否则会导致示波器无法精确采集和再现波形。偏离上述要求越大就意味着测量误差会越大。

任何被测信号都可看成是多次谐波的叠加,每个谐波对应一个频率,示波器的使用者当然希望示波器能够准确测量每个谐波成份的幅度。理想情况下,示波器在其带宽范围内应该有平坦的幅度响应,并且针对每个频点上的信号时延 (相位) 都相等。频率响应平坦,意味着信号在通过示波器内部通道时会产生相同的时延,相同的幅度放大或缩小;如果相位响应不平坦,示波器显示的波形将会是失真的。

图8. 每个示波器都有自己独特的频率响应。频率响应是否平坦对于信号完整性至关重要。砖墙式频响示波器的带外噪声最低, 而高斯频响的边沿振铃最低。图中显示了 8 GHz 带宽示波器Infiniium DSOS804A 的幅度响应。垂直标度已放大到1 db/格, 8 GHz 带宽内的频响幅度变化十分轻微。

图 9. 两款示波器测试的是同一个信号, 它们的额定带宽、采样率及其他设置均相同。右图中的波形精确地再现了被测信号的各个频谱分量, 但左图中的波形却没有。为什么有这种区别? 这是因为, 右图中的示波器采用了校正滤波器, 幅度和相位响应是平坦的, 而左图中的示波器则不然。

示波器的频率响应不平坦会导致显示出的信号失真。您在选购示波器时,可以向厂商索取频率响应数据。厂商一般不会在示波器技术资料中附带频率响应图,但通常可以根据您的要求来提供。为了方便起见,下面为您展示了各型号Infiniium S 系列示波器的频率响应图。图中设置如下: 20 GSa/s 最大采样率;100 mV/格de 垂直标度;信号幅度占据屏幕7.2 格。

示波器的整体频率响应受两个因素约束,一个是示波器自身的频率响应,另一个是所用探头或电缆的频率响应。如果您使用的是一根1.5 GHz 带宽的BNC 电缆,那么系统的整体带宽瓶颈就是这根BNC 电缆,而不是示波器。探头和与探头相连的附件也是如此。由于探头和电缆本身也具有频率响应,所以您需要设法保证探头、附件以及电缆不会给示波器系统带来限制,以便使用示波器进行精确测量。

500 MHz DSOS054A 示波器的幅度响应

1 GHz DSOS104A 示波器的频率响应

2 GHz DSOS204A 的幅度响应

4 GHz DSOS404A 示波器的幅度响应

4 GHz DSOS404A 示波器的幅度响应

6 GHz DSOS604A 示波器的幅度响应

校正滤波器

有些示波器的频率响应完全是由其模拟前端滤波器决定的;另一些示波器的频响则是由模拟前端和实时校正滤波器共同决定。实时校正滤波器通常是用硬件 DSP 实现的,并且会针对不同示波器家族略有调整,目的是保证幅度和相位响应是平坦的。由于不存在完美的模拟前端滤波器,所以将实时校正滤波器与模拟前端滤波器的组合使用,示波器的幅度和频率相位响应更加平坦。在业内,较高质量的示波器一定会使用校正滤波器配合模拟前端滤波器,以保证频响的平坦度。

频率响应的形状通常借助其滚降特征来体现。砖墙式频响最受青睐,这是因为该频响对带外噪声抑制力最强。需要注意一种极端情况,即被测信号的边沿速度很快,超过了示波器带宽的测量能力时,砖墙式频响测得的波形有可能伴有轻微的欠冲和过冲现象。使用高斯频响的示波器来测量,显示的振铃会小很多,但缺点是带外噪声较大。

软件滤波器

除了硬件实现的实时校正滤波器之外,示波器还可以通过纯软件滤波方法增强示波器系统的频响平坦度。软件带宽滤波器的速度当然远比不上硬件滤波器,而且要求示波器采用最大采样率以避免信号混叠现象。相对于等效的硬件或模拟滤波器,这种软件滤波器的信号完整性有可能不是最好的。但是,软件滤波器的优点在于灵活性较大。

例如,Infiniium PrecisionProbe 应用软件就是一款软件滤波器。该软件通过去除通道、探头或电缆的影响,来提高信号完整性。另外,它使用具有极快边沿的内部校准信号,仅需两分钟时间就能表征探头或电缆的 S21 参数。根据表征结果,软件在滚降点上产生反相的滤波器,从而可以去除BNC 电缆带来的信号损耗误差。

图10. Infiniium PrecisionProbe 应用软件充分体现了软件带宽滤波器的灵活性, 它能够帮助工程师快速确定电缆或探头的频率响应, 进而校正这个系统的频响, 去除电缆或探头带来的信号损耗误差。

ENOB (有效位数)

有效位数(ENOB) 是示波器动态性能的重要计量指标。尽管某些示波器厂商会提供示波器ADC 本身的ENOB 指标,但这一数值没有意义。整个示波器系统的 ENOB 指标才有意义。倘若示波器前端噪声过大,即便ADC 具有较高的ENOB,整个测量系统的 ENOB 也会明显下降。一般情况下,示波器厂商不提供总体ENOB 值,但他们可根据用户的要求,针对某个示波器型号进行表征并提供ENOB。

ENOB 不是具体的数值,而是借助一系列曲线进行描述。ENOB 是通过对固定幅度的正弦波信号进行扫频而测得;特定的垂直刻度设置都对应一条ENOB 曲线,随着频率的变化而变化。示波器可以捕获分析和测试电压测量结果。时域分析法是用测得的数据减去理论上的最佳正弦波数据计算得出ENOB。ENOB 曲线误差可能来自于示波器的前端,比如不同频率下相位的非线性和幅度变化,还有可能来自于ADC 内插复用造成的失真。对相同的信号,我们也可以用频域测量法,根据主频功率和该主频以外的宽带范围内的功率来计算ENOB。两种方法得到的结果是 相同的。

示波器的系统 ENOB 会比 ADC 自身的 ENOB 要低。例如,8 位Infiniium 9000 系列 1 GHz 带宽示波器的ENOB 约为 6.5。1 GHz DSOS104A 示波器配备 10 位 ADC 和超低噪声前端,其系统ENOB 约为 8。为了加深您对ENOB 的理解,接下来我将会附上几个Infiniiuum S 系列示波器的ENOB 图,其中被测信号占据屏幕的7.2 格、最大采样率为20 GSa/s。

500 MHz DSOS054A 示波器的ENOB 图

1 GHz DSOS104A 示波器的ENOB 图

2 GHz DSOS204A 示波器的ENOB 图

2.5 GHz DSOS254A 示波器的ENOB 图

一般来说,ENOB 越高越好。但是,我们不能把它作为评估信号完整性好坏的唯一指标。ENOB 没有考虑到示波器的偏置误差或相位失真等因素。这一点必须引起工程师的高度重视。

4 GHz DSOS404A 示波器的ENOB 图

8 GHz DSOS804A 示波器的ENOB 图

固有抖动

抖动是指信号边沿对理想位置的偏移,以ps rms 或ps pp 为单位。抖动通常出现在高速数字系统中,它的来源有很多种,包括晶振产生的热噪声和随机机械噪声。另外,轨迹、电缆和连接器中存在的符号间干扰也会给系统增添额外的抖动。过多的抖动是系统无法接受的,因为抖动会造成计时违规,从而导致系统操作失常。例如,通信系统存在过多抖动就会产生不可接受的比特误码率(BER),从而造成信号传输错误。因此,要确保高速数字系统的可靠性,您就必须执行抖动测量。

在测量之前,您首先要了解示波器的抖动测量功能,以及对测量结果的解析能力。具体地说,示波器首先对数字波形进行采样并存储。每个波形都是由一组采样点构成。理想情况下,示波器能够采集采样点等间距的波形。但在实际应用中,示波器的内部电路缺陷会使ADC 采样点水平偏移理想位置,这种偏移就是示波器自身固有的本底抖动。因此在抖动测量中,示波器无法分辨哪些抖动是来自被测器件或是示波器本身。

理想情况下,使用示波器对一个无抖动的理想信号进行抖动测量,得到的抖动值应当为零。但是,我们必须要考虑示波器本身的抖动。示波器抖动的来源有多个方面,包括: 多片ADC 进行内插带来的误差,ADC 采样时钟输入信号的抖动,以及其他内部抖动源。这种水平偏移误差源的集合会构成一个总的水平时间误差,即等效的采样时钟抖动(简称为采样时钟抖动),也可以 叫做固有源抖动时钟(SJC)。示波器厂商将其精简为术语”固有 抖动”,用于表示示波器在短时间内的最低固有抖动。

测量本底抖动 = 函数(噪声、信号斜率、固有抖动)

即便对无抖动的理想信号进行测量,示波器的抖动测量结果也不会为零。”本底抖动” 表示示波器对一个无抖动的理想信号进行抖动测量的结果。本底抖动的构成不仅包括上述提到的采样时钟抖动,而且还包括垂直误差源产生的抖动,例如垂直噪声和混叠的信号谐波。垂直误差源能够影响水平时间测量,因为它们可以改变阈值交叉点。

水平精度相关的示波器电路被称为时基,用于确保时标精度和抖动水平分量。时基电路设计得好的示波器,固有抖动值有机会更低,因为水平系统的抖动贡献少了。

图11. Infiniium S 系列示波器添加了新的时基模块。

时钟精度高达75 x 10-9。固有抖动低于130 fs (短期固有抖动)。

图12. 使用Infiniium S 系列示波器测量实际抖动。

所有型号采用相同的时基技术模块, 测得的抖动水平分量低于 130 fs (短期固有抖动)。

Infiniium DSO9404A

Infiniium DSOS404A

图 13. 示波器厂商通过绘制TIE 测量与输入信号斜率的关系图, 可以提供测量本底抖动的特征(如果使用的是正弦波信号, 则给出TIE 测量值与频率的关系)。除 Infiniium S 系列示波器以外, 所有其他示波器的固有抖动图都与左图类似。从图中可以看出, 在示波器的水平系统成为决定性因素之前, 固有抖动始终是由信号斜率和垂直噪声决定的, 这就叫做测量本底抖动。S 系列的抖动曲线与垂直噪声和斜率存在直接关系, 这表明示波器水平系统对总体固有抖动没有任何影响。Infiniium S 系列在处理8 GHz (最大带宽) 输入正弦波信号时, 它的带内固有抖动低于120 fs。

总结

您是否正在评测一台新的示波器,希望确保它能够在广泛的频率范围内全面而精确地显示被测信号?如果是,您所选的示波器就必须具备信号完整性的所有促成因素: 高分辨率、低固有噪声、平坦的频率响应和适当的ENOB。Infiniium S 系列示波器整合了新的时基模块、前端电路设计以及ADC 技术模块,提供出色的测量功能,可以为您提供同类产品中最佳的本底抖动和最出色的垂直信号属性。S 系列覆盖了500 MHz 至8 GHz 的带宽范围,隶属于Infiniium 示波器家族,该家族的实时示波器带宽最高是63 GHz。示波器 | Keysight​www.keysight.com/main/redirector.jspx?action=ref&cname=COLLECTION&ckey=x2015004&lc=chi&cc=CNInfiniium S 系列示波器​www.keysight.com/main/redirector.jspx?action=ref&cname=COLLECTION&ckey=x205213&lc=chi&cc=CNhttps://www.keysight.com/main/redirector.jspx?action=ref&cname=COLLECTION&ckey=x205199&lc=chi&cc=CN​www.keysight.com/main/redirector.jspx?action=ref&cname=COLLECTION&ckey=x205199&lc=chi&cc=CN

示波器术语表

ADC (模数转换器): 通常是指示波器中一个将电压转变为数字幅度值的电子元件。ADC 的总体量化电平或输出电平数等于 2n, 其中n 是指ADC 位数。

分辨率位数: 用于衡量示波器在测量信号时可给出的潜在输出电平数,和ADC 位数、高分辨率模式和/或均值模式有关。

ENOB (有效位数): 通常表示 ADC 或示波器的动态范围。ENOB 考虑到了噪声和其他垂直失真来源。ADC 芯片的ENOB 会比整个示波器系统的ENOB 要高。

滤波器: 滤波器是指一个具有特定频率响应特征的电路或算法。滤波器可以是模拟电路,也可用DSP 硬件实现或通过软件方法实现,但后者速度较慢。

频率响应: 描述示波器在特定带宽范围内的幅度或相位特征。理想的频率响应图应当极为平坦,且具有砖墙式频响。

前端电路: 指示波器 BNC 输入与 ADC 芯片之间的电路,包括模拟滤波器、1 MΩ 和 50 Ω 路径间的开关转换电路和衰减器(为ADC 适当地缩放信号。

抖动: 指信号边沿对理想水平位置的偏移。示波器是测量目标系统抖动性能的理想工具。然而,示波器本身的固有抖动会对抖动测量造成影响。

固有抖动: 示波器的固有抖动包括示波器内部的抖动测量值,也被称为固有源抖动时钟(SJC)。示波器厂商将其精简为”固有抖 动”,用于表示示波器在短时间内的最低固有抖动。

测量本底抖动: 指示波器为抖动测量信号添加的误差,换句话说,它是示波器测量一个无抖动的理想信号所得到的抖动值。本底抖动的构成不仅包括上文提到的采样时钟抖动,而且还包括垂直误差源产生的抖动,例如垂直噪声和混叠信号谐波。

噪声: 指信号边沿对真正信号的垂向偏移。您无法查看低于示波器噪声电平的信号细节。如果噪声电平高于ADC 量化电平,那么ADC 就达不到其标称的理想位数。前端电路是示波器噪声的最大来源。

分辨率: 示波器ADC 的分辨率是指由模数(A/D) 转换器决定的最小量化电平。示波器对多次采集的时间点求平均值可以得到较低的分辨率。或者,示波器采用整合了过采样技术和DSP 滤波器的高分辨率模式,可以实现较高的分辨率。

采样时钟抖动(SCJ): 指抖动的水平分量。

时基: 指示波器中用于确保水平精度和低采样时钟抖动的电路。

[转载]基于矢量网络分析仪的 TDR 与传统采样示波器 TDR 之间的测量性能和优势比较

最近几年随着多 Gbps 传输的普及,数字通信标准的比特率也在迅速提升。比特率的提高使得在传统数字系统中不曾见过的问题显现了出来。诸如反射和损耗的问题会造成数字信号失真,导致出现误码。另外由于保证器件正确工作的可接受时间裕量不断减少,信号路径上的时序偏差问题变得非常重要。杂散电容所产生的辐射电磁波和耦合会导致串扰,使器件工作出现错误。随着电路越来越小、越来越紧密,这一问题也就越来越明显。更糟糕的是,电源电压的降低将会导致信噪比降低,使器件的工作更容易受到噪声的影响。尽管这些问题增加了数字电路设计的难度,但是设计人员在缩短开发时间上受到的压力丝毫没有减轻。推荐阅读:是德科技:什么是网络分析?深入了解矢量网络分析的基本原理51 赞同 · 8 评论文章

1. 数字系统设计中的问题。

随着比特率的提高,尽管无法避免上述问题,但是使用高精度的测量仪器可以对此类问题进行检测和表征。以下是使用仪器处理这些问题时必须要遵守的测量要求:

1. 在更宽的频率范围都要有很大的测量动态范围
实现高动态范围的一种方法是降低噪声。如果仪器噪声达到最低水平,就可以把很小的信号( 例如串扰信号) 测量出来。精确地测量高频元器件也很关键,因为它们是导致信号完整性问题的最常见原因。
2. 激励信号要能精确地同步起来
在测量多条微带线之间信号的时序偏差时,精确同步的激励信号更能保证精确的测量结果。
3. 快速进行测量并刷新仪表屏幕上显示的测量结果
能够快速进行测量并刷新所显示的测量结果可以使产品的设计效率更高并提高生产吞吐量。

传统上,基于采样示波器的时域反射计 (TDR) 一直用于电缆和印刷电路 板的测试。由于这种示波器的噪声相对较大,同时实现高动态范围和快速测量具有一定难度,虽然通过取平均法可以降低噪声,但是这会影响测量速度。示波器上用于测量时序偏差的多个信号源之间的抖动,也会导致测量误差。此外,给 TDR 示波器设计静电放电 (ESD) 保护电路非常困难,因此 TDR 示波器容易被 ESD 损坏。

这些问题只凭 TDR 示波器基本上很难解决,只有通过VNA-TDR — 基于矢量网络分析仪(VNA) 的 TDR 解决方案才能解决。

使用矢量网络分析仪 VNA 进行时域反射计测量

矢量网络分析仪 VNA 进行哪些测量?

矢量网络分析仪 VNA是测量被测件(DUT) 频率响应的仪器,测量的时候给被测器件输入一个正弦波激励信号,然后通过计算输入信号与传输信号(S21) 或反射信号(S11) 之间的矢量幅度比( 图2) 得到测量结果; 在测量的频率范围内对输入的信号进行扫描就可以获得被测器件的频率响应特性( 图3); 在测量接收机中使用带通滤波器可以把噪声和不需要的信号从测量结果中去掉,提高测量精度。

2. 输入信号、反射信号和传输信号示意图。

3. 在测量频率范围内扫描正弦波激励信号,就可用VNA 测得被测器件的频率响应特性。

从频域变换到时域 傅立叶逆变换)

众所周知,频域和时域之间的关系可以通过傅立叶理论来描述。通过对 使用VNA 获得的反射和传输频率响应特性进行傅立叶逆变换,可以获得时域上的冲激响应特性( 图4)。再通过对冲激响应特性进行积分,可得到阶跃响应特性。这和在TDR 示波器上观察到的响应特性是一样的。由于积分计算非常耗时,因此实际上使用的方法是在频域中根据傅立叶变换的卷积原理进行 计算 — 把输入信号的傅立叶变换和被测件的频率响应特性进行卷积,然后再对结果实施傅立叶逆变换。由于在时域中的积分也可使用频域中的卷积来 描述,因此我们可以快速计算出阶跃响应特性。

4. 从傅立叶逆变换中推导出的阶跃响应特性与冲激响应特性之间的关系。

通过傅立叶逆变换得到的时域特性的时间分辨率和时间测量范围分别对应于最高测量频率的倒数和频率扫描间隔的倒数( 图5)。例如,若最高测量频率是10 GHz,则时间分辨率为100 ps。我们似乎可以认为通过不断缩小频率扫描的间隔就可以无限地扩大测量的时间范围,但事实上却存在限制。因为傅立叶逆变换中使用的频率数据在频域中必须是等距的,若扫描的频率间隔比VNA 的最低测量频率还要小,那么就不能执行傅立叶逆变换。例如,如果VNA 的最低测量频率是100 kHz,则在时域测量中能够得到的最大时间测量范围就是10 µs,对于TDR 的测量应用,这足够了。

5. 时域参数时间分辨率和时间测量范围频域参数最大频率和扫描频率间隔之间的关系。

6. VNA-TDR 86100C TDR 示波器(86100C) 的测量结果之间的相关性示波器TDR 的测量结果是经过16 次平均以后得到的)

图6 显示的是使用基 于VNA 的 TDR 和示波器TDR,对同一被测件( 用Hosiden 的测试夹具和电缆) 的阻抗进行测量,得到的响应曲线之间的相关性。两个测量结果之间的差别不到0.4 Ω。

VNA TDR 示波器动态范围的比较

此前的文档1 已介绍了VNA 和TDR 示波器的限制和精度。本节将从理论的角度,对VNA 和TDR 示波器的动态范围进行比较。VNA 和TDR 示波器由于体系结构不同,所以在动态范围上也有差异。

以下假设将简化对比过程:

  • 两个系统的噪声和带宽(fc) 相等
  • 从直流至fc 频率范围内,噪声都是一致的( 白噪声),观察到的功率为b2
  • TDR 示波器的阶跃输入和VNA 示波器正弦波输入的最大信号功率(a2) 相等
  • 信号源和接收机之间的传输通道不产生损耗
  • 使用归一化阻抗以简化数字的表达

首先对比的是对同一测量的动态范围。TDR 示波器的时域响应由阶跃激励和噪声组成,各分量的功率分别定义为a2 和b2,动态范围是这些分量的比值。对VNA 来说,带通滤波器可以无损传送信号,因此信号功率为a2; 噪声分量在带通滤波器的阻带中被衰减 — 如果带通滤波器的带宽为fIF,则滤波器输出端口的噪声衰减为fIF/fC。鉴于噪声的降幅与动态范围成正比,所以VNA TDR 的测量动态范围可以扩大10 log (fC/fIF) dB。由于此关系式与激励频率无关,与TDR 示波器相比,从VNA 的测量结果经过傅立叶逆变换获得的时域响应的动态范围也将扩大10 log (fC/fIF) dB。

7. VNA 降低噪声的原理

  1. 是德科技公司,《物理层器件时域和频域 分析的限制和精度 (Limitations and Accuracies of Timeand Frequency Domain Analysis of Physical LayerDevices)》,5988-2421EN
  2. 由于负频分量与正频分量复共轭,实际需要的

接下来对比的是在相同的时间测量范围(T) 和时间分辨率条件下得到时域响应特性所需要的测量时间。

使用TDR 示波器测量时,为了在物理采样频率fP 下获得等效采样时间fE,测量需要多花fE/fP 倍的时间来完成( 如图7 所示)。当测量时间长度为T 时,则需要测量T x fE 个数据点(M),测量时间为T x fP/fS。使用VNA 进行测量,如要获得相同的时域响应特性的话( 如图9 所示),则需要以1/T 作为频率扫描的步长,并测量M*2 个数据点。单个数据点的测量时间主要由带通滤波器决定,等于1/fIF。因此总测量时间为M x 1/fIF,等于(T x fE) x 1/fIF。

对比结果可知,在VNA 进行一次测量扫描的时间内,TDR 示波器可以测 量fP/fIF 次。由于将信号波形平均L 次会使得噪声与 L 成正比下降,与VNA 相比,TDR 示波器能够将动态范围扩大10 log (fP/fIF) dB。

8. 采样示波器恢复的波形与测量时间的关系。

9. VNA 测量时,恢复的波形与测量时间的关系。

要想对比真实的动态范围,就必须要在测量时间相同的条件下进行对比。因此,必须将VNA 通过使用带通滤波器所带来的在动态范围上的改善和TDR 示波器通过多次平均所达到的在动态范围上的改善这些因素都考虑在内。

1. 由于负频分量与正频分量复共轭,实际需要的数据点为M/2

通常,TDR 示波器的物理采样频率(fP) 远低于TDR 示波器的截止频率(fC),VNA 的动态范围要高出TDR 示波器动态范围的10 log (fC/fP) 倍( 表1)。要通过取平均法在TDR 示波器上获得与VNA 示波器相同的动态范围,TDR 的测量时间将延长fC/fP 倍。

1. VNA TDR 示波器的动态范围比较

以上内容主要讨论了时域响应的动态范围。频域测量对当今高速数字通信系统的重要性日益凸显。例如,要测量串扰效应,则精确测量高频响应至关重要,因此必须使用在高频时具有宽动态范围的仪器进行测量。下面我们将重点对比VNA 与TDR 示波器的频域动态范围。我们在本节会对一些要点和结果进行讨论,与此有关的详细分析请参见附录。

因为我们假设激励信号功率在整个频率范围内是保持恒定的,因此在VNA 的整个测量频率范围内可以得到相同的动态范围。TDR 示波器的阶跃激励经傅立叶变换后变为 (f)/2+1/(2∏jf) 。其中包括了一个与频率的提高成反比的较大的DC 分量。图10 比较了VNA 与TDR 示波器在相同频率范围和分辨率条件下的动态范围。对于N 个点的测量,动态范围 10 log (fC/fP) dB 在 N/2∏ 点出现差异。频率越高,VNA 在动态范围方面的优势越大( 请参阅附件了解详情)。

10. VNA TDR 示波器的频域动态范围比较

信号同步比较

为了测试在多个传输通道之间的信号的时序偏差,需要在各个通道的测量结果之间进行时间同步。VNA 和TDR 示波器对测量结果进行同步的方法并不相同。本章节将讨论不同方法对测量精度的影响。图11 对比了VNA 和TDR 示波器测量多端口器件时使用的激励信号。TDR 示波器为每个端口提供激励源,并独立生成阶跃激励。因此,必须要激励信号同步起来才可以测量不同通道间信号的时序偏差。如果激励信号在某个时间点实现同步,该激励的任意时间波动将导致测量结果中出现抖动。

11. 测量多端口器件时,TDR 示波器VNA ( 的激励设置方块图。

12. TDR 示波器上的多个激励源的时间同步。调整VNA 相位时延,以实现时间同步 )

使用VNA 可以在频域中进行测量,并通过傅立叶逆变换计算出时域响应。频域中的相位时延对应的就是时域中的时间时延。VNA 提供多种校准方法来补偿相位时延。此外,由于VNA 测量的是输入信号与输出信号的矢量比,因此VNA 测量结果不受激励波动的影响 — 输入信号的任何波动都被比率的计算给抵消掉了。因此,VNA 测得的时域响应不包含因激励信号波动产生的误差,测量结果与使用无波动的完美激励所获得的结果相同。

仪表的结实和耐用性的比较

由于内部结构的原因,TDR 示波器很难在内部增加静电放电(ESD) 保护电路,因此容易受静电放电影响而损坏。图11 为TDR 示波器的方框图。为了最大程度地降低测试端口输入信号的损耗,采样器直接连接到测试端口上。阶跃信号发生器则采用了隧道二极管。隧道二极管是一种低阻抗器件,适合于与负载连接的配置。如果在图11 中A 点位置插入保护电路,保护电路的杂散电容和A 点的阻抗将形成一个低通滤波器,这会使阶跃激励信号产生失真, 导致测量出现误差。

13. TDR 示波器脉冲发生器与采样器的连接方框图。

在 VNA 中很容易使用 ESD 保护电路。正弦波激励信号在测量时会扫过VNA 的整个测量频率范围,测量结果从输入与输出信号的矢量比中得到。因此,即使保护电路会导致部分损耗,使用矢量比也可以消除这些损耗,从而确保测量精度不受影响。

总结

此前,我们已经对比了VNA TDR 和示波器TDR 的测量限制与精度。结果显示,在VNA 上执行的TDR 测量与在传统TDR 示波器上执行的测量相关。此外,我们还讨论了VNA TDR 的大动态范围、更出色的信号源稳定性以及更高的测量稳定性。VNA-TDR 简单和直观的用户界面克服了传统VNA 用户界面难以使用的问题,为高速串行互连分析提供了综合解决方案。选择VNA-TDR 进行TDR 测量能够带来许多优势。

附录:

VNA TDR 示波器的频域动态范围比较

注: 本节使用与“VNA 与TDR 示波器的动态范围比较”一节相同的假设条件和标志约定。

VNA

假设信号和噪声都具有平坦的频率响应,因此频域动态范围也是一致的, 可用以下公式描述:

由于单点测量时间为1/fIF,在N 个点的测量时间等于N x 1/fIF。

TDR 示波器

在考虑采样示波器进行的测量之前,我们首先考虑实时示波器的情况。实时示波器的采样频率(fE) 比截止频率(fC) 高得多。在时间段T 内对阶跃激励进行采样,可以获得以下离散数据,其中数据点的数量为2M = TfE:

x [n] 直接进行傅立叶变换会产生频域纹波; 如果在考虑频域特性之前对x [n] 进行微分,那么计算过程会变得更简单。 x [n] 导数定义如下:

由于y [n] = a[n],傅立叶变换Y[k](-M ≤ 0 < M) 是一个常数值。

Y[k] 的频率步进为∆f = 1/T = fE/2M。

测量数据等于x[n] 与噪声p[n] 之和。对测量数据进行微分,也可以得到p[n] 的微分。p[n] 的微分定义为:

q[n] 的傅立叶变换式为:

由于p[n] 是随机的,如果M 足够大,那么可以假设以下关系式成立。

比较Y[k] 和Q[k] 可获得动态范围的频率特性。首先考虑P[k] 的幅度。

根据傅立叶理论,P[k] 与p[n] 之间有以下关系。

由于假设噪声在高达fC 的频率范围内是平坦的,且在fC 以上的频率范围内不存在噪声,

假设fE>>fC,k (=f/∆f) 时的fC 对应频率f < fC,k/2M<<1。在此情况下,可以进行以下近似运算: sin (πk/2M) πk/2M 。因此,在0 < k ≤ fC/fE M 的范围内

换句话说就是,Q[k] 与频率(k) 成正比。

现在在采样示波器上对同一时域波形进行傅立叶变换,比较获得的动态范围和测量时间。采样示波器的测量时间取决于物理采样频率fP 和等效采样频率fE 的比值,即T x fE/fP。

由于实时示波器和采样示波器获得的时域波形是相等的,所以傅立叶变换的结果也是相等的。另一方面,如果噪声的频率分量超过物理采样频率的二分之一,则无法根据Nyquist 理论定义重新回复该噪声,原因在于频率f 的噪声分量与具有f+n x fP/2 (n 是整数) 频率分量的噪声无法区分。也就是说,测量结果中将会出现实际上不存在的高频噪声。因此,对通过采样示波器获得的噪声进行傅立叶变换,则噪声将摊薄(diluted) 到整个频率范围内。

比较VNA 与采样示波器在相同测量条件下的动态范围

现在对比相同扫描频率间隔和测量时间条件下VNA 与采样示波器的动态范围。在VNA 上测量N 个点需要的测量时间为N/fIF。在采样示波器上进行相同测量需要的测量时间为T x fE/fP = 2M/fP。

因此,在VNA 完成一次测量的时间内,示波器可以完成NfP/2MfIF 次测量。

动态范围比值取决于示波器截止频率与采样频率的比值。

电源环路测试笔记

本文主要参考德州仪器(Texas Instruments)技术文章,部分图也来自TI,侵删。

作为一个电源工程师,我们知道测试电源的波特图并且由此判断稳定性是非常重要的。一般来说,我们需要做到的是穿越频率在1/10-1/5开关频率,相位余量在45°以上。

网上找了一个环路稳定性判据的图,大家可以参考下:

电源环路稳定性评价指标

几个小小的结论:

  • 低频增益要大,中频要以-20dB穿越,高频增益要快速衰减。
  • 穿越频率大对应动态响应好。
  • 相位余量太小,输出容易震荡。
穿越频率22k,相位余量15°时的震荡

今天我们要简单分析的是小信号注入点的选择。讨论的原因是某次meeting上有人问我为什么注入点通常在2,而不可以是1/3/4?理解可能不够深入,有问题欢迎大家留言指正

buck拓扑及控制环路

假设我们在AB点注入小信号,根据戴维宁定理,往B点看可以等效为VCVS串联一个Z2阻抗网络,往A点看可以等效为Z1阻抗网络。

系统的环路增益T(s)=M(s)·Z1(s)/(Z1(s)+Z2(s)),由此可以得到M(s)=T(s)·(1+Z2(s)/Z1(s))

假设注入的小信号为Vinj,iZ1(s)=VA(s)/Z1(s),VB=-M(s)·VA(s)-Z2(s)/Z1(s)·VA(s),则Tmeasure(s)=-VB(s)/VA(s)=M(s)+Z2(s)/Z1(s)=T(s)·(1+Z2(s)/Z1(s))+Z2(s)/Z1(s)

因此,为了使我们的测量准确,必须使Z2(s)<<Z1(s).

在上述1/2/3/4点中,哪个点符合这个条件呢?

1点:从1点作为break点来看,往B点看阻抗是Mos管的内阻级别,大约是mΩ级别,往A点看是电感+电容的阻抗,会远大于mΩ级别,从阻抗上来看是符合的。但是1点是phase点,显然不适合。

2点:常用引入点。往B点看是电容的阻抗,往A点看是反馈电阻,一般为kΩ级别,显然满足Z2(s)<<Z1(s)。

3点:对交流小信号来讲,往B点看几乎是对地短路的,往A点看是高阻抗的反馈电阻,所以不符合要求。

4点:往B点看是运放输出点,可以看成内阻很小的电压源,往A点看是比较器输入端,阻抗几乎无穷大。所以满足Z2(s)<<Z1(s)。

综上,2/4点符合阻抗的要求。但是4点在有些时候是集成在controller内部的,所以不太方便,所以大家一般就是选择2点作为测量点了。

那4点有什么用?当补偿器在controller外部的时候,可以测量功率级传递函数的波特图,然后通过测量的结果计算出补偿网络的参数。

[转载]ADV第十五讲课程纪要|串行接口(SerDes)技术简介

P1:

图片

大家晚上好,首先谢谢群主的邀请和组织这次网上课程。这样的分享,我觉得这是一个非常有意义的事情。我今天和大家分享的是SerDes的一个简单介绍。

P2:

图片

第二张PPT是关于我们今天讲的一个主要内容。第一部分,我们先介绍一下背景,讲述为什么要做SerDes,SerDes是干什么的。第二部分是讲SerDes的第一个内容timing,与时钟相关的,然后介绍SerDes的第二个内容,关于数据或者是信号、信号处理。

然后给大家分享一下,近年来比较流行的或者是主要的SerDes设计结构。最后把前面的两部分整合在一起和大家介绍。

P3:

图片

十几年前也就是2000年的时候,基本上很多接口还都是并行的。我们这里举了一个例子在2002年有个PCI x3.0,它是一种并口。同时这一年intel发明了这个PCIe 1.0,这是一个串口。PCIX这是64bit的一个并口,每个通道是1.066Gbps。

在最初的计算机接口技术中主要是使用PCI接口。而这个intel发明的PCIE结构呢,它是一个创新的。它用了SerDes技术。它的一个通道是2.5G,然后它可以是x1,x2,x4,x8和x16。

从总体来看呢,英特尔这个x16 的PCIE 1.0还没有它那个64bit乘以1.066g的PCIX 3.0速度高,但是它没有向前馈clock。因为x16总共有32根线,它的线会少一些。并且这个并口需要有一个同步的clock,它会从TX这边传一个同步clock到RX那边作为前馈同步时钟。这个同步clock的频率是数据的速度的一半,也就是采用DDR这种双边沿采样结构。

但是它这个pciex3.0发布出来之后没有商用。因为它是64bit并行的,在接收端数据之间会相互错开。比如说64bit之间错开之后,它们之间没办法用一个clock可把它们同时接收过来。

最关键的是PCIE是一个串口,所以它存活了下来,一直到现在。PCIe4 16G,PCIe5 32g。最近有很多产品就要出来了。PCIE4去年的时候有很多公司的产品研发出来用在soc上。PCIE5的IP基本上很多公司应该是ready了。

比如X16这种16路,它们之间是相互没有关系的。那每一路采样只需要照顾到自己这一路,把数据收进来就可以了。这是它的一个优越性,它不需要像并口那样有64路的同步。64路并口速度高,但是它有一点通路的不匹配就会导致最终的Phase error,然后在RX这边就会出现接收问题。

还有就是串口的速度越来越快,它可以节省大量的IO。为芯片拥有更高的吞吐率提供了一个可能性。比如PCIE-4单通道的数据率已经达到了16Gbps。

这边是目前用的比较多的一些SerDes环境。下面这个图是一个CPU和GPU通过一个背板连在一起,下面这个是通过一根同轴线cable连在一起。

目前,比如说USB3.1,或者我们视频中用的HDMI,基本上这个速度都会比较高,然后还有更高的就是在光纤通信中CEI-28G、CEI-56G的标准已经出来了,并且在Ethernet里边IE802.03ba/bg/bs,bg是28Gbps、bs是56Gbps,标准也出来了。

P4:

图片

这张PPT里面的图就是在一个Ethernet的应用。在数据中心中,很多像这个冰箱一样的柜子,里面是很多交换机芯片。交换机芯片在这个板卡上通过这个母板连在一起。这里边的很多SerDes都是10Gbps/40Gbps的这种速度。这个40Gbps其实是四个10Gbps一起的速率,也就是4-lane的10Gbps的SerDes。这种是基于802.3 ba协议的,这种现在基本上在很多数据中心已经使用了。

P5:

图片

那么在数据中心使用的这种芯片到芯片的这种互联或者switch交换机,它有一个环境就是背板或者PCB背版,还有一些connector等都有很多loss或者是reflection等等,并且这些loss和它的频率是相关的。另外,SerDes之间的channel都不是很理想,还有很多cross talk。这些loss,reflection和crosstalk和这个板材做的长度、通孔个数等等非常相关。而这些环境会使得设计SerDes非常困难,因为它会导致信号衰减,并且会加入很多非理想的噪声、干扰等等。

P6

图片

P7

图片

这边呢,就是一个刚才我们提到的那个channel的特性。这里第一张图给出了三种它的传输函数,或者说它的s21。在不同的长度,loss区别很大。我们看到第一个蓝色的,它的loss就会比较小,在2.5Gbps时loss大概不到5db;而红色的这种比较长,它的loss在2.5Gbps的时候就有10个dB多一些。这个绿色的一根线,它不光loss多一点,还在10Gbps时有一个很差的一个点的loss,到-60多dB。

一般在设计的时候,会拿一个channel的model一般是Sparameter或者是LGC这种model,然后在前仿真/后仿真去验证我们的design。

从它的冲击响应可以看到红色的在4ns前面一点开始上升,比如说在4ns前一点去sample它,那么可以得到一个数据。但是在后面,比如说4ns多一点的时候去sample它,也可能得到1个1,本来应该是得到了1个0,这就会产生一个错误的数据。

单位冲激响应叠加之后,就会产生一个眼图。或者在PRBS的输入下,折叠输出之后会得到一个眼图。我们看到这个眼图在不同的channel上它的opening,就是高度、宽度差别非常大的。

P8:  

图片

比如在第一个图上面看到这个数据就很容易在Rx这边接收到。第二张图相对来说一个比较好的比较器,也是能分辨出来的。那第三张图中eye就完全就闭合了。在这种情况下怎么去收到数据,并且我们怎么去发送数据,这都是一个比较有挑战的事情。另外5Gbps数据的奈奎斯特频率是2.5GHz,也就是说它的能量主要集中在2.5GHz以内。

P9

图片

并且我们看到,同样是红色的这一根channel它对于5Gbps数据的响应和10Gbps的响应完全不一样。对于5Gbps可以看到还有一点eyeopening,但是当速率上升到10Gbps的时候eye就完全闭合了。那就问题来了,我们再怎么从10Gbps这个眼图中恢复出数据呢,那如果要是速度再进一步上升,比如说到28Gbps,那我们又怎么去恢复出数据呢,这是SerDes需要解决的问题。使得它有一个最好的setup time、hold time等等。

P10

图片

这是一个SerDes的基本结构图。前面就是把并行数据转换成串行数据(一般也叫MUX),然后再给TX发送出去。因为channel本征阻抗是50Ω,所以TX这边加一个termination,50Ω的特征阻抗来保证阻抗匹配。Rx这边同样加一个50Ω特征阻抗来保证匹配,这样才没有反射。然后RX和TX这边分别有负责时序的,比如说PLL和Timing Recovery,这些模块专门为这些电路提供clock。

在这里我主要把它分成两部分,第一部分就是timing,为发送和接收数据提供clock;第二部分就是signaling,就是信号处理。TX边主要是把数据发送出去保证一定的眼高,然后Rx这边把数据恢复出来。因为channel loss之后,signal可能是看不到的。这就说RX主要做两件事,既要恢复数据、又要恢复时序。恢复数据就是要知道是0还是,对于这种PAM 2也就是NRZ类数据来说。并且要找到怎么去、在哪个时间点上去sample这个data,也就是恢复出一个最好的timing。看到下面有个时序图,Rx clock的上升沿采在这个数据它的正中间,center sample,这样一般是最好的。

P11

图片

这里提到BER,如果收到的数据有错误,那么错误的数据和总共收到数据的比值就是误码率BER。Timing上的error和signal上的error都会引起error,都会恶化BER。

误码率BER和noise有一个对应关系。一般要求BER是低于10的-12次方,对应14个sigma的 noise,这里说的noise是Random noise,而sigma就是我们平时说的RMS值。

那么timing上有jitter——Random jitter或者deterministic jitter是都会引起时序上的错误。然后noise同样有随机噪声和确定性噪声。一般BER求在10的-12次方以下,或者更好,有些甚至要求到10的-13次方或者-15次方,这样就会看到更多的噪声。

这个就相当于我们平时,看3个sigma的mismatch,其实这个概率大概是99.7%。那超过3个sigma的概率是3‰。也就是说,如果我们要保证10的负12次方这样的一个概率的话,我们要看到14个sigma。

P12:  

图片

下面就是我们来看一下timing。主要是TX这边transmitter的jitter和PLL,然后RX这边是clockRecovery,我们一般也称之为CDR。

P13:

图片

数据的jitter主要是由clock的jitter决定的,然后加一个C2Q到这边来。

首先,一个随机的数据可能会包含大量的ISI。比如说从电源来的或者是从channel来的。一般,我们会把那个data和clock分开。因为clock不是随机的,它是一个固定的。那么data会干扰clock。然后data上的这些ISI被clock可以滤掉。我们从PPT的第一个图上可以看到,如果data上有jitter,clock的去sample它时候,只要保证setup time满足和hold time满足,那么Q上的jitter和data是没关系的。

第二张图就是说用一个NAND gate,clock 去过滤掉DI上的jitter。和D触发器类似,数据上面有jitter,不会出现在DO这边。

这就说明了我们data上面的jitter其实不是那么在乎,只要保证setuptime、hold time。而clock上的jitter就至关重要。

P14(TX MUX):

图片

这是一个全速率的MUX,它的clock频率和data rate是相同的。这里有一个好的地方就是它最后使用的是一个DFF,而不是用NAND gate。但是它有一个“1UI Critical Path”,如果要保证setup time、hold time,D02这个 DFF的C2Q加MUX的C2Q的delay再加上最后一个DFF的setup time要小于1个UI。这时候让clock工作在和data rate一样的频率,clock的频率较高,routing较困难。

P15(TX MUX):

图片

而Half rate里clock的duty-cycle distortion会影响输出的jitter,因为它不是上升沿触发,而是用clock的高电平去gate掉Dout,或者说是时钟的高低电平选择数据。这时候clock就不需要那么高的频率。但是如果要是再降一下clock的频率,它可以支持在相同的时钟频率下有更高的数据率,但是它更可能会消耗更多的功耗,因为design太复杂了。

P16(Timing):

图片

下面来看一下这个PLL,它主要是为TX,可能也要给RX提供时钟。

P17:

图片

这是一个PLL,这里是一个100M的referenceclock。VCO的时钟经过feedback divider除以一个80后和Reference lock,这样就产生了一个8GHz的clock。PLL里面还有Charge Pump、PFD、LPF等。

P18:

图片

这里简单比较了一下Ring VCO和LC VCO两种区别,不过很多paper或者是资料上都比较这两个区别,我就不再细说了。另外补充一点Ring VCO目前来说有两级、三级、四级、五级,单端和差分的各种结构,三级的这种FOM是最好的,并且是三级单端的这种FOM是最好的。而两级、四级、五级相对都会差一些,五级其实是次之于三级。但有的时候我们需要那个四个Phase,可能就需要四级的,这样的话不得以用四级的,就会降低PLL的FOM。

而LC VCO这边可能也有很多种,包括ClassAB、Class B、Class C、Class D、Class F。基本上2013年就有paper在讲Class D、Class F。Class D在新的工艺下就是当地device的开关电阻非常小时非常优越,因为它在小信号时候晶体管表现为gm,在大信号时候就应该表现出一个开关,所以Class D在新的工艺下是有优越性的。

那么PLL要做到什么样的程度呢,我们来大致算一下。BER为10的-12次方,也就是对应的jitter是14个sigma,也就是说我们可能要看到14个sigma的Jitter。

那么RINGVCO,一般来说可能在5GHz的clock能做到1.5ps的RMS Jitter。有可能会做的更好,但问题是功耗在继续增加。10G的data rate,5GHz的clock就是half rate,14个sigma乘以一个根号2。因为有Rx、TX两端,所以有两个PLL或者是两个VCO,那么它的jitter是1.414×21ps。对于100ps的UI来说占了大概30%,这个地方就是又加上了1点margin。因为14个sigma对应的是10的-12次方,但是我们一般不会真正做到14个sigma,可能会更多。并且对于目前来说比较热门的PAM4来说,它的eye opening会更小,因为它的上升沿有不同transition。这样PAM4的eye opening会小30%。这里的30%具体指的是EYE的宽度,另外EYE的高度比较明显的会小1/3,可能还会更多。

对于14G的clock、28G datarate来说,用RING产生时钟比较困难,并且对这种data rate,jitter要求会更高。比如说RMS jitter 0.2ps,这时候大概占UI的11%。在高频的时候,数据恢复这边(signaling)也会更困难,所以我们尽量要保证这边的Jitter margin多留一点,对于signaling那边来说是一个好处。

P19

图片

一般来说,不考虑Rx第一个sampler或者说clockedcomparator的Setup time的话,EYE center基本上在正中间,但是有时候还有Setup time的影响,它一般可能不是在正中间。

P20

图片

P21

图片

另外一部分就是在RX这边的timingrecovery。这个CDR的主要目的就是找到一个最好的simple点,使得simple的数据尽量多的是对的,也就是说BER尽量的小。那么它找到这个eye可能是正中间,也可能是它最优的一个setup time/hold time点。

和VCO类似,CDR目前也有主要有两种,一种是VCOBASED CDR,还有一种是PI  BASED CDR。VCO是个很消耗power的东西,或者DCO。那PI的power就比较小。

VCO的可以用一个线性的phasedetector,或者是Bang-Bang的。线性的有个好处就是它的带宽可以做得很高,不会有很大的非线性引起的噪声,可以用模拟滤波器。如果是Bang-Bang的类型,基本上都是digital滤波器。

PI是相位插值器,通过内插得到新的相位时钟。PI本身不产生clock,需要一个reference clock,也就是说它需要一个PLL给它供clock。它只作为phase的调制,就是搬运phase,左一点右一点,能够克服一小部分的frequency offset,但是很少。

PI有比较大的INL,一般用多相位输入给PI供其选择来减小INL,也就是把相位分段之后再内插。那就是说如果是用LC tank的两个Phase的PLL的话,可能还需要DLL给它产生多个Phase,比如说八个或者是四个。PI一般输出128或者256个phase点是比较好的选择。

P22:

图片

这是一个基于PI的CDR,它是用了BANG-BANGphase detector,非线性但是功耗很低。然后有两条通路去做low pass filter。它这两条通路一个gain主要是调phase,一个gain调frequency。所以它有一定调制frequency的能力,但是很弱。PI实现digital to phase的convertor。一般resolution有128、256等,甚至有些人做得更高。但是更高的话就意味着你的data会很多,片子面积又很大,功耗就会增加。

CDR的主要性能就是jittertolerance,它可以track PLL那边的一部分jitter。还有就是CDR的bandwidth和它的功耗,bandwidth越高功耗就要更高。

P23:

图片

 上面基本上把timing的相关信息简单介绍下,下面介绍数据处理方面的内容。

P24:

图片

P25

图片

这张图就看到我们的tx和Rx的equalization在什么位置。

数据处理主要是均衡器,TX这边叫emphasis,或者叫FFE。RX这边的均衡器会比较多一些,比如说CTLE。有有源的、无源的,可能还会有些其它的滤波器。然后最重要的还有DEF,它有各种结构。在signal里面还会讲一下T-Coll和ESD,因为这两个在高频的时候会显得非常重要。

P26

图片

有时候那个equalization也就是均衡器可能会不需要,因为如果channel的loss特别好,TX那边直接把信号给发送出来,通过一个50Ω的阻抗匹配。然后RX这边有个50Ω的阻抗匹配,最后直接一个比较器就把它收过来了,这样也是可以的。但是,当channel的insertion loss比较差的时候,这个问题就十分重要了,它可以使得频率响应曲线变得平坦,减少ISI。像刚才说的TX输出阻抗和RX端口阻抗要保证50Ω来匹配channel的阻抗,保证没有反射。在下面的三张图(P26)就是表示均衡器的作用。比如说,Channel一开始时随着频率升高loss越来越大的,但是我如果在5G的时候给它一个gain,而在低频时候没有gain。这样就把5G这个地方给补进来了,看到第三张图绿色的这个就显得比较平坦,这样的ISI就会小。

首先介绍TX端的Equalization。这是一个TX的equalization。这里用了4-tapFFE。除了一个主的以外,前面有一个,后面还有个POST1、POST2,然后都加在一起后经过50Ω输出。这个图的下面也表示了这四个tap是怎么产生的,里面有DFF或者latch产生一个UI一个UI的delay。

P27:

图片

P28:

图片

通过这个PPT来看一下FFE的一个作用,它是怎么消除ISI的。如果没有FFE就是没有pre-emphasis。那么data出来之后高频的信号就变得小。而如果有第一个post的emphasis,可以看到第二张图红色的输出的响应,高频的信号明显变大了,低频信号稍微小一点。

P29:

图片

TX端除了均衡之外还有它的impedance。目前主流的还是有两种,分为电流模和电压模。电压模就是左边这张图。它主要是swing大一些,也就是输出的信号幅度大一点,power可能稍微会低点。但是50Ω阻抗的不是太好,因为它包含了晶体管,意味着晶体管阻抗会随corner变化比较大,然后温飘比较严重,但这个问题可以通过某些方法解决掉。而像右边的图只有一个电阻就很好底下的晶体管是在饱和区的,所以看进去的阻抗非常高,对于对于输出阻抗没有什么影响。

下面我们看一下Rx这边的均衡技术。第一个就是CTLE,连续时间线性均衡器。它主要来补偿channel的loss。它还可以做成是一种无源的,只有RC或者有L。无源的就意味着没有Gain。它只能把低频的减弱,把高平的相对来说是增高能量。并且无源design有个好处就是它不会产生noise,除了R会产生的noise,但是一般来说R会比较小。而晶体管的noise相对多一些。然后CML基本上就是一个放大器,不过它有RC的source degeneration,也就是说在低频时的gain被减弱,而在高平时会有gain。这样产生一个补偿channel的效果。

一般来说CTLE工作的时候功耗会大一些,来保证noise足够小,因为它一般是RX的第一级。另外,在那个奈奎斯特频率,CTLE一般都会有一些Gain。这样后边的noise就不那么敏感了,比如后面VGA、DFE、sampler。第三CTLE一般都是采用可编程的CS、RS,因为channel都不一样,甚至有时还会有自适应算法来自动配置RS、CS。

P30

图片

P31

图片

DFE技术(decisionfeedback equalization)。首先来说它会decision,它决定输入的数据是1还是0。第二个它是有feedback。也就是说它把这个收到的数据,通过一条链路返回到输入,然后再输入上直接减掉一些信息。那么减掉的量的多少,也就是它输入的数据会乘以一个系数。它减掉多少电压,就是这个信号的加权(w)是多少。另外,DEF是非线性的,并且channel也是非线性的,很多时候非线性还非常大。这里包含3点,一个就是decision,第二个就是feedback,然后第三个就是它非线性。

第一个点就是DFE的sampler或者slicer,它是个比较器,主要完成判决是0还是1的任务,它把输入信号一个很小的电压放大成CMOS level,或者是接近CMOS level这一个比较大的信号。

P32:

图片

这张PPT来看一下channel的非线性,DFE的非线性可以恰好补偿channel的一些非线性,因为CTLE或者前端的等一些其他的analog基本上都是线性的,而由于channel各种通孔好复杂,使得它有很多非线性。我们看到第二张图,channel的一个单位冲激响应,后面的post cursors可能会非常非常乱,每个tap到底取多少值,是可能会比较任意的。各个tap需要取多少值对于不同的channel也是不一样的,所以基本上都会有一个自适应的电路在里边。

P33

图片

P34: 

图片

这个就是介绍了两个channel,这两个channel不一样,那么它的DFE可能就是要适应这两个channel。并且一般的自适应电路是alwayson,用它来去cover一些电路或者是那些channel的温飘效应得到。自适应的话就需要额外的比较器,并且一直工作。

这个是DFE自适应的一种方法。为了自适应电路中额外加入了一些比较器,并且给这些比较器输入一个voltage offset信号,这些比较器就会产生error信号。然后根据error和data去判断各个tap是偏大还是偏小,在尽量大的voltage offset时,新加入的比较器能比较出相同数量的正确和错误结果,那就表明data的比较器margin比较大,或者是BER比较小。

P35

图片

P36

图片

这个是DFE一个致命的特点,就是它的第一个tap的timing必须满足在feedback到来的时候clock的上升沿还没有到,也就是clock到的时候feedback一定ready了。所以,这个timing要求delay和setup time小于一个UI,才能保证这个feedback加进来对下一个信号是有效的。如果这样一个时间保证不了,DFE就不能实现。这里还有一种减小这个限制的方法,那就是非折叠的DFE,它的第一个tap其实是预加在了前面两个比较器上,然后根据前一个数据到底是多少来选择从哪一个比较器拿数据作为输出。

下面是ESD和电感相关的东西。刚才我们讲到了那个DFE的一个致命的特点,下边我们在一些例子中还会继续提到。然后ESD电路的作用大家也都知道,但是它对于高速电路来说有一个不太好的地方,就是它有一个很大的寄生cap,这cap会限制我们的带宽,并且它会减小高频的阻抗,使得impedance imbalance。

P37

图片

这个就是T-Coil在TX和RX的使用,它基本上就是补偿电路中比较大的CAP。在TX和RX中的连接基本一样的,就是两个电感跨接在大电容的两边,两个电感有互感,其实就是一个线圈T-coil。

P38

图片

这张PPT是T-coil的版图和它对电路性能的改善情况。

P39

图片

P40

图片

Signaling本上就讲完了,然后下面主要看三个例子。由于时间关系,可能下面三个例子,我们会大致的讲一下重点。然后系统的细节上没时间讲太多。

P41

图片

这是一个28nm 28G的PAM-2的SerDes,它要支持40dBchannel loss。这是2015年的ISSCC,博通的一篇文章。RX直接就是2-Zero CTLE,加了一个4级VGA,然后就是14个Tap的 DFE和DEMUX。后面的就是digital,它包含一些自适应和一些CDR电路,也就是控制PI的 code需要这些digital产生等等。图中的时钟是有一个25G PLL提供的,PLL给它一个6.25G clock,然后自己再用DLL成8个phase再给PI。

它的PI用了6个,也就是产生6个6.25G的clock,它这里是4相位采样,另外两个PI是用给CDR。

PLL是一个LC tank25G的PLL,其实他是支持28GHz的。然后除以2之后再给TX和除以4给RX。TX这边就是MUX,最终应该是SST,也就是我们刚才讲的电压模的一个driver。它有5个tap的FFE,并且loading一个电感来补偿ESD的cap。

P42

图片

这是他的一个SST driver,讲了5个tap的优点。这是跟我们刚才提到的比较类似。

P43

图片

这个是他DFE结构,他这里讲了tap1如果是直接反馈的话,timingmeet不了。所以必须用第二种方法,非折叠的tap1,这样的话,他的时序约束就简单了很多。1.5个ts就是3个UI,就是从左边的1个UI变成了3个UI。这个时间约束只是加了一点点,加了一点点tmux的delay。这里有一个不好的地方,就是它比较复杂。对于tap3到tap14的timing就会好做一点。但这个并不是重点,因为tap1都做掉了。

这是他的整体的一个quarter rate的DFE。这边讲quarterrate的一个优点是时钟频率低。然后每一个sampler有selector有更长的时间去恢复数据。也就是regeneration timing会比较长。这样的话,有效的gain会比较大。由于它积分的时间长,比较器看到的噪声就更倾向于低频,高频的噪声会被平均掉。所以,他噪声会减小SNR会好。另外,他有更好的gain所以更sensitive,等于小信号来说也能折射出到底是0还是1。但是low power方面,其实由于clock多了一倍,sampler也是多了一倍。频率降下来了,但是面积增加一倍,功耗并不一定省。

P44

图片

P45

图片

这是他的一个测试结果。他用一个一米的背板,有40dB的loss去测的。看到这个eye还是非常好的。中间有很多空白的地方。这就是他的margin。在这种环境下还有这么大的margin。这个是对一个比较差的channel的一个测试,我们可以看到DFE都打开的时候效果还是很好的。

P46

图片

下面我们来探讨一下PAM-4。PAM-4主要就是把一个signal分成4个幅度,然后一次传2-bit数据。他的奈奎斯特频率相对datarate来说是四分之一,会更小。它可以看到更好的channel loss。如果在相同的channel loss下,他的data rate也会翻倍。但是他更是sensitive to noise,就是眼睛天然就会小了很多,高度小到1/3,也就是9.5个dB,但是由于眼睛的厚度存在这里,他可能比这个9.5dB还更差。由于高度上是4个level,它对于线性度很敏感。从图中很容易看到,PAM4的眼宽更窄,对jitter也是更加敏感。

P47

图片

这是一个PAM-4的SerDes。是2017年ISSCC Xilinx的文章,还是用DFE做均衡。

P48

图片

我们看到前面CTLE,AGC之后就是10个tap的DFE。他没有做那么多tap。然后有很多digital的部分用off-chip来control了。

P49

图片

基本上我们DFE收到的数据,其实是4个level的温度计码,还要编码成2个二进制码。比较器输出3个数据,分别是DH、DZ、DL;对应3个眼。然后还有4个error,4个电压level。所以他有很多比较器,也就是slicer。

P50

图片

这是DFE的框图,我们看到除了加法器和前面的GM之外。它的比较器很多,center data要3*2个,然后有4个half rate的error level,所以用了7*2个。当然还要自适应,也就是adaptation,这又要额外的sampler,还要有edge。所以加在一起,这个sampler会非常多,并且还是直接反馈的,没有用那种非折叠的。要不然的话,可能要五六十个sampler,非常可怕。

P51

图片

这张图就是为什么他直接反馈能够做到。首先因为它是14nm。14nm工艺在35.7ps的反馈时间还是可以做到的。如果是频率更高,data rate更高,非折叠的话,我们看到他这里讲了,sampler个数要乘以4。因为他是1个bit比特有4种可能性,这里可能用4倍的sampler。

P52

图片

这是他的一个half rate sampler,第一个tap直接反馈。他在sampler的第一个latch后面加了一个inverter直接反馈给下边一个数据,他并没有后边再加一个RS触发器,RS latch的delay会比较长。这是直接反馈可行的第二个原因,他为了做到这一点,这里有所创新。

P53

图片

P54

图片

23dB channelloss的测试结果。他是做不到太好,但是10的-9次方后面如果加FEC。这是1种数据校验的方法。加了这个之后,他的数据BER也可以恢复到10的-12次方,有FEC后,其实BER基本上在10的-6次方都可以恢复到10的-12次方,这个东西很强大。

P55

图片

另外呢,也是一个paper,还有18年的一个教程,还是ISSCC的。它里面都提到了ADC的这种方法。ADC的做法可以支持更高的channelloss。但是如果速度在56G的话,上面提到,用DFE也做出来了,可能性能不是太理想,所以也不一定必须用这种PAM-4 ADC的方法。

P56

图片

这个ADC基本上就是替代了刚才的DFE,但是不只是ADC还有DSP,因为ADC把数据采样到之后不做量化、不做补偿、不做均衡。DSP把这些均衡技术和量化全部做进去了。所以DSP+ADC的功耗肯定要比DFE的功耗高,同样是16nm、相同channel loss的情况下。

但是对于56G这个level是这样,那么112G可能DEF的方法是做不出来的。除此之外,他的提到了TX 4个tap FIR,还有PLL的jitter。

P57

图片

P58

图片

这是测试结果,可以支持的channelloss比上面DFE的要多。

P59

图片

好了,今天我们就是从这4个方面大致介绍一下。SerDes的东西其实是比较复杂的,它涉及到的内容可以非常多。大家有什么问题呢,大家可以讨论,时间也要超过九点了,谢谢大家。

图片
图片

Q1:

哈哈大*:CDR带宽您是怎么选取的呢?

李闻界:一般比PLL带宽大2到4陪,或者更高。主要为了抑制PLL的噪声。

哈哈大*:这个是业内经验吗?

李闻界:我的个人经验。

Q2

名*:李老师,现在频率这么高,业界CDR环路核心部分用模拟方法多还是数字方法更多?

李闻界:这是他的ADC里边的RX的一个结构,它有PLL和RX。这个RX基本上前部还是一样的,就是到后边有个ADC。7 bit或者3bit Time-InterleavedSar ADC,用32路来替换掉了前面那种方法的DFE。后面又是DSP做上了DFE+FFE和ADC的一些calibration。DSP里面他只做了1个tap的DFE和4个tap的FFE,因为DFE对DSP来说也很难做。

Q3

高*:问一下50欧姆是片内还是片外?

李闻界:片内。

Q4

哈哈大*:您觉得对于SerDes的发展趋势而言,今后最大的挑战在哪里?

李闻界:功耗和cost,包括DFE怎么更快,ADC和DSP怎么能更省功耗,怎么可以做的更小。

Q5

Hi,简单*你好老师,高速SerDes的功耗是个大问题,在设计的时候是如何考虑?

李闻界:一般来讲,多加rc隔开一些噪声源,不要浪费不必要的功耗,功耗和噪声在系统上分配合理,再就是采用对噪声不敏感的电路结构。

Hi,简单*非常感谢老师回答,你觉得有没有可能就用CTLE,不用DFE或者ADC用28nm实现28Gbps传输,我觉得DFE和ADC这两东西太吃功耗了

李闻界:@Hi,简单*,看channel,15db loss没问题。很多光通信的都不用DFE。

Q6

*:请问slicer offset对CDR performance会有影响吗?

李闻界:会。

Q7

大*:请教T-coil的layout真是那么画吗?互感看起来不大啊。

李闻界:八边形,四边形都可以,互感可以到0.3到0.4吧。

大*:我看到了你PPT里的那个T-coil了,谢谢!

Q8

大*:bump是什么意思?我真不理解。

李闻界:电感一头是bump,中间是PAD ESD。bump就是要和bounding wire相连的顶层金属。

Q9

大*:请教一个问题,DFE要等CDR phase lock后打开,到稳定需要多少us的时间?

李闻界:可以同时打开。DFE稳定时间还是CDR稳定时间?

大*:我想请教DFE 稳定时间。

李闻界:几个us,算法不同区别交大,快点的1us。

Q10

高*:请教一下,经常有打开补偿与不打开的眼图比较,这种是仿真结果还是实测结果?

李闻界:都有,RX里的很多是仿真图。

Q11:

Pice*CTLE的EQ和VGA先后顺序怎么考虑?

Hanz*VGA在EQ前面。

Pice*@Hanz*,VGA在前不是可以降低后级失调和噪声需求吗?但是看到有人喜欢VGA放后面。

李闻界:@Pice*,考虑信号摆幅和噪声,CTLE可以先把低频压下来。

Pice*@李闻界,对啊,和信号幅度有关。

Hanz*AGC从哪级detect幅度?

李闻界:@Hanz*一般不detect吧。DSP会做。

Pice*@李闻界,您的经验,也是VGA在后比较好?

李闻界:@Pice*,是的。特别对于ADC的RX。

Hanz*不detect 那怎么去控制VGA呢?开环手动调?

李闻界:@Pice*,这个好像大家的做法不太一样。

Hanz*恩,要看构架了。

Hi,简单*个人觉得,VGA放前面很容有isi跑出来,低频幅值衰减比较比较小,很容易被放大限幅,而高频部分的放大取决你VGA的-3dB bandwidth,高速的工艺不好,这个很难搞。

Hanz*看构架吧,PAM4的应该要放在前面。首先要保证前面的线性度。

[转载]高速serdes技术学习总结

Overview

自己接触过许多家的高速serdes,无奈数学基础太差,只能像乌鱼爬一样,一点一点的积累知识和经验,这里把平日里学到的点点滴滴记录下来,希望对自己和同事有所帮助。

基础知识 (摘录自李闻界老师的讲课内容)

Channel的特性

channel的特性。这里第一张图给出了三种它的传输函数,或者说它的s21。在不同的长度,loss区别很大。我们看到第一个蓝色的,它的loss就会比较小,在2.5Gbps时loss大概不到5db;而红色的这种比较长,它的loss在2.5Gbps的时候就有10个dB多一些。这个绿色的一根线,它不光loss多一点,还在10Gbps时有一个很差的一个点的loss,到-60多dB。
一般在设计的时候,会拿一个channel的model一般是Sparameter或者是LGC这种model,然后在前仿真/后仿真去验证我们的design。
图片描述
从它的冲击响应可以看到红色的在4ns前面一点开始上升,比如说在4ns前一点去sample它,那么可以得到一个数据。但是在后面,比如说4ns多一点的时候去sample它,也可能得到1个1,本来应该是得到了1个0,这就会产生一个错误的数据。
单位冲激响应叠加之后,就会产生一个眼图。或者在PRBS的输入下,折叠输出之后会得到一个眼图。我们看到这个眼图在不同的channel上它的opening,就是高度、宽度差别非常大的

SerDes的基本结构

SerDes的基本结构图。前面就是把并行数据转换成串行数据(一般也叫MUX),然后再给TX发送出去。因为channel本征阻抗是50Ω,所以TX这边加一个termination,50Ω的特征阻抗来保证阻抗匹配。Rx这边同样加一个50Ω特征阻抗来保证匹配,这样才没有反射。然后RX和TX这边分别有负责时序的,比如说PLL和Timing Recovery,这些模块专门为这些电路提供clock。
图片描述
把它可以分成两个主要部分,第一部分就是timing,为发送和接收数据提供clock;第二部分就是signaling,就是信号处理。TX边主要是把数据发送出去保证一定的眼高,然后Rx这边把数据恢复出来。因为channel loss之后,signal可能是看不到的。这就说RX主要做两件事,既要恢复数据、又要恢复时序。恢复数据就是要知道是0还是,对于这种PAM 2也就是NRZ类数据来说。并且要找到怎么去、在哪个时间点上去sample这个data,也就是恢复出一个最好的timing。Rx clock的上升沿采在这个数据它的正中间,这样一般是最好的。
图片描述

Jitter

data上面的jitter其实不是那么在乎,只要保证setuptime、hold time,而clock上的jitter就至关重要。

发送端的VCO

RING VCO,一般来说可能在5GHz的clock能做到1.5ps的RMS Jitter。有可能会做的更好,但问题是功耗在继续增加。
对于PAM4来说,它的eye opening会更小,因为它的上升沿有不同transition,这样PAM4的eye opening会小30%。这里的30%具体指的是EYE的宽度,另外EYE的高度比较明显的会小1/3,也就是9.5dB。
对于14GHz的clock或者28Gbps datarate来说,用RING产生时钟比较困难,并且对这种data rate,jitter要求会更高。比如说RMS jitter 0.2ps,这时候大概占UI的11%。在高频的时候,数据恢复这边(signaling)也会更困难,所以要尽量保证这边的Jitter margin多留一点。

接收端的CDR

另外一部分就是在RX的timing recovery。CDR的主要目的就是找到一个最好的sample点,使得sample的数据尽量是对准数据的中心店,也就是说BER尽量的小。
CDR的主要性能就是jitter tolerance,它可以track PLL的一部分jitter。还有就是CDR的bandwidth和它的功耗,bandwidth越高功耗就要更高。

发送和接收的均衡(EQ)

数据处理主要是均衡器,TX这边叫emphasis,或者叫FFE。RX这边的均衡器会比较多一些,比如说CTLE。有有源的、无源的,可能还会有些其它的滤波器。然后最重要的还有DEF,它有各种结构。
图片描述

TX FFE

如果channel的insertion loss特别小(<15dB),TX那边直接把信号给发送出来,通过一个50Ω的阻抗匹配。然后RX这边有个50Ω的阻抗匹配,最后直接一个比较器就把它收过来了,这样也是可以的。
但是,当channel的insertion loss比较大(>25dB)的时候,这个问题就十分重要了,TX FFE可以使得频率响应曲线变得平坦,减少ISI。TX输出阻抗和RX端口阻抗要保证50Ω来匹配channel的阻抗,保证没有反射。
在下面的三张图表示均衡器的作用。比如说,Channel一开始时随着频率升高loss越来越大的,但是如果在5GHz的点给一个gain,而在低频时候没有gain。这样就把5GHz这个频点给boost上去,看到第三张图绿色的这个就显得比较平坦,这样的ISI就会小。
图片描述
TX端的Equalization是TX的equalization。一般用4-tap FFE,除了一个主的以外,前面有一个,后面还有个POST1、POST2,然后都加在一起后经过50Ω输出。
看一下TX FFE的作用,它是如何消除ISI的。如果没有FFE就是没有post-emphasis。那么data出来之后高频的信号就变得小。而如果有第一个post的emphasis,可以看到第二张图红色的输出的响应,高频的信号明显变大了,低频信号稍微小一点
图片描述

RX CTLE

Rx的均衡技术。第一个就是CTLE,连续时间线性均衡器。它主要来补偿channel对高频信号的insertion loss。它是一种无源的,只有RC或者有L。无源的就意味着没有Gain。它只能把低频的减弱,把高平的相对来说是增高能量。并且无源design有个好处就是它不会产生noise,除了R会产生的noise,但是一般来说R会比较小。而晶体管的noise相对多一些。
CTLE一般是RX的第一级。
在奈奎斯特频率,CTLE一般都会有一些Gain。这样后边的noise就不那么敏感了,比如后面VGA、DFE、sampler。
CTLE一般都是采用可编程的CS、RS,因为channel都不一样,甚至有时还会有自适应算法来自动配置RS、CS(有待商榷??)。
下图中的fp1就是Nyquist频率,对于10Gbps的baud rate而言,fp1=5GHz。
图片描述

RX DFE

图片描述

DFE技术(decisionfeedback equalization)

  1. decision,决定输入的数据是1还是0
  2. feedback。也就是说它把这个收到的数据,通过一条链路返回到输入,然后再输入上直接减掉一些信息。那么减掉的量的多少,也就是它输入的数据会乘以一个系数。它减掉多少电压,就是这个信号的加权(W)是多少。
  3. 非线性,channel就是非线性的,很多时候非线性还非常大

所以总结下来,DFE包含3点,一个就是decision,第二个就是feedback,然后第三个就是它非线性。
图片描述

这里有两个channel,这两个channel的insertion loss不一样,那么接收端的DFE就要自适应这两个channel。并且一般的自适应电路是always on,用它来去cover一些电路或者是那些channel的温飘效应得到。自适应的话就需要额外的比较器,并且一直工作。
图片描述

知识点进阶

不同介质的冲击响应曲线

  • PCB Backplane的冲击响应曲线类似像泊松分布
  • Fiber Optic的冲击响应曲线类似高斯正态分布
  • DAC的冲击响应曲线则介于上面两者之间

Nyquist频率

一般对于10Gbps信号我们用@5GHz Nyquist频率来看它的Insertion Loss点,25.78125Gbps速率的信号用12.89GHz
以25.78125Gbps速率信号为例,serdes内部的恢复时钟不会是25.78125GHz,因为这样时钟信号太高了,只会恢复出12.89GHz的时钟,然后通过移相90度,对于25.78125Gbps这么高速信号,一般只会sample一个点
对于10Gbps信号,会用2个不同相位的时钟(0相位的5GHz,和移相90度的5GHz)采样4个点。
另外,可以把25.78125Gbps速率的信号接入到频率分析仪的输入端,可以看到它的能量最大的频点是12.89GHz,所以这也可以说明内部恢复出来的时钟不是25.78125GHz,而是12.89GHz.

CDR的类型

Muller-Muller
Bang-Bang

  • CDR其实反而喜欢信号有ISI,如果没有任何ISI,那么CDR肯定会失锁CDR锁定的点是在H(-1)和H(1)之间。
  • Muller-Muller CDR两边的采样点是在一半Peak的电平处,Bang-Bang会高一些。
  • CDR带宽的需求, CDR支持的带宽主要取决于CDR能够跟踪抖动的速度,速率太高的jitter,CDR无法跟踪,这是由于CDR的反馈是从FFE或者DFE之后过来的,Latency比较大,所以一般CDR只能follow 4MHz的Jitter,有的厂商的实现比较特别,为CDR特别设计了3个dedicated tap的FFE(pre, main , post),不和data共用,所以latency特别小,可以做到10MHz的带宽
  • CDR的RMS jitter是通过phase noise的各个点做积分,计算每个点连接的折线下面的面积。

ISI

  • FFE一般可以configurable,分配多少个Tap给Pre,多少个Tap给Post,1个给Main, 比如16个tap, H0~H3分配给Pre, H4给Main, H5~H15分配给Post
  • H0~H3的规律,如果Main是正的, H3(-), H2(+), H1(-), H0(+),实际上H1和H0往往是0,如果H3(-)的绝对值> 30%*Main, 说明对端发送的Pre需要加强一些
  • H5~H15的规律, 如果Main是正的, H5~H15不像pre那样会bounce,一般都是正的或者都是负的,同样的如果H5的绝对值 > 30%*Main,那么说明对端发送的Post需要加强一些
  • CTLE, 一般靠手工配置,根据信道的loss来配置相应的值,信道的插损越大,CTLE需要配置的peaking值越大,以保证CTLE的输出满足VGA的输入要求。CTLE主要是压低低频信号,等效于放大高频信号,第一个主要极点是放大Nyquist频率点。有的设计还把CTLE细分成LFP, MFP, HFP

接收端眼图的测量

  • 接收端眼图的眼图的测量一般位于FFE或者DFE之后,接收端眼图的外眼表征的是低频信号的幅度,内眼表征的是高频信号的幅度。一般只能sample外眼的眼高和眼宽,如果外眼的眼高已经很小,那么内眼的幅度就更小了。所以可以通过外眼的眼高间接的推断出内眼(高频分量)的幅度
  • 有的时候,尽管接收的眼图幅度很大,但是宽度很小,这是由于FFE和DFE补偿过头了,这时光看眼高不足以判断接收信号质量的好坏,还必须通过眼宽的数值来综合判断。然而,往往在56G速率以上,眼宽应该比较难以采样。

FFE和DFE比较

  • FFE是非因果关系,对于发送端而言,它可以预先知道下面一个或者几个要发送的bit信号是“0”还是”1″,这样才可以消除Pre的ISI。然后对于接收端而言,它无法知道下面要接收的一个或者多个bit信号是”0″还是“1”,所有在接收端实现FFE的serdes都玩了一个trick,就是把ADC之后的串行码流延迟几个cycle,比如延迟4个cycle,得到bit0, bit1, … bit[N], 然后把”现在”的bit时间点指向bit4,这样就知道”未来”要接收的bit0..3是”0″还是”1″了。FFE可以出了不会有错误传递之外,还能够补偿pre的ISI干扰
  • DFE是因果关系,对于post的ISI干扰补偿非常有效,但是对于pre的ISI干扰无能为力,同时级数多了,会导致错误传递,即多个bit的burst错误。所以56G及以后的serdes,多采用FFE之后只有1个tap的DFE设计

如何调节TX FFE参数

  • 根据scope测量的眼图来调节,对于Insertion Loss比较大的信道,要相应增加pre-emphsis和post-emphasis。实际上是做de-emphasis,即变相压低低频信号的幅度,来实现增强高频信号的幅度
  • 根据接收端的眼图来调整:
    • 如果发现最靠近main Cursor的第一级pre-cursor,称为H(-1)的绝对值 > 1/3*Main绝对值,那么说明发送端的pre-cursor需要适当增加,如果适当增加了发送端的pre-cursor之后,发现接收端的FFE的H(-1)的绝对值降低下来了,说明调整有效
    • 如果发现最靠近main Cursor的第一级post-cursor,称为H(+1)的绝对值 > 1/3*Main绝对值,那么说明发送端的post-cursor需要适当增加,如果适当增加了发送端的post-cursor之后,发现接收端的FFE/DFE的H(+1)的绝对值降低下来了,说明调整有效
    • 如果发现接收端的VGA的peaking值(放大倍数)已经达到了极限值,那么说明接收信号的幅度过小,接收端需要拼命加大VGA的放大倍数,把信号调整到适合ADC的输入端(典型的400mv~500mv),这是需要相应调整发送端的Main或者Amplitude,如果发现接收端的VGA的peaking值相应降低了,说明调整有效
  • 根据接收端的BER来做相应的调整

如何调整RX参数

  • 接收端虽然有很多模块用于EQ,但是一般只有CTLE是手工配置的,VGA, FFE和DFE都是靠算法自动调节的。CTLE需要事先根据信道的Insertion Loss配置相应的值,CTLE的最主要作用是压低低频信号,等效于放大高频信号(实际无法放大,因为CTLE一般是无源的)

关于re-timer或者repeater的作用

高速串行信号经过一段距离传输之后,往往在接收端每个bit信号的信号宽度会发生变化,比如发送端发送 1111_0_1111, 这样在接收端的”0″这个数据bit的信号宽度就会特别窄,很可能时钟无法对准信号的中间采样,导致误码。经过re-timer或者repeater的信号重新整形之后,把过窄的信号宽度重新整形成1个UI,然后再发送出去,这样后续的接收器就不容易出错

眼图预加重: Pre-cursor and Post-cursor1,2,3

post-cursor和pre-cursor名称中的post和pre的由来:

  • “post”是指数据”0″ -> “1”或者”1″ -> “0”跳变之后的预加重
  • “pre”是指数据”0″ -> “1”或者”1″ -> “0”跳变之前的预加重
图片描述

参考文献

  1. 模拟混合信号设计验证的讲课,谢谢李闻界老师的扫盲课程: serdes Introduction

visual studio 社区版激活

30天试用到期后弹出提示需要登录才能继续使用,但登录后并没有跳转到激活状态。

可能的原因是公司内网阻拦了vs自带的浏览器登录,所以需要切换浏览器,在登录前界面选择账户设置,然后选择系统自带浏览器,重新登录即可。

或者进入到工程界面,工具-选项-账户来设置。

光模块分析(持续补充20210306)

光模块目前有两个主流应用场景,电信和数据中心。电信泛指所有的电信相关的基建,比如传输网、接入网、承载网,数据中心有各大运行商自建的数据中心还有大互联网公司自建或者政企相关的数据中心。

电信使用主要是长距离、大容量的工作需求,更多使用相干光模块;

数据中心主要是近距离,多端口的需求,更多使用非相干光模块。

以下转载自https://zhuanlan.zhihu.com/p/101607360

说到光模块,相信大家一定不会觉得陌生。


随着光通信的高速发展,现在我们工作和生活中很多场景都已经实现了“光进铜退”。也就是说,以同轴电缆、网线为代表的金属介质通信,逐渐被光纤介质所取代。

而光模块,就是光纤通信系统的核心器件之一。

光模块的组成结构

光模块,英文名叫Optical Module。Optical,意思是“视力的,视觉的,光学的”。

准确来说,光模块是多种模块类别的统称,具体包括:光接收模块,光发送模块,光收发一体模块和光转发模块等。


现今我们通常所说的光模块,一般是指光收发一体模块(下文也是如此)。

光模块工作在物理层,也就是OSI模型中的最底层。它的作用说起来很简单,就是实现光电转换。把光信号变成电信号,把电信号变成光信号,这样子。


虽然看似简单,但实现过程的技术含量并不低。

一个光模块,通常由光发射器件(TOSA,含激光器)光接收器件(ROSA,含光探测器)功能电路光(电)接口等部分组成。

光模块的组成


在发射端,驱动芯片对原始电信号进行处理,然后驱动半导体激光器(LD)或发光二极管(LED)发射出调制光信号。

在接收端,光信号进来之后,由光探测二极管转换为电信号,经前置放大器后输出电信号。

光模块的封装

对于初学者来说,光模块最让人抓狂的,是它极为复杂的封装名称,还有让人眼花缭乱的参数。

封装的名称,这些只是其中一部分


封装,可以简单理解为款型标准。它是区分光模块的最主要方式。

之所以光模块会存在如此之多的不同封装标准,究其原因,主要是因为光纤通信技术的发展速度实在太快。

光模块的速率不断提升,体积也在不断缩小,以至于每隔几年,就会出新的封装标准。新旧封装标准之间,通常也很难兼容通用。

此外,光模块的应用场景存在多样性,也是导致封装标准变多的一个原因。不同的传输距离、带宽需求、使用场所,对应使用的光纤类型就不同,光模块也随之不同。

小枣君简单罗列了一下包括封装在内的光模块分类方式,如下表所示:

光模块的分类方式


在讲解封装和分类之前,我们先介绍一下光通信的标准化组织。因为这些封装,都是标准化组织确定的。

目前全球对光通信进行标准化的组织有好几个,例如大家都很熟悉的IEEE(电气和电子工程师协会)、ITU-T(国际电联),还有MSA(多源协议)、OIF(光互联论坛)、CCSA(中国通信标准化协会)等。

行业里用的最多的,是IEEE和MSA。

MSA大家可能不怎么熟悉,它的英文名是Multi Source Agreement(多源协议)。它是一种多供应商规范,相比IEEE算是一个民间的非官方组织形式,可以理解是产业内企业联盟行为。

好了,我们开始介绍封装。

首先大家可以看一下下面这张图,比较准确地描述了不同封装的出现时期,还有对应的工作速率。


那些太老的或很少见的标准我们就不管了,主要看看常见的封装。

GBIC


GBIC,就是Giga Bitrate Interface Converter(千兆接口转换器)。

在2000年之前,GBIC是最流行的光模块封装,也是应用最广泛的千兆模块形态。

SFP


因为GBIC的体积比较大,后来,SFP出现,开始取代GBIC的位置。

SFP,全称Small Form-factor Pluggable,即小型可热插拔光模块。它的小,就是相对GBIC封装来说的。

SFP的体积比GBIC模块减少一半,可以在相同的面板上配置多出一倍以上的端口数量。在功能上,两者差别不大,都支持热插拔。SFP支持最大带宽是4Gbps。

XFP


XFP,是10-Gigabit Small Form-factor Pluggable,一看就懂,就是万兆SFP。

XFP采用一条XFI(10Gb串行接口)连接的全速单通道串行模块,可替代Xenpak及其派生产品。

SFP+


SFP+,它和XFP一样是10G的光模块。

SFP+的尺寸和SFP一致,比XFP更紧凑(缩小了30%左右),功耗也更小(减少了一些信号控制功能)。

可以对比一下大小

SFP28


速率达到25Gbps的SFP,主要是因为当时40G和100G光模块价格太贵,所以搞了这么个折衷过渡方案。

QSFP/QSFP+/QSFP28/QSFP28-DD


Quad Small Form-factor Pluggable,四通道SFP接口。很多XFP中成熟的关键技术都应用到了该设计中。

根据速度可将QSFP分为4×10G QSFP+、4×25G QSFP28、8×25G QSFP28-DD光模块等。

以QSFP28为例,它适用于4x25GE接入端口。使用QSFP28可以不经过40G直接从25G升级到100G,大幅简化布线难度以及降低成本。

QSFP28


QSFP-DD,成立于2016年3月,DD指的是“Double Density(双倍密度)”。将QSFP的4通道增加了一排通道,变为了8通道。

它可以与QSFP方案兼容,原先的QSFP28模块仍可以使用,只需再插入一个模块即可。QSFP-DD的电口金手指数量是QSFP28的2倍。

QSFP-DD


QSFP-DD每路采用25Gbps NRZ或者50Gbps PAM4信号格式。采用PAM4,最高可以支持400Gbps速率。

NRZ和PAM4

PAM4(4 Pulse Amplitude Modulation)是一个“翻倍”技术。

对于光模块来说,如果想要实现速率提升,要么增加通道数量,要么提高单通道的速率。

传统的数字信号最多采用的是NRZ(Non-Return-to-Zero)信号,即采用高、低两种信号电平来表示要传输的数字逻辑信号的1、0信息,每个信号符号周期可以传输1bit的逻辑信息。

而PAM信号采用4个不同的信号电平来进行信号传输,每个符号周期可以表示2个bit的逻辑信息(0、1、2、3)。在相同通道物理带宽情况下,PAM4传输相当于NRZ信号两倍的信息量,从而实现速率的倍增。


CFP/CFP2/CFP4/CFP8

Centum gigabits Form Pluggable,密集波分光通信模块。传输速率可达100-400Gbps。

CFP是在SFP接口基础上设计的,尺寸更大,支持100Gbps数据传输。CFP可以支持单个100G信号,一个或多个40G信号。

CFP、CFP2、CFP4的区别在于体积。CFP2的体积是CFP的二分之一,CFP4是CFP的四分之一。

CFP8是专门针对400G提出的封装形式,其尺寸与CFP2相当。支持25Gbps和50Gbps的通道速率,通过16x25G或8×50电接口实现400Gbps模块速率。


OSFP


这个和我们常说的OSPF路由协议有点容易混淆哈。

OSFP,Octal Small Form Factor Pluggable,“O”代表“八进制”,2016年11月正式启动。

它被设计为使用8个电气通道来实现400GbE(8*56GbE,但56GbE的信号由25G的DML激光器在PAM4的调制下形成),尺寸略大于QSFP-DD,更高瓦数的光学引擎和收发器,散热性能稍好。

以上,就是常见的一些光模块封装标准。

400G光模块

大家注意到,刚才介绍封装的时候,小枣君一共提到了3种支持400Gbps的光模块,分别是QSFP-DD、CFP8和OSFP。


400G,是目前光通信产业的主要竞争方向。现在400G也是规模商用的初期阶段。

众所周知,因为5G网络建设的大规模启动,加上云计算迅猛发展、大规模数据中心批量建设,ICT行业对400G的需求变得越发迫切。

早期的400G光模块,使用的是16路25Gbps NRZ的实现方式,采用CDFP或CFP8的封装。

这种实现方式的优点是可以借用在100G光模块上成熟的25G NRZ技术。但缺点是需要16路信号进行并行传输,功耗和体积都比较大,不太适合数据中心的应用。

后来,开始采用PAM4取代NRZ。

在光口侧主要是使用8路53Gbps PAM4或者4路106Gbps PAM4实现400G的信号传输,在电口侧使用8路53Gbps PAM4电信号,采用OSFP或QSFP-DD的封装形式。

相比较来说,QSFP-DD封装尺寸更小(和传统100G光模块的QSFP28封装类似),更适合数据中心应用。OSFP封装尺寸稍大一些,由于可以提供更多的功耗,所以更适合电信应用。

目前的400G光模块,不管是哪种封装,价格都很昂贵,离用户的期望值还有很大差距。所以,暂时还无法快速进行全面普及。

400G光模块价格(来自某厂商网站,仅供参考)


还有一个值得一提的,是硅基光,也就是经常提到的硅光

硅光技术在400G时代被认为有广阔的应用前景和竞争力,目前受到很多企业和研究机构的关注。

光模块的关键概念

插播了一下400G,我们回过头来继续说光模块的分类。

在封装的基础上,配合一些参数,就会有光模块的命名。

以100G为例,我们经常会看到的光模块有以下几种:


其中100GBASE开头的标准都是IEEE 802.3工作组提出的。PSM4和CWDM4是MSA的。

PSM4(Parallel Single Mode 4 lanes,并行单模四通道)

CWDM4(Coarse Wavelength Division Multiplexer 4 lanes,四通道粗波分复用)

我们看IEEE 802.3的命名:


如上图所示:

100GBASE-LR4名称中,LR表示long reach,即10Km,4表示四通道,即4*25G,组合在一起为可以传输10Km的100G光模块。

其中-R的命名规则如下:

-R名词解释


之所以有了IEEE的100GBASE,还会有MSA的PSM4和CWDM4,是因为当时100GBASE-SR4 支持的距离太短,不能满足所有的互联需求,而100GBASE-LR4成本太高。PSM4和CWDM4提供了中距离更好的解决方案。

除了距离和通道数,我们再来看看中心波长

光的波长,直接决定了它的物理特性。目前我们在光纤里使用的光,中心波长主要分为850nm、1310nm和1550nm(nm就是纳米)。

其中,850nm主要用于多模,1310nm和1550nm主要用于单模。

关于单模和多模,以前小枣君介绍光纤的时候详细说过,可以参考这里:光纤光缆的基础知识

对于单模和多模,裸模块如果没有标识的话,很容易混淆。

所以,一般厂家会在拉环的颜色上进行区分:

蓝色和黄色


这里我们顺便提一下CWDMDWDM,大家应该也经常看到。

WDM,就是Wavelength Division Multiplexing(波分复用)。简单来说,就是把不同波长的光信号复用到同一根光纤中进行传输。


波分复用和频分复用

其实,波分复用就是一种频分复用。波长×频率=光速(固定值),所以按波长分其实就是按频率分。而光通信里面,人们习惯按波长命名。

DWDM,是密集型WDM,Dense WDM。CWDM,就是稀疏型WDM,Coarse WDM。看名字就应该明白,D-WDM里面波长间隔更小。


WDM的优点就是容量大,而且它可以远距离传输。

顺便说一下BiDi,这个概念现在也频繁被提及。

BiDi(BiDirectional)就是单纤双向,一根光纤,双向收发。工作原理如下图所示,其实就是加了一个滤波器,发送和接收的波长不同,可以实现同时收发。

BiDi单纤双向光模块


光模块的基本指标

光模块的基本指标主要包括以下几个:

输出光功率

输出光功率指光模块发送端光源的输出光功率。可以理解为光的强度,单位为W或mW或dBm。其中W或mW为线性单位,dBm为对数单位。在通信中,我们通常使用dBm来表示光功率。

光功率衰减一半,降低3dB,0dBm的光功率对应1mW。

接收灵敏度最大值

接收灵敏度指的是在一定速率、误码率情况下光模块的最小接收光功率,单位:dBm。

一般情况下,速率越高接收灵敏度越差,即最小接收光功率越大,对于光模块接收端器件的要求也越高。

消光比

消光比是用于衡量光模块质量的重要参数之一。

它是指全调制条件下信号平均光功率与空号平均光功率比值的最小值,表示0、1信号的区别能力。光模块中影响消光比的两个因素:偏置电流(bias)与调制电流(Mod),姑且看成ER=Bias/Mod。

消光比的值并非越大光模块越好,而是消光比满足802.3标准的光模块才好。

光饱和度

又称饱和光功率,指的是在一定的传输速率下,维持一定的误码率(10-10~10-12)时的最大输入光功率,单位:dBm。

需要注意的是,光探测器在强光照射下会出现光电流饱和现象,当出现此现象后,探测器需要一定的时间恢复,此时接收灵敏度下降,接收到的信号有可能出现误判而造成误码现象,而且还非常容易损坏接收端探测器,在使用操作中应尽量避免超出其饱和光功率。

光模块的产业链

最后我们简单说一下光模块的产业链。

目前光模块的市场很火,主要原因前面说过了,因为5G和数据中心。

光模块产业链


整个5G网络建设,最花钱的地方有两个,一个是基站,还有一个就是光承载网。光承载网里面,光纤的水份不多,但是光模块比较让人头大。


光模块里面,最贵的是芯片。激光器和光探测器里面的芯片,占了一半以上的成本。

而芯片这块,目前的现状是:国外厂商在高端芯片上占据优势,国内厂商在中低端芯片占有优势。但国内厂商在不断向高端市场进行突破。高端芯片的利润率高于低端,这个是显然的。

从整体上来看,中国光通信企业有超过1000家,但利润率都非常低。而且,在产业链格局上,面对设备商(华为、中兴),光通信企业也比较“卑微”,没有什么议价能力。

行业竞争激烈,新产品、高端产品,利润较多,但时间一长,利润就会缩水。

反正大概就是这么个情况。

关于产业链的具体情况,因为5G的原因,现在券商们非常关注,也输出了很多的相关报告,大家可以自行搜索阅读一下。

好啦,以上就是今天文章的所有内容。感谢大家的耐心观看,我们下期再见!

参考文献:

1、《光模块行业深度报告》,德邦证券

2、《5G承载光模块白皮书》,IMT2020推进组

3、《对于100G光模块,你了解多少》,专说光通信

4、《产业图解:5G(光模块)》,佚名

[转载]PRBS码到底是啥玩意?

之前一直在讲高速串行的协议,MAC,PHY,PMD层,PMA层吗,PCS层。。。看大家回答的数量也不是很多,弱弱的问一句大家都消化了吗?的确,讲到各个层的功能,数据在芯片内部如何去运作协调这方面的确有点高深。其实坦白说哈,作为同组的一员,我也对上面的文章和刘工深感佩服(点赞点赞)。

既然上层的东西不那么好理解的话,我们还是说回点接地气的吧。我们知道,无论上层如何运作,最终还是要去到物理层上面去,最终我们的数据就在上面传输,而传输的方式就是各种不同速率的码型。从本期开始,我们将介绍下关于码型的一些东西。

PRBS:Pseudo-Random Binary Sequence,中文翻译叫做伪随机二进制序列,江湖人简称它为伪随机码。做过测试的朋友们都应该特别熟悉,就是使用PRBS这种伪随机码进行高速串行通道的测试,主要是测试误码率的情况,例如我们常用的一些协议,PCIE,USB,以太网或者下图的光模块的测试等……

当然我们信号高速串行信号仿真的时候,也会有各种prbs码型进行,一个10G-SFP+光模块PCB通道的仿真模型如下:

为什么业界公认选择这种prbs码型进行测试(仿真)呢?主要原因是这种码型与真实链路的数据传输情况非常接近。因为在真实情况中,所以的数据组合都是随机出现的,没有任何规律可言。 而PRBS 的码流在很大程度上具有这种“随机数据”的特性,“0”和“1”随机出现,这种码流的频谱特征和白噪声非常接近,所谓“白噪声”就是在一个比较宽的频域里功率密度谱均匀分布,也就是所有的频率都具有相同的能量,因此该码型能够模拟各种不同频率数据组成的情况,使测试更符合真实的情况。

那prbs这种随机码真的就是没有任何规律的吗??当然不是,不然的话为什么还要分prbs1-31那么多种呢。之所以要叫伪随机码,其实就是码流在周期内部是随机的,但是在各个周期里面又是完全相同的。咋一看,好像说了等于没有,大家可能有疑问,在周期内部是随机的,那不还是随机嘛?其实这个随机是要打个问号的,正确来说是“有顺序的随机”。所谓顺序就是通过不同阶数的prbs码来体现,例如,我们常用的有阶数7、9、11、15、20、23、31,也就是我们常说的PRBS7、PRBS9、PRBS11、PRBS15、PRBS20、PRBS23、PRBS31。

前面说了,不同的阶数会有不同的码型,那它们之间有什么规律呢?不同阶数是怎样生成码型的呢?我们以PRBS3进行说明。

PRBS码型是由PRBS码型发生器产生的,下面是一个简单发生器的示意图:

架构很简单,就由两部分组成:移位寄存器和异或运算器。首先移位寄存器,顾名思义作用就是移位,1个bit发送后,把下一个bit推向前准备发送;异或运算,简单点说就是两个不一样就是“1”,两个一样就是“0”,因此有“1”和“1”是0,“0”和“0”是0,“1”和“0”是1。那像上面这个PRBS3发生器,进行异或的位是第二位和第三位,因此用一个多项式命名它,叫做1+X2+X3。

这样我们可以开始进行计算了。首先我们有一个初始状态“111”。我们就有了下面这么一个计算过程(画得不好,大家看内容就好)。简单说明一下,红色为异或运算过程,蓝色为每次移位后的bit,绿色为输出的数据bit,紫色说明绕一圈之后又回到了原先,循环了一次。

经过本文之后,大家是不是对感觉很高深神秘的prbs码型有了更接地气的认识和理解了呢?当然,本文举例的prbs3是比较简单的,感觉它没经过几位就可以循环一次了,大家推导起来也比较方便。

总结一下技术栈

一转眼,工作已经12年了,在中兴也快8年了。

知道现在还没有一些像样的成果留下,所以就在这个博客,转载加原创,总结一下通信工程师应该入手的一些技术栈,也给自己的技术生涯写个总结吧。

[转载]serdes关键技术

一、SERDES介绍

随着大数据的兴起以及信息技术的快速发展,数据传输对总线带宽的要求越来越高,并行传输技术的发展受到了时序同步困难、信号偏移严重,抗干扰能力弱以及设计复杂度高等一系列问题的阻碍。与并行传输技术相比,串行传输技术的引脚数量少、扩展能力强、采用点对点的连接方式,而且能提供比并行传输更高带宽,因此现已广泛用于嵌入式高速传输领域。

  Xilinx公司的许多FPGA已经内置了一个或多个MGT(Multi-Gigabit Transceiver)收发器,也叫做SERDES(Multi-Gigabit Serializer/Deserializer)。MGT收发器内部包括高速串并转换电路、时钟数据恢复电路、数据编解码电路、时钟纠正和通道绑定电路,为各种高速串行数据传输协议提供了物理层基础。MGT收发器的TX发送端和RX接收端功能独立,而且均由物理媒介适配层(Physical Media Attachment,PMA)和物理编码子层(Physical Coding Sublayer,PCS)两个子层组成,结构如下图所示

  PMA子层内部集成了高速串并转换电路,预加重电路、接收均衡电路、时钟发生电路和时钟恢复电路。串并转换电路的作用是把FPGA内部的并行数据转化为MGT接口的串行数据。预加重电路是对物理连接系统中的高频部分进行补偿,在发送端增加一个高通滤波器来放大信号中的高频分量进而提高信号质量,但预加重电路会导致功耗和电磁兼容(Electro Magnetic Compatibility,EMC)增加,所以如非必要一般情况下都把它屏蔽掉。接收均衡电路主要用来补偿由频率不同引起的阻抗差异。时钟发生电路与时钟恢复电路在发送端把时钟和数据绑定后发送,在接收端再从接收到的数据流中恢复出时钟,这样可以有效地避免在高速串行传输的条件下时钟与数据分开传输带来的时钟抖动问题。

  PCS子层内部集成了8B/10B编/解码电路、弹性缓冲电路、通道绑定电路和时钟修正电路。8B/10B编/解码电路可以有效的避免数据流中出现连续的‘0’或者‘1’,以保证数据传输的平衡性。通道绑定电路的作用是通过在发送数据流中加入K码字符,把多个物理上独立的MGT通道绑定成一个时序逻辑上同步的并行通道进而提高传输的吞吐率。弹性缓冲电路用来解决恢复的时钟与本地时钟不一致的问题并可以通过对缓冲区中的K码进行匹配对齐来实现通道绑定功能。

  下面将详细讨论SERDES用到的各种关键技术。

二、SERDES关键技术

  简化的SERDES结构图如下图所示

SERDES的优势在于其带宽很高,引脚数目较少而且支持目前多种主流的工业标准,比如Serial RapidIO ,FiberChannel(FC),PCI-Express(PCIE),Advanced Switching Interface,Serial ATA(SATA),1-Gb Ethernet,10-Gb Ethernet(XAUI),Infiniband 1X,4X,12X等。它的线速度能达到10Gb/s甚至更高,主要原因是因为它采用了多种技术来实现这些功能。

2.1 多重相位技术

  如果输入的串行数据流比特率为x, 那么可以使用多重相位以x/4的低速时钟来重新组织数据流。输入的数据流直接连接到4个触发器,每一个触发器运行在时钟的不同相位上(0、90、180以及270)。多重相位技术的数据提取电路如下图所示

  对应的时序图如下图所示

  每个触发器的输出连接到时钟相位小90度的触发器,直到到达时钟相位为0 的触发器。这样,输入数据流就被分解成了1/4输入速率, 4bit宽度的并行数据流。

  在上述的示例电路中,相位等差排列,时钟频率严格等于输入数据流速率的1/4。怎样才能实现呢?我们必须和输入的数据流保持锁定。我们可以使用典型的锁相环来实现这一点,但是锁相环需要一个全速率的时钟,这是很难满足的。锁相环是高速SERDES设计中最重大的改进之一,它主要用于时钟和数据恢复。一般的锁相环需要有运行在数据速率上的时钟,不过可以通过多种技术来避免这种要求,包括分数鉴相器、多重相位锁相环、并行采样以及过采样数据恢复。

2.2 线路编解码技术

  线路编码机制将输入的原始数据转变成接收器可以接收的格式,并保证有足够的切换提供给时钟恢复电路。编码器还提供一种将数据对齐到字的方法,同时线路可以保持良好的直流平衡。线路编码机制也可选择用来实现时钟修正、块同步、通道绑定和将带宽划分到子通道。线路编码机制主要有两种方式,分别为数值查找机制和扰码机制。

2.2.1 8B/10B编解码

  8b/10b编码机制是由IBM开发的,已经被广泛采用。8b/10b编码机制是Infiniband,千兆位以太网, FiberChannel以及XAUI 10G以太网接口采用的编码机制。它是一种数值查找类型的编码机制,可将8位的字转化为10位符号。这些符号可以保证有足够的跳变用于时钟恢复。下表是两个8-bit数据编码为10-bit数据的例子。

  在上面的例子中8-bit数据会导致线路很长时间不出现切换而丢失同步信息。所以8B/10B编解码电路采用了一种叫做运行不一致(Running Disparity)的技术来保证线路良好的直流平衡性能。

2.2.2 运行不一致(Running Disparity)

  8B/10B编解码机制中的直流平衡是通过一种称作“运行不一致性”的方法来实现的。实现直流平衡的最简单办法是:只使用有相同个数0和1的符号,但是这将限制符号的数量。而8B/10B则为各个数值分配了两个不同的符号。其中一个符号有6个0和4个1,这种情况称为正运行不一致符号,简写为RD+,另一个符号则有4个0和6个1,这种情况称为负运行不一致符号,简写为RD-。编码器会检测0和1的数量,并根据需求选择下一个符号,以保证线路的直流平衡。下表给出了一些符号示例

  “运行不一致性”技术的另一个优点是如果数据违反了运行不一致性规则,那么接收器可以通过监控输入数据的运行不一致性规则来检测数据中的错误。

2.2.3 控制字符(Control Characters)

  8B/10B编解码技术将12个特殊字符编码成12个控制字符,通常也称作“K”字符。这些控制字符用于数据对齐,控制以及将带宽划分成为子通道。下表是12种控制字符的编码情况

2.2.4 Comma检测

  Comma指的是用于对齐序列的一个7-bit符号。数据的对齐是解串器的一项重要功能,下图给出了串行流中的有效8B/10B数据示例。

在Serdes中,数据被Comma序列隔开,Comma序列可以自行设置,也可以预先定义好。接收器在输入数据流中扫描搜寻特定的比特序列。如果找到序列,解串器调整字符边界以匹配检测到的Comma字符序列。扫描是连续进行的,一旦对齐确定,所有后续的Comma字符均会发现对齐已经确定。当然,在任意的序列组合里comma字符序列必须是唯一的。

例如,如果我们使用符号K28.7作为Comma字符,则我们必须确保任意有序符号集xy中都不包含比特序列K28.7。使用预定义协议时是不会出现这个问题的,因为Comma字符都是已经定义好的。

  常用的K字符是全部控制字符中的一个或多个特定子集。这些子集中包含K28.1,K28.5,K28.7,这些字符的头7位都是1100000。这种比特序列模式只可以在这些控制字符中出现。其他任意的字符序列或者其他K字符都不包含这一比特序列。因此,这些控制字符是非常理想的对齐序列。在使用自定义协议的情况下,最安全且最常用的解决方案是从比较著名的协议中“借”一个序列。千兆位以太网使用K28.5作为Comma字符。鉴于这个原因,尽管在技术上还有其他的选择,这个字符还是经常被当作Comma字符。

  控制字符的命名方式源于编码器和解码器构建方式,例如:D0.3和K28.5,下图描述了这种方法。

  输入的8位比特被分成5位和3位的数据分别进行5B/6B编码和3B/4B编码,这就是其名字的来源。举例说明, Dx.y表示最低5位的数值对应十进制值x,而最高3位的数值对应十进制值y的输入字节。字母D表示数据字符,而字母K表示控制字符。另一种命名方式中, 8位比特对应于HGF EDCBA,而10位比特对应于abcdei fghj。开销是8b/10b机制的一个缺陷。为了获得2.5Gbit的带宽,需要3.125Gb/s的线路速率。但使用扰码技术可以很容易地解决时钟发送和直流偏置问题,并且不需要额外的带宽。

2.2.4 扰码(Scrambling)

  扰码是一种将数据重新排列或者进行编码以使其随机化的方法,但是必须能够解扰恢复。我们希望打乱长的连0和长的连1序列,将数据随机化。显然,我们希望解扰器在解扰时不需要额外的对齐信息。具有这种特性的码称作自同步码。

  一个简单的扰码器包含一组排列好的触发器,用于移位数据流。大部分的触发器只需要简单地输出下一个比特即可,但是某些触发器需要和数据流中的历史比特相与或者相或。下图描述了此概念。

  扰码方法通常是伴随着多项式出现的,因为扰码的数学原理中使用了多项式。多项式的选择通常是基于扰码的特性,包括生成数据的随机度,以及打乱长的连0、连1的能力。扰码必须避免生成长的连0或连1序列。

  我们希望能够加快触发器的时钟速率。但是想要达到诸如10Gb/s的高速率不是能轻易办到的。但是,还是有方法可以将任意形式的串行数据并行化为y位宽度的并行数据,从而加快进程。如下图所示。

  扰码器消除了长连0、连1序列以及其他会对接收器接收能力有负面影响的序列。但是线路编码机制(例如:8B/10B)的其他功能不是由扰码器提供的,包括:

  1、 字对齐(Word Alignment)

  2、 时钟修正机制(Clock Correction Mechanism)

  3、 通道绑定机制(Channel Bonding Mechanism)

  4、 子通道生成(Sub-Channel Creation)

  某些情况下后三种功能可能是不需要的,而字对齐通常是必要的。如果线路编码使用了扰码,那么字对齐也必须采用相应的方法。例如,我们可以将某些数值排除在容许的数据(或者有效载荷)数值之外。此后,我们可以使用这些禁用的值来创建一个比特流,这个比特流不会在序列的数据部分中出现。如下图所示

  通常,因为存在不允许的数值,所以需要设计数据流中不能出现连0或连1的长度。长的连0、连1会被扰码器打乱,并在解扰时进行恢复。接收数据流的解扰逻辑在数据流中搜寻这些符号并对齐数据。类似的技术还可用于建立其他特性。

2.2.5 4B/5B与64B/66B编解码技术

  4B/5B和8B/10B是类似的。顾名思义,这种机制将4个比特编码成5个比特。4B/5B的编码器和解码器要比8B/10B简单一些。4B/5B的控制字符要少一些,并且不能处理直流平衡和运行不一致性问题。由于编码开销相同但是功能却比较少,所以4B/5B编码机制并不经常使用。它的最大优势是设计的尺寸,不过随着逻辑门价格的降低这个优势也不再明显。4B/5B仍用在各种标准中,包括低速率版本的FiberChannel、音频工程协会-10(AES-10)以及多通道数字音频接口(MADI,一种数字音频复接标准)。

  还有一种新的编码方式称作64B/66B 。我们可以认为64B/66B是8B/10B的简化版本,它具有更低的编码开销,但是实现细节相当不同。在现有的技术用户需求下,人们开发出了64B/66B机制。10G以太网协会要求实现基于以太网的10Gb/s通信。他们可以通过使用4条有效载荷速率为2.5Gb/s、线路速率为3.125Gb/s的链路来实现,但此时SERDES已经可以在单个链路上实现10Gb的解决方案。此时新型SERDES的运行速率已经可以略高于10Gb/s了,但还不能达到12.5Gb/s以支持8B/10B的开销。

  更多的64B/66B编解码技术的实现细节请查看参考文献1。

2.3 包传输技术

  包是一种确切定义的字节集合,包括头部、数据和尾部。

  注意,定义中没有包括源地址和目的地址、 CRC校验码、最小长度、或者开放系统互连协议层。包只不过是一个定义了起点和终点的数据结构。局域网的包通常有很多特性,但是其他用途的包则通常要简单得多。

  包用于各种场合下的信息传递。例如汽车动力布线、手机以及家庭娱乐中心等等。但是,包和千兆位串行链路有什么关系呢?

  通过千兆位串行链路传输的数据多数都是嵌入在某种类型的包中的。Serdes自然需要一种将输入的数据流对齐成字的方法。如果系统需要时钟修正,还必须发送特殊的比特序列或者Comma字符。Comma字符是指示帧的开始和结束的天然标识。如果需要时钟修正,时钟修正序列常常是比较理想的字符。加入有序集合用于指示包的开始、结束以及包的特殊类型之后,我们就有了一个简单而又强大的传输通道。

  idle符号或序列是包的概念的另一要点。如果没有信息需要发送,则发送idle符号。数据的连续传输保证链路能够维持对齐,同时PLL可以保持恢复时钟锁定。下图给出了一些不同标准的包格式。

2.4 参考时钟要求

  千兆位级收发器的输入时钟、或是参考时钟的规格定义是非常严格的。其中包含非常严格的频率要求,通常用每百万次容许频率错误的单位PPM来定义。抖动要求也是十分严格的,通常用时间(皮秒)或者时间间隔(UI)定义。

  如此严格的规定才使得PLL和时钟提取电路能够正常工作。通常系统的每一个印刷电路板都需要有一个精确石英晶体振荡器供MGT使用。这些晶体振荡器的精确度比大多数用在数字系统中的晶体振荡器要高一个级别,而且价格也要高出一截。很多情况下,一般的时钟发生芯片和PLL因为带有很大的抖动,而不能用于MGT。

2.5 时钟修正技术

  千兆位Serdes对传输时钟有非常严格的抖动要求,所以通常不能将恢复时钟作为传输时钟。每一个PCB集合都有唯一的振荡器和唯一的频率。如果两个1GHz的振荡器仅仅有1PPM的频差,同时提供1/20th的参考时钟,则数据流的时钟每秒钟可能会增加或者缺失20,000个周期。因此,在8B/10B编码的系统中,每秒将会额外增加或者损失2万个符号。

  大多数的Serdes都有时钟修正功能。时钟修正需要使用唯一的符号或者符号序列,它们在数据流中是不会出现的。因为时钟修正是对齐的后续处理,所以可以比较容易地通过保留一个K字符、或者一组有序的K字符、或者一个时钟修正数据序列来实现。

  某些情况需要使用4个符号的时钟修正序列。时钟修正通过检测接收FIFO来完成其工作。如果FIFO接近于满,则查找下一个时钟修正序列而不将数据序列写入FIFO。这种操作称作丢弃。相反地,如果FIFO接近于空,则查找下一个时钟修正序列,同时它会被两次写入FIFO。这种操作通常也称作重复。

  时钟修正进行的频数必须足够多,从而可以通过丢弃或者重复来补偿时钟的差异。时钟修正序列和idle序列通常也是一样的。

  有些系统并不需要时钟修正。例如,在很多芯片到芯片(chip-to-chip) 的应用中,同一个振荡器为所有收发器提供参考时钟。相同的参考时钟和相同的速率意味着不需要进行时钟修正。同样,如果所有接收电路的时钟都来自恢复时钟,那么时钟修正也是不需要的。如果FIFO的写入速率和读出速率相等,也没有必要进行时钟修正。

  如果所有的传输参考时钟都是通过一个外部的PLL锁定在一个公共的参考频率上,那么也不需要时钟修正。对于高精确度的串行数字视频链路来说,这是常用的一种结构。所有的传输时钟都是从一个公共的视频参考中获取的。无法锁定到这个信号往往将导致自由滑动的视频流,相对于其他的锁定信号。在1G或2G速率上实现是比较简单的,但是设计一个能够用于10Gb链路且有足够精度的参考时钟是非常有挑战性的。

  下表给出了在不同晶振频率和晶振精度下时钟修正序列之间的最大时钟周期数。

2.6 接收和发送缓冲器

  接收和发送缓冲器,即FIFO,是千兆位级收发器的主要数字接口。FIFO通常是数据写入和读出的地方。发送端通常有一个小型的FIFO,它要求读取和写入的时钟是等时同步(isochronous)的(等时同步是指频率匹配但相位不一定匹配)。

  如果tx_write和tx_read选通信号不是工作在精确相同的频率,则通常采用另外的方法。此时,需要使用一个较大的FIFO,同时要求持续不断地检测FIFO的当前状态。如果FIFO被不断地填充,将最终导致溢出。在这种情况下,必须在输入数据流中检测idle符号。如果检测到idle符号,则不把idle符号写入FIFO。

  反过来,如果FIFO运行较慢则在输出数据流会出现idle符号,数据被传送给用户。此时写指针保持不动,不断重复idle符号。使用idle符号而不使用字节对齐、 Comma字符、时钟修正序列或者通道绑定序列,这一点是非常重要的。为了保证一定的发送速率,所有这些序列都是必需的。

  相对于发送缓冲器而言, MGT内建的接收FIFO通常需要有更深层次的考虑。它的主要目的是为了实现时钟修正和通道绑定。

2.7 通道绑定

  有时候我们需要传送的数据会超过一条串行链路的承载能力。在这种情况下,可以同时使用多条链路来并行传输数据。如果使用这种方式,则输入的数据流必须是对齐的。这个过程通常称作通道绑定。通道绑定可以吸收两个或多个MGT之间的偏差,将数据提交给用户,就像只使用一条链路进行传送一样。通道绑定的过程如下图所示

  不同MGT间数据偏差的一些主要原因:

  1、 传输通道长度的偏差

  2、 传输通道的有源中继器

  3、 时钟修正引起的偏差

  4、 锁定和字节对齐引起的时间偏差

  因为通道绑定需要涉及到收发器之间的通信,所以具体的细节因厂家、器件而异。但是它们有一些共同的特性,例如:指定一个通道作为主通道,指定从通道,还可能需要指定前向从通道。三级通道绑定包括一个主通道和前向从通道,所以通常也称为两-跳通道绑定。

  通道绑定序列必须是唯一的而且是可扩展的,因为可能会添加或丢弃通道绑定序列,所以下行链路中必须忽略。通常时钟修正序列和通道绑定序列之间会有最小间隔符号数。很多基于8B/10B的标准协议规定时钟修正序列和通道绑定序列之间至少需要间隔四个符号。因此,四个符号或字节是比较常用的间隔距离。

2.8 物理信号

  千兆位级Serdes的物理实现普遍采用基于差分的电气接口。常用的差分信号方法有三种:低电压差分信号(LVDS)、低电压伪射级耦合逻辑(LVPECL)和电流模式逻辑(CML)。千兆位链路通常使用CML。CML采用最常用的接口类型,并且通常都会提供AC或DC端接以及可选的输出驱动。部分输入还提供了内建的线路均衡和/或是内部端接。通常端接的阻抗也是可选的。

  下图给出了一个CML型的驱动电路。这些高速驱动电路的原理非常简单。两个电阻中的一个始终都有电流通过,并且此电流和通过另一个电阻的电流不同。

  下图给出了一个MGT接收器的示意图。

2.9 预加重

  千兆位级驱动器最重要的特性可能就是预加重的能力。预加重是在转变开始前的有意过量驱动。如果没有相关的经验,这看起来会像是一个缺陷;看起来就象是一个不好的设计可能发生的上冲和下冲。为了弄懂这么做的意图,我们需要理解符号间干扰。

  如果串行流包含多个比特位时间的相同数值数据,而其后跟着短比特位(1或2)时间的相反数据数值时,会发生符号间干扰。介质(传输通道电容)在短位时间过程中没有足够的充电时间,因此产生了较低的幅度。符号间干扰的示意图如下:

  在符号间干扰的情况下,长时间的恒定值将通道中的等效电容完全的充电,在紧接着的相反数据数值位时间内无法反相补偿。所以,相反数据的电压值有可能不会被检测到。这个问题的解决方法是:转变开始时加入过量驱动,而在任意的连续相同数值时间内减少驱动量,这种过程有时也称作去加重。

2.10 差分传输

  数字设计工程师和PCB设计师们曾经一度认为布线只不过是简单的互连或连线。实际上,原型建造时通常采用一种叫做蛇行布线的技术。实际中并不是一定要运用传输线和传输线理论。如果线路的传输延时只是信号上升时间中的很小一部分,我们可以不使用传输线理论。

  但是随着信号的传输速率的增大,PCB设计过程中就必须使用传输线理论。对于千兆位级操作而言,不仅包括传输线和阻抗控制,还包括差分线路对的阻抗控制。差分线路对阻抗匹配的两条线路是相邻的。两条线路之间的间隔使得两线路相互耦合。如果两线路相隔较远,则称作弱耦合。如果相隔较近,则为强耦合。

  如果给定线路的长度以及叠层结构(会带来给定的阻抗),耦合还会影响线路的阻抗。相同几何形状的差分线路对也会有不同的阻抗。阻抗的精确大小因材料而异,但是板制作厂商通常会提供精确的数据。下表给出了受控阻抗差分线路的各种类型。

2.11 线路均衡

  均衡主要用于补偿由频率不同而引起的阻抗/衰减差异。均衡器有很多种形式,但总体上可以分为有源和无源两种。

  无源均衡器是无源电路,其频率响应可以补偿传输衰减。无源均衡器可以认为是一个滤波器。如果我们的滤波器可以使传输线所使用的各频率通过,而将传输线没有使用的其他频率滤除,那么整体的频率响应就会变得平坦许多。

  有源均衡器可以认为是依赖频率的放大器/衰减器。有源均衡器主要有两种:固定形式有源均衡器和自适应有源均衡器。对于任意的输入数据流,固定形式有源均衡器的频率响应都是一样的。

  固定形式均衡器的增益/衰减量通常是用户可选择的,或者可编程的。部分均衡器有一个简单的控制参数—n 用于设置高增益或低增益,类似于简单音响系统中的低音设置。还有一些均衡器可以独立设置不同频率的增益/衰减量,这和复杂音响系统中的均衡设置是类似的。

  自适应均衡器(也称学习型均衡器)要复杂的多,自适应均衡器需要分析输入信号并检测哪些频率在传输通道中被削弱。测量和调节是以闭环形式实现的。自适应均衡器的频率响应取决于输入的比特流。

  自适应均衡器通常和特殊形式的线路编码机制协同工作。自适应均衡器对于可变通道的链路来说是最合适的,可变通道可以是可变的电缆长度,或是显著的位置依赖的背板系统。固定形式均衡器比较适合于不变系统中,例如:芯片到芯片,平衡化的背板系统以及固定长度电缆的系统。均衡器通常包含在SERDES的模拟前端,或者作为系统的一个独立部分。

2.12 光解决方案

  如果系统中电缆要传输的距离很远(远大于相邻底板的距离),那么通常采用光解决方案。使用光纤可以实现多种长距离传输,例如:楼下到楼上,楼与楼之间,街区之间或者城镇之间。

  光纤系统使用光信号取代电信号来传输信息。最基本的光纤系统包括发送器或信号源、光纤以及接收器,接收器将光脉冲重新转变为电信号。信号源通常是注入型激光二极管(ILD)或者发光二极管(LED),如下图所示。

光纤中的光脉冲传输是基于全反射定理的。全反射定理:如果入射角大于临界值,则光线不会透射而会全部反射回来。简单的说,光纤可以看作是一个内部全是镜子的弹性管线。光线在管道中不停反射前进,就算管道发生了弯曲,光线也能一直前进到达末端。

  光线有两种类型——单模光纤和多模光纤。单模的价格较高,可以传输的距离也较长。多模光纤的价格较低,只能用于短距离传输。

  单模光纤的示意图如下图所示

  多模光纤的示意图如下图所示

  基本的光连接器如下图所示

2.13 循环冗余校验码(CRC)

  设计师还是需要设计一个稳健的系统。首先,他需要检查系统的要求,看是否能够使用常用的方法来解决问题。

  一种方法是错误检测数据重传。检查输入数据中是否有错。如果发现错误,则发送信息给发送者要求重传数据。错误检测的首选方法是CRC。因为CRC十分常用,所以许多SERDES内部都有CRC发生器和检测逻辑。通常重传请求是由上层协议定义的。如果协议支持CRC和重传,或者数据要求正是其所能满足的,那么这种方法将会是最好的选择。

  如果情况不是这样的话,设计师还可以有其他的选择。设计师可以建造并测试所设计的系统,以观察其能否正常工作。SERDES发布的BER可以用来确定测试需要进行到什么程度,所以设计师还是有一些机动空间的。设计师不可能设计出一个远优于发布数据的系统。除了持续测试直到达到发布的BER,设计师还需要在各种极限情况下进行测试(例如,输入抖动十分靠近容限)。如果给系统设计提供更好的输入流,那么结果会更好。  

  数据还提供了另一种值得考虑的选择。多数的数据流都是有模式的,和用于BER测试的伪随机比特流相比,数据流更容易预测。这一点可能是好处也可能是坏处,这取决于传输通道和均衡器适配数据流的情况。所以必须进行测试和调整。所以建造一个系统并观察其能否正常工作,这种方法并不是十分牵强的。尽管如此,如果这种方法会出现操作上的问题,那么前向纠错(FEC)可能会有所帮助。

2.14 前向纠错(FEC)

  由于设计师知道可能会发生错误,所以可以通过提供冗余数据位来恢复这些错误。常用的方法就是利用一些前向纠错码来对数据流中的错误进行纠正。

  前向纠错的定义:添加额外的位,用于帮助恢复错误数据。

  考虑一个待传输的数据块,其大小为NxR字节,分为R行,每行N字节。现在给矩阵的每一行附加额外的一个字节,并给矩阵附加额外的一行。这些地方就是额外的位置。

  数据块的附加信息就保存在这些额外的位置中。此例中,额外的信息是奇偶位。附加字节的每一位代表此行中各字节对应位的奇偶性。也就是说,P[1][0]是D[1.1][0] D[1.2][0]D[1.3][0] …. D[1.N][0]的奇偶性。而对于额外的行而言,其中的每一位就是对应列中各位的奇偶性。也就是说, P[R+1.0][0]是 D[0.0][0], D[1.0][0] D[2.0][0] ….D[N.0][0]的奇偶性。矩阵的示意图如下图所示。

  数据和附加位同时通过链路传输。在另一侧,接收器会检查矩阵的奇偶性。如果数据的任一位是错误的,那么它会标记出来,并通过行值和列值来确定位置。只需要简单的取反,即可纠正该位的错误。多位的错误即可能被纠正,也可能会导致混乱而且会阻止其他错误的纠正,这取决于错误发生的位置。

  这种方法通常称作简单矩阵奇偶性法,而且也是FEC的最初类型。这也是多数FEC方法基本模块。这个例子是简单易懂的,但是它有局限性。针对恶劣环境和性能不好的传输通道,已经开发出多种FEC 方法,例如Viterbi,Reed-Soloman 和 Turbo 编码。所有这些方法都有强大的纠错能力,但是纠错也是有代价的:

  1、运行速度不够快: 与大多数可以在常规结构下发挥作用的方法相比,千兆位级 SERDES的速度较快。

  2、编解码器太过庞大: 编码器和解码器的电路逻辑数量可能会是MGT及其剩余部分的十倍。

  3、编码开销过大: 编码开销就是那些附加的位。编码开销过大常常可以使一种 FEC方法不可行。

三 总结

  Serdes技术中的各种可用功能极大地促进了I/O设计的发展。SERDES的各种功能例如RX定位、时钟管理器、发送/接收FIFO、线路编码器/解码器等被广泛用于提高速度和精确度。SERDES在未来I/O设计中扮演着重要角色,它提供的各种功能也将是高效 I/O器件设计的重要工具。

四 参考资料

  1、ug476_7Series_Transceivers,下载链接:https://www.xilinx.com/support/documentation/user_guides/ug476_7Series_Transceivers.pdf

  2、High-speed serial IO made simple,下载链接:https://pan.baidu.com/s/1Is8oZznS4MCHEOPK5Qwufg   密码:rttp