许多系统采用异步通信方式,即数据在传输时不附带同步时钟信号。这种情况下,接收端必须自行确定正确的时序,才能对接收到的比特流进行解码。从输入数据流中提取时钟信号,并利用该时钟在准确时刻对比特进行采样,从而保证数据被正确解析的过程,被称为时钟与数据恢复(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信号处理等

打开网易新闻 查看精彩图片