Khorina · 8月29日

Serdes之什么是(CDR)以及眼图训练仿真?

许多数字高速数据流,如以太网,都是在没有任何特定时钟信息的情况下传输的。

因此,接收端必须根据接收到的数据生成一个输入时钟。在实际操作中,一个锁相环(PLL)会对准输入数据的跳变,从而提取出合适的时钟信号。这个恢复的时钟也被用来对输入数据进行重新定时。这个过程被称为时钟与数据恢复(CDR)。

高速模拟串行解串器(SerDes)系统利用时钟与数据恢复(CDR)电路来提取正确的时间,以便对接收到的波形进行准确采样。CDR电路会生成一个时钟信号,该信号与传输信号的相位和频率(在一定程度上)保持一致。

相位跟踪(一阶CDR)通常通过使用 nonlinear bang-bang 或Alexander (Alexander)相位检测器来实现,该检测器驱动压控振荡器(VCO)。频率跟踪(二阶CDR)会整合任何剩余的相位误差,并补偿发射机参考时钟与接收机参考时钟之间的较大差异。serdes.CDR和serdes.DFECDR使用的是一阶CDR算法。

数据流必须以这样的方式编码,即流中存在足够的数据跳变(即减少连续相同数据符号的数量)。一种常见的编码方案是64B/66B编码。

将一个光/电信号从一点传输到另一点的主要目的是保持信号完整性,以避免任何数据丢失。一个关键特性是能够从源点向目标点传输定时信息。这个定时特性被称为时钟数据恢复(Clock Data Recovery)。

什么是时钟数据恢复?

光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。

image.png

光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。

目前市场上大多数收发器都没有专用的时钟输入,因此时钟恢复和数据重新定时等功能是在收发器外部(即在主板上)进行的。接收端则需要恢复时钟以采样串行线上的数据。

为了实现这一点,接收端需要一个与输入数据频率大致相同的时钟。通过使参考时钟与输入数据信号的跳变相位对齐,可以生成一个恢复的时钟。这被称为时钟恢复。

使用恢复的时钟对输入数据信号进行重新定时被称为数据恢复。这两者结合起来就称为时钟数据恢复(CDR)。

换句话说,CDR的作用是从没有伴随时钟信号的输入信号中恢复定时信息,并对接收到的数据进行重新定时。

CDR是如何工作的?
频率检测

它锁定从输入数据流中检索到的频率。为此,它检测数据跳变并将压控振荡器(Voltage Controlled Oscillator,VCO)锁定到该频率。然后,在生成传输数据位流时使用此频率。

简而言之,接收频率(目标时钟)必须与发送频率(源时钟)相同。

为了简化接收端(RX)的频率检测,数据源将在传输实际数据流之前发送一个特定的位序列,称为训练序列。训练序列非常密集,允许接收器在有效数据开始之前,通过检查导线上的连续数据波来轻松锁定频率。

image.png
理想的训练序列

相位对齐

它将在频率检测中已经恢复的时钟的相位与输入数据位流相匹配。它将根据输入数据流的变化连续调整时钟。

相位检测器 亚历山大(Alexander)或滞回(bang-bang)相位检测器在每个符号的边缘和中间对接收到的波形进行采样。通过一些数字逻辑处理边缘样本(en)和数据样本(dn-1 和 dn),以确定边缘样本(以及时钟相位)是提前还是延迟。边缘样本en和数据样本dn相隔半个符号时间。

考虑波形中出现数据转换的情况,此时en和dn都低于判决阈值电压。从en和dn解析出的二进制值相匹配,这表明时钟相位延迟。

Phase Detector—相位检测器

亚历山大(Alexander)或滞回(bang-bang)相位检测器在每个符号的边缘和中间对接收到的波形进行采样。

通过一些数字逻辑处理边缘样本(en)和数据样本(dn-1 和 dn),以确定边缘样本(以及时钟相位)是提前还是延迟。边缘样本en和数据样本dn相隔半个符号时间。

考虑波形中出现数据转换的情况,此时en和dn都低于判决阈值电压。从en和dn解析出的二进制值相匹配,这表明时钟相位延迟。

image.png

同样地,当从en和dn-1解析出的二进制值相匹配时,时钟相位提前。

image.png

将采样器的二进制输出表示为±1,这里总结了非归零(NRZ)或四电平脉冲幅度调制(PAM4)调制下相位检测器的行为:

image.png

对于PAM3调制,符号电平为-0.5、0和0.5。默认的阈值电平(th)为±0.25。因此,修改后的真值表变为:

image.png

直接从相位检测器输出驱动压控振荡器(VCO)会导致时钟抖动过大。为了消除抖动,相位检测器的输出会通过一个投票累积过程进行低通滤波。

当累积的投票数超过特定的计数阈值时,VCO的相位会增加或减少。

image.png

恢复时钟信号

从重复的伪随机二进制序列(PRBS9)不归零(NRZ)信号中恢复时钟信号。假设信道损耗为4dB,相位步长为1/128,投票计数阈值为8,且不存在相位或参考偏移。

基线行为通过眼图和生成的时钟概率分布函数(PDF)来展示。PDF非常接近眼图的中心。时钟相位稳定在0.5703符号时间和0.5781符号时间之间的某个值。

这两个值之间的抖动是由非线性滞回相位检测器引起的,也是CDR抖动(或称“搜寻抖动”)的来源。为了减小抖动的幅度,可以减小相位步长。为了缩短抖动的周期,可以降低投票计数阈值。

image.png

相位检测器的输出在早/晚投票计数中进行累积。当计数超过投票计数阈值时,相位会增加或减少。为了加速CDR收敛,计数阈值从2开始,并且每次投票的幅度超过阈值时,阈值都会增加,直到达到最大计数。

此图显示了早/晚计数(蓝色)和阈值(红色虚线)的前350个符号。在CDR模块内部,投票会增加或减少,并与阈值进行比较,然后在必要时重置。下图中显示的外部投票值并未触及阈值,但投票重置为0时则显而易见。

image.png

为了展示时钟收敛到不同的相位,将信道损耗更改为2 dB。现在,时钟相位会适应到大约0.35个符号时间。

image.png

将投票计数阈值增加到16会导致更长的抖动周期。

image.png

将相位步长增加到1/64会增加抖动的幅度。

image.png

当均衡后的眼图不显示左右对称性时,可以手动移动数据采样器的位置以最大化眼高。例如,将时钟相位向右移动符号时间的1/8,从而将输出时钟相位从0.57个符号时间移动到0.7个符号时间。

image.png

您还可以注入少量的参考时钟频率偏移损伤,以实现更真实的CDR(时钟数据恢复)。

image.png

References

  • [1] Sonntag, J. L. and Stonick, J. "A Digital Clock and Data Recovery Architecture for Multi-Gigabit/s Binary Links." IEEE Journal of Solid-State Circuits, 2006.
  • [2] Razavi, B. "Challenges in the design high-speed clock and data recovery circuits." IEEE Communications Magazine, 2002.
作者:TrustZone
文章来源:TrustZone

推荐阅读

更多物联网安全,PSA等技术干货请关注平台安全架构(PSA)专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入PSA技术交流群,请备注研究方向。
推荐阅读
关注数
4569
内容数
186
Arm发布的PSA旨在为物联网安全提供一套全面的安全指导方针,使从芯片制造商到设备开发商等价值链中的每位成员都能成功实现安全运行。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息