许多系统采用异步通信方式,即数据在传输时不附带同步时钟信号。这种情况下,接收端必须自行确定正确的时序,才能对接收到的比特流进行解码。从输入数据流中提取时钟信号,并利用该时钟在准确时刻对比特进行采样,从而保证数据被正确解析的过程,被称为时钟与数据恢复(CDR)
本文将探讨 CDR 如何从归零码(RZ)和非归零码(NRZ)两种数据格式中提取时钟信号。在此之前,我们需要先了解异步通信与 CDR 的基本特性。为便于理解,我们先简要介绍一种不使用 CDR的系统架构:同步时钟转发系统。
同步时钟转发系统
同步时钟转发系统是一种高速信令架构,发送器(TX)在发送数据的同时,会一并送出时钟信号,帮助接收器(RX)实现同步并准确采样数据。接收器只需将采样时钟与输入时钟对齐,无需设计复杂的 CDR 电路。图 1 为该系统的结构示意。
![]()
尽管这种方案可以简化接收器设计并降低功耗,但需要额外增加一条时钟传输通道。由于时钟与数据沿不同路径传输,必须尽可能减小偏斜(由走线延时不等造成的时序错位)。为有效解决这一问题,数据通路与时钟通路的电路器件和 PCB 走线需要高度匹配,以此提升两者之间的抖动跟踪性能。
异步通信
同步时钟转发系统常见于 SPI、DDR等接口,但由于需要专用时钟通道,在部分应用中并不实用。这时便需要采用异步通信系统,图 2 为典型示例。
![]()
接收器在没有发送端时钟参考的情况下,必须完成对输入比特的解析。缺少时序信息时,输入波形看起来就像是一串随机比特流,极大增加了正确解码的难度。例如,图 3 中的同一波形,根据采样频率不同,既可以被解读为 10110,也可以被解读为 1100111100。
![]()
那么,接收器如何从一串随机二进制比特流中提取时钟呢?要回答这个问题,我们需要分析数据的频谱特性。
实现有效时钟提取的频谱特征
假设图 4 为某一随机比特序列的频谱,其对应时钟频率为 fb。我们能否通过一个窄带滤波器,将时钟信号从其他频谱分量中分离出来?
![]()
答案是:不能。频率 fb 处的幅度与周围频率分量并无明显差异。因此,实际滤波器会将 fb 附近通带内的所有分量一并输出,无法单独提取时钟信号。这类频谱并不适合用于可靠的时钟恢复。
反之,如果输入数据的频谱在时钟频率处存在明显的能量尖峰,我们就可以通过多种信号处理方法提取时钟信号,如图 5 所示。
![]()
在上述频谱中,fb 处的能量远高于邻近分量。正因如此,我们可以从随机比特流中生成低噪声的周期性时钟信号。
数据比特序列有多种编码方式,不同编码对应不同的频谱特征。在明确时钟恢复所需的频谱特性后,我们来分析两种常用编码格式的频谱:RZ 与 NRZ。
RZ编码数据
![]()
图 6 展示了比特序列 1011001 的归零码(RZ)波形。
在该编码方案中,比特 1 用高电平表示,并且在比特周期结束前会回到零电平;比特 0 则用低电平表示。信号在相邻的 1 之间会拉低至零,因此得名 “归零码”。
图中 Tb 表示一个符号的周期,b 代表波特(baud)。波特是衡量信道中每秒信号变化次数(即符号数)的单位。在本文讨论中,波特率与比特率相等,但并非所有编码方案都满足这一关系,部分方案会在一个符号中嵌入多个比特。
![]()
图 7 为 RZ 编码数据的典型频谱。
RZ 数据的频谱在波特率 fb=1/Tb 处存在明显的离散谱线(能量尖峰)。即使信号经过低通滤波(无论是人为滤波还是传输介质自然造成的衰减),fb 处的尖峰依然存在。图 8 展示了滤波在时域和频域对 RZ 信号的影响。
![]()
当 RZ 数据通过低通滤波器后,fb 处的尖峰可能会因滤波器响应产生一定衰减,但只要滤波器带宽足够,时域波形仍会在相邻 1 之间归零。此时,频谱中 fb 处的离散分量依然保留。
我们可以使用带通滤波器将该分量与邻近频率分离,从而实现 CDR。该滤波器需要具备极窄的带宽,且中心频率需精确对准 fb。这类滤波器可通过锁相环(PLL)实现,如图 9 所示。
![]()
PLL 需要锁定在 fb 的尖峰上,同时抑制周围无用的频率分量。值得注意的是,PLL 的带宽可以仅为输入频率的极小一部分,从而实现极高 Q 值的响应。
NRZ编码数据
图 10 展示了比特流 1011001 的另一种数据格式:非归零码(NRZ)。
![]()
在非归零码格式中,信号电平在整个比特周期内保持不变。这一特性提升了带宽效率,因为它避免了 RZ 编码中额外的电平跳变。
NRZ 码的缺点是同步难度更高。为理解这一时序同步问题,图 11 给出了 NRZ 数据的典型频谱。
![]()
NRZ 数据的频谱在波特率 fb 处不存在离散谱线。事实上,其频谱在 fb 的整数倍处幅值为零,意味着这些频率上没有能量。因此,与 RZ 格式不同,PLL 无法直接从 NRZ 数据中提取时钟。
利用边沿检测从NRZ数据中恢复时钟
要从 NRZ 数据中恢复时钟,可先将其输入边沿检测电路,如图 12 (a) 所示。
![]()
边沿检测会改变 NRZ 数据的频谱,在波特率 fb 处引入频率尖峰。生成这一尖峰后,我们就可以使用 PLL 将其与周围频率分量分离,从而生成低噪声时钟。
部分资料将该电路描述为“将 NRZ 数据转换为类 RZ 数据”,但它并不能真正生成标准 RZ 数据。例如,当输入连续多个 1 的 NRZ 序列时,输出并不会像 RZ 那样在相邻 1 之间来回跳变。
想了解边沿检测为何能在 fb 处产生频率分量,可参考 Behzad Razavi 所著《Design of CMOS Phase-Locked Loops From Circuit Level to Architecture Level》一书的 13.3 节。
总结
本文在介绍 CDR 基本概念后,分析了异步通信中 RZ 与 NRZ 两种数据格式的时域和频域特征。可以看到,锁相环(PLL)在时钟与数据恢复中扮演着关键角色。在下一篇文章中,我们将重点介绍用于时钟恢复的 PLL 设计。
由于 CDR 中的 PLL 需要处理随机输入数据并生成周期性时钟,只有特定类型的鉴相器适用于这一场景。我们将详细讲解其中一种经典结构:Hogge 鉴相器。
技术大会报名倒计时(免费午餐)
224G SerDes|GAN|FPGA|AI信号处理等
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.