在串行IO系统中,时钟分配是一个非常重要的问题。最早的时候,发送端和接收端使用一个共同的时钟,都可以实现有效传输,但是数据速率到达100MHZ以后,效果就非常差。这时候出现两种主流的时钟分配方案。一种是转发时钟,一种是嵌入式时钟。左图是转发时钟的串行接口系统的一个示意图,它将发送端的时钟通过一个转发时钟通道转发给接收端。由于转发时钟被通道衰减,因此在接收端需要良好的时钟接收放大器,并且由于存在时钟偏斜,而时钟偏斜会限制前向时钟I/O性能 ,因此需要去偏斜电路以允许更大的数据速率。但是还有一些缺点,比如说驱动器强度和负载不匹配 、互连长度不匹配 、低通通道导致抖动放大 、 转发时钟的占空比变化。而嵌入式时钟指的是信号接收端并不直接接收发送端的时钟信号,而是从接收到的数据当中还原出对应的时钟信号,也就是时钟数据恢复电路。
时钟和数据恢复系统 (CDR) 产生时钟来采样传入的数据。时钟的有效频率必须等于传入数据速率。而且采样时钟应与传入数据具有适当的相位关系,以获得足够的定时裕度,以实现所需的位误码率 (BER)。同时要求CDR有效抖动小。
CDR环路的结构和锁相环有些类似,都是通过检测输入信号和本地时钟的相位差,然后反馈到本地时钟上来实现相位锁定。但CDR的输入信号并不是时钟信号,是无规则的非周期信号,所以在鉴相器上不能直接套用锁相环的方式,而是需要一些特殊结构。CDR需要从传入数据中提取时钟频率和最佳相位位置、相位检测连续运行、需要大的带宽来减小抖动。目前主流的CDR实现方式一般是基于PLL的CDR和具有PLL或DLL和相位插值器 (PI) 的 “双环” 体系结构的CDR。这种双环cdr需要仔细的设计考虑和控制硬件,以确保两个回路在锁相期间不会干扰或冲突它们对本地振荡器的并发控制。
CDR按照有无参考时钟可以分为有参考CDR和无参考CDR。有参考的cdr需要参考时钟来恢复数据。此参考时钟一般是由锁相环生成的,保持接近预期传入数据速率的频率。不使用参考时钟而是需要对片上本地振荡器进行外部手动调谐的CDR也被视为参考cdr。这些手动调谐信号的作用是在开始恢复操作之前将初始压控振荡器 (VCO) 频率置于CDR的捕获范围内 ,因此此类信号仍被视为CDR的外部参考。而无参考cdr都无需外部晶体振荡器或手动调谐机制。但是,需要额外的频率检测和校正方案。但无参考cdr与参考cdr相比实现了显着扩展的捕获范围,并且如果需要,可以自动适应多个数据速率。
根据采样方式的不同也可以分为过采样CDR和波特率CDR。传统的过采样设计,例如2 × 过采样cdr,每单位间隔 (UI) 对输入数据波形进行一次以上的采样,以恢复相位误差信息 .基于过采样的CDR基本思路是使用两个时钟,对每个输入数据分别进行两次采样,一次采样数据本身;一次采样数据的边沿。输入的边沿时钟和数据时钟保持半个数据周期的相差,然后将边沿时钟与输入数据的边沿对齐,就可以保证数据时钟在输入数据的正中间进行采样了。典型的2 × 过采样架构中,需要边沿时钟采样与CDR相位检测器 (PD) 的数据时钟采样相结合,以确定时序恢复决策。波特率CDR只需要数据样本,根据输入数据的波形恢复时钟。波特率时钟消除了对额外样本的需求,与传统的过采样cdr相比,这可以减少接收器中所需的高速前端采样器的数量。同样,需要通过时钟分配网络路由更少的高速时钟,从而可以实现更节能的接收器。
过采样CDR和波特率CDR主要差异在于鉴相器的不同。鉴相器分为线性鉴相器和非线性鉴相器。过采样鉴相器和波特率鉴相器都属于非线性鉴相器,也就是仅提供采样相位误差的符号信息,而不提供相位误差的幅度信息。最早的亚历山大鉴相器如右图所示。
波特率鉴相器根据输入数据的波形来判断输入时钟的相位的符号信息。
在SERDES中,我们通常会使用一些均衡器来抵消通道带来的损耗。在接收端我们一般使用CTLE+DFE的方法。
CTLE分为有源和无源的,但是无源没有增益,因此我们一般是用有源CTLE。CTLE,连续时间线性均衡器。它主要来补偿channel对高频信号的插入损耗insertion loss。CTLE, 一般靠手工配置,根据信道的loss来配置相应的值,信道的插损越大,CTLE需要配置的peaking值越大,以保证CTLE的输出满足VGA的输入要求。随着CS增大,它的零点和第一级极点向左平移,峰值不变。增大RS,将零点移动到较低频率并增加峰值 (降低DC增益)。
DFE是因果关系,对于post的ISI干扰补偿非常有效,可以在没有噪声和串扰放大的情况下提高高频内容 • 滤波器抽头系数可以自适应调谐,而无需任何后通道。但是对于pre的ISI干扰无能为力,同时级数多了,会导致错误传递,即多个bit的burst错误。所以56G及以后的serdes,多采用FFE之后只有1个tap的DFE设计。
“post”是指数据"0" -> "1"或者"1" -> "0"跳变之后的预加重
“pre”是指数据"0" -> "1"或者"1" -> "0"跳变之前的预加重
文章来源地址https://www.toymoban.com/news/detail-784700.html
文章来源:https://www.toymoban.com/news/detail-784700.html
到了这里,关于我的组会内容分享(部分)CDR+CTLE+DFE的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!