跳转到内容

时钟和数据恢复/简介

来自维基教科书,开放世界中的开放书籍

串行数据传输中的时序

[编辑 | 编辑源代码]


为了通过一定距离传输数字信息,需要将其序列化(无论是在通过一根引导介质(如电缆、光纤等)传输时,还是在无线传输时)。

数字信息通常被编码以进行错误检测和纠正。

编码后的比特流会携带它自己的时钟信息。

时序信息,即时钟,本质上是由传输信号的电平跃迁携带的。


在传输过程中,产生的信号会受到噪声和传输介质传输函数的影响,并可能导致信息内容的不希望的损坏。


在接收端,信号尽可能恢复(均衡并滤除噪声)。

然后提取时序信息,并重新生成比特流。

在数据接收器内部执行这些最后功能的电子电路称为时钟和数据恢复块 (= CDR)。


从接收信号中恢复时钟信号的操作不可避免地会受到一些退化的影响。由于均衡/噪声滤波不良以及恢复的时钟相对于恢复的脉冲的同步不完美,可能会在随后的编码比特流的再生中出现错误。

数据和时钟在它们一起传输的过程中,受噪声和符号间干扰的影响,并获得了

  • 两者:由于物理传输时间和提取过程,不可避免的延迟;
  • 时钟:一些时序误差(= 相位调制,称为抖动)
  • 重新生成的位:一些错误的位,具有(非常)低的概率,或者换句话说,比特误码率非常低(例如 <10−19)。


使用复杂的时钟提取电路可以将抖动降至最低,但无法消除。

另一方面,在网络拓扑中,总是存在一些点,这些点将来自同一个时钟的信号,并在不同的传输路径上积累了不同的抖动,必须再次组合在一起。

为了吸收抖动差异,使用了一个弹性缓冲器(一种特殊的缓冲内存

串行与并行

[编辑 | 编辑源代码]
[注释 1]
信息存储在内存中,以写入内存单元中的位的形式存储。
大多数内存都是由一组具有唯一地址的单元组成。每组单元容纳一个内存字,该内存字由 8 位组成,或者由 8 位的整数倍组成。每组 8 位信息构成一个字节。
一个文件[注释 2](即内存一部分的内容)必须“传输”以使其信息内容在其他地方可用。“传输”意味着通过电子方式发送并在另一个内存的类似部分内复制。


内存通过与每个字一样宽的并行总线存储并输出其内容。一个字的位可以在一个总线上同时并行传输,总线上有与内存总线一样多的链接(通常还有一个链接来传输对每个后续字的位进行计时 的时钟)。
这被称为并行传输。对每个字内容传输进行计时 的时钟的频率等于
(每秒传输的位数)/(一个字中的位数)[Hz]。
当链接上的比特率超过一定限度时,并行传输变得不切实际。
(并行)链接将信息位作为电磁信号(电信号或光信号)携带。
并行链接的物理长度永远不会相同,长度可以用一个信息位通过链接所需多少个时钟周期来衡量。
如果并行路径经历了很大的延迟差异,则链接末端的单个时钟可能无法将给定字的所有位一起加载到接收内存中。
不同的并行路径之间的延迟差异可能导致给定字的位(在同一时间发送)在接收端以不同的时钟周期接收。
(距离差异包括每个路径(发送和接收)的电子电路中的不同延迟。)
并行传输受到并行路径的长度差异的限制。[注释 3]
并行传输在以下两种情况下是可行的:
不同的路径具有小于位间隔四分之一的延迟差异,以及
总线的连接可以变得非常便宜。


或者,时钟速度可以乘以并行位的数量,并且一个字的位可以在单个传输线上一个接一个地发送,时间段等于并行传输的一个时钟周期。
当距离太长或成本可以降低时,使用串行传输。
序列化后的比特流显然仍然需要在接收端提供其时钟,以识别每个信息位并将它们加载到内存中(通常加载到解复用器的字节内存中)。
时钟必须与信息位一起传输(编码),以便它们在单个传输线内一起传输,[1]并经历相同的延迟。在接收端,应首先恢复时钟,然后将其用于恢复信息位(时钟和数据恢复)。[注释 4]


网络中的设备在其处理核心内部使用并行处理,但通过一个或多个串行链路连接到外部。
因此,在发送端可以识别一些电路,这些电路将并行转换为串行(复用器),以及一些电路在另一端将串行转换为并行(解复用器)。
下图实际上描绘了串行链路的一个完整单向部分,该部分等效于描绘并行到串行接口的两个方向。
Conversions from par to serial and back are sketched. The functions of MUX and DEMUX are identified, as well as the different clock rates. The CDR at the end of the serial link is emphasised, as it is the best example of the need of Clock Recovery (although others could be pointed out).
描绘了从并行到串行以及串行到并行的转换。识别了复用器和解复用器的功能,以及不同的时钟速率。串行链路末端的 CDR 被强调,因为它是需要时钟恢复的最佳例子(尽管可以指出其他例子)。
该图也有助于指出(以红色显示)需要重新生成组合信号/时钟的点。第一个基本操作是从组合的时钟和数据信号中恢复时钟,这个操作是本书的主题。

CDR 和 PLL

[编辑 | 编辑源代码]

本书探讨了 CDR(时钟和数据恢复)电路,但只分析和研究了它们所包含的 PLL(锁相环)。

这些 PLL 是 CDR 的重要部分(= 用于时钟恢复,= CDR 的 CR 部分)。

CDR 的 DR(数据恢复)部分没有深入研究,这里只研究适合时钟恢复功能的 PLL。

用于其他应用的 PLL,例如移动物体的位置检测或非调制信号的识别,在这里不予考虑。

近年来,由于移动电话的爆炸式增长,频率合成器内部的 PLL(它们不是 CDR)取得了长足的进步。可以说,如今 PLL 的绝大部分应用都体现在频率合成器中。

CDR 中 PLL 的特殊之处,是信息比特与其时钟直接“混合”成唯一的脉冲串流。通常,NRZ 传输信息比特可以完美地完成任务。对于其他传输信道,不同的比特和时钟“编码”可以更好地优化整体性能,并增加再生所需的距离。

在所有情况下,由于信息比特本质上的“不可预测性”,混合的串流的频谱不会在固定频率处出现整齐的谱线,而是会以大瓣的形式散布;其电平跃变不会发生在每个可能的时刻,而是在其中的部分时刻随机发生。为了简化数学,本书中使用了“跃变密度”的概念。此外,这些跃变发生时会相对于理想位置抖动,因为信道失真和噪声的存在。

相反,频率合成器锁定的信号是规则的周期性波形,其频谱接近于具有噪声边带的强谱线。其电平跃变以 100% 的密度发生。

时钟额外费用

[edit | edit source]

与数据一起传输的时钟

[edit | edit source]

用于串行传输时逐个释放数据比特的时钟信号必须与数据比特一起传输,并且必须在到达时首先恢复,以便随后可以对接收到的数据比特进行再生。

为了有效地利用(一个良好的百分比)信道容量,实际的串行链路需要一个时钟,该时钟可以在到达点正确识别每个数据脉冲。 [2]

当数据以最简单的方式(NRZ)传输时,每个符号都是一个脉冲(0 或 1),其持续时间正好等于关联时钟的一个周期。关联时钟在(并且可以从)两个后续符号之间的“跃变”(从 1 到 0 或从 0 到 1 的电平变化)中可见。不幸的是,两个符号之间并不总是存在跃变。如果跃变发生的频率不够高(跃变密度,运行长度,...),那么就不可能恢复与接收到的数据相关的时钟。

火车类比

[edit | edit source]
为了阐明这个概念,可以使用一个简单的类比,即火车运输,其中在每个给定的正常乘客(数据比特)组中都会增加一些额外的乘客。
这些额外的乘客将在到达后协助其他人,但会减少可供原始乘客使用的座位数量,这些乘客为所有人支付费用(使用减少数量座位的付费乘客组代表了这个类比中的有效载荷)。
恢复的时钟对于在乘客下火车时再生数据乘客是必要的。这个(恢复的)时钟对于完全再生每个数据比特乘客是必要的。没有其他时钟可以做到这一点。
在所有执行到达(接收器)时完成其任务的额外乘客中,有些乘客协助时钟恢复,但有些乘客可能存在是为了纠正状态最差的乘客,这些乘客可能以糟糕的状态到达并且被错误地再生(比特错误纠正),还有一些乘客可能存在于这些任务类型的组合中(帧,等等)。[3]

基本理论

[edit | edit source]

基于香农-哈特利定理的基本理论没有明确地解决时钟恢复问题,因为其综合公式仅对

  • 该定理也没有考虑到完成接收比特的完全再生所需的总可用时间在实践中非常短[4]

但“信道容量定理”有效性的假设表明

  • 连续传输突发传输更接近理论极限,并且
  • 实际系统需要复杂的编码方案才能向理论极限改进 [5]


这个基本公式的意义远远超出了其陈述的假设。

事实上,它之所以流行,是因为它提供了对现实的理解,在现实中,带宽和噪声并非以数学精度已知,并且许多量之间的关系与线性关系有很大偏差。

当应用于非线性现象时,它提供了良好的近似值,例如源于影响接收信号跃变的相位噪声的比特错误率(即时钟抖动)。

恶化时钟的相位噪声(时钟本质上是一个方波,受噪声影响,噪声只不过是抖动)增加比特错误率 BER(即降低理论信道容量 C),就像在香农-哈特利公式中降低信噪比(S/N)一样。
严格来说,该公式只有在噪声为高斯噪声时才产生准确的结果。但高斯噪声是最随机的噪声,恢复的时钟相位噪声来自许多不同干扰的累积。可以理解,即使通过(略微)不同的数量,两种噪声都会产生更高的 BER(即两种噪声都会降低信道容量 C)。

实际的额外费用

[edit | edit source]

实际为了让时钟与关联数据一起传输而付出的成本(以比特率、信道带宽或信道容量衡量)有多大?

香农-哈特利定理没有说明如何设计一个满足实际情况给定要求的系统,并且没有提供简洁的公式供设计工程师使用,因此实施任务就交给了他们。

所有传输设备的设计都与它们可能使用过的最长线路长度兼容。

在所有这些设备中,时钟恢复电路的设计使得恢复的时钟的抖动保持足够小,以不产生或只产生比特错误率的微小增加,即使连接到它们指定的w:通信信道的最长线路也是如此。

换句话说,时钟抖动对总的等效 S/N 的贡献可以忽略不计,但这需要以减少乘客座位数量为代价,即降低净比特率,这反过来又等同于减少可用带宽 B。

在大多数实际情况下,为了获得无错误的时钟恢复而付出的信道容量降低范围从最大大于 10%(突发传输)到几百分比(连续传输)。 [6]

本书的主题(即应用结构对应关系)

[编辑 | 编辑源代码]

本书旨在为理解、研究和设计用于 CDR 应用的 PLL 系统提供良好的理论基础。

CDR 的 PLL 是一个单位反馈系统,因为输出(恢复的时钟)应该尽可能接近输入(嵌入到传入脉冲流中的时钟),除了对后者的高频分量进行抑制。

完全由线性行为的电路块组成的 CDR 可以很好地用线性数学模型来描述,即用以时间为自变量的线性微分方程及其拉普拉斯或傅里叶变换来描述。

任何 CDR 的 PLL 都可以用三种“控制回路结构”(= 架构,在框图意义上)中的一个来描述。

它们可以仅通过阶数和类型这两个数字来识别。下图根据它们的线性模型识别了三种架构

PLLs for CDR are unity feedback loops. When all blocks are linear, order and type numbers are enough to identify the loop structure (=block diagram).
用于 CDR 的 PLL 是单位反馈回路。当所有模块都是线性的时,阶数和类型数字足以识别回路结构(= 框图)。

在实践中用所有线性模块实现的结构是

  1. 一阶、类型的回路,用于“相位对准器”和“终点”的应用。
  2. 二阶、类型的回路,用于“再生器”的应用。

具有一个或多个硬非线性的 CDR 不能用线性数学模型充分描述。(需要针对每个不同的信号电平重新计算额外的仿真)。

广泛(且通常不可避免)使用本质上非线性的相位比较器(bang-bang)导致使用更宽容和更稳健的架构。(bang-bang 相位检测器的增益不是固定的,而是随其输入端的相位差而变化)

这些结构仍然可以通过对应线性回路的阶数和类型来识别。

When non-linearities of phase detector and/or VCO limit the possible modeling to computer simulations, neither formulae, nor transforms are possible. Just time functions (simulations of transients). It is nonetheless convenient to use the same identification of linear loops.
当相位检测器和/或 VCO 的非线性将可能的建模限制在计算机仿真时,公式或变换都不可能。只有时间函数(瞬态仿真)。不过,使用线性回路的相同识别方法仍然很方便。

并且在实践中

  1. 一阶、类型的回路(与 1.1. 完全相同),用于“相位对准器”和“终点”的应用。
  2. 二阶、类型的回路(如果使用线性相位比较器,则此结构不受欢迎),用于“再生器”和“终点”的应用。对线性(2.2)架构(所有模块都是线性的)的详细分析对于理解其使用 bang-bang 相位检测器的实际应用仍然非常重要。
In the engineering practice of CDRs, just three structures are of practical use. Any other architecture is of interest only in a theoretical sense, because it is not used in the implementation of practical circuits. The three important structures are shown along with their preferred applications
在 CDR 的工程实践中,只有三种结构具有实际用途。任何其他架构仅在理论意义上才值得关注,因为它不用于实际电路的实现。三种重要的结构及其首选应用如下所示

在本书中,对于所有列出的情况(1.1.、1.2. 和 2.2.)

  1. 提供了线性模型(复变量 的函数,以及实变量 的函数),以便可以研究“小信号”条件下的操作(抖动容限、抖动传递、噪声传递、单位阶跃响应等)。
    1. 每个 PLL 模块的
    2. 以及整个系统的
  2. 使用通过数值仿真获得的结果,调查了线性模型适用性超出范围的重要点。
已经开发了几个版本的仿真程序,可以根据要求提供 [7]
  1. 并行:每个位在中使用一条传输线,所有字的位同时传输
    并行总是同步的(即,还有一条传输线用于标识每个字的时钟)
    串行:只有一条传输线,位一个接一个地传输
    理论上,每个字的位可以按最低有效位优先或最高有效位优先的顺序进行串行化w:位编号,但在实际中,字内的字节可能使用一种字节序,字内的位使用另一种字节序进行串行化字节序。但是,任何特定实现中使用的标准的字节序和位序对 CDR 工程没有影响。
    串行实际上总是同步的:
    一个时钟标识每个位,
    串行位流和时钟混合在一起进行传输
    组合的传输信号可能包含足够的时钟信息,也可能不包含,具体取决于它是否满足某些过渡密度(或运行长度)要求
  2. 文件,在文件的意义上,词源 1,4: “存储设备上的数据聚合,由名称识别。”
  3. 除非使用额外的(并且复杂的)技巧,否则并行传输不可能超过一定距离。 为了使偏移的位流重新同步,需要在发送阶段在每个位流中插入冗余位,以便在接收端可以检测到帧同步。然后,需要在每条路径的末端使用缓冲存储器来使所有并行路径的位重新同步。已经提出了具有此结构的接口,并且在某些系统中使用。
  4. 当并行信号(包括时钟)传输的多个链路在其位速率上相差 50% 或更多时,需要进行串行传输,并将时钟和数据一起编码在单个链路上。当 +/- 25% 可能超过时,建议使用串行传输。
    需要强调的是,串行传输需要在传输之前对每个字的 n 位进行多路复用,并在传输结束时进行解复用,以并行地显示每个字的位。串行传输的位速率是对应并行传输的 n 倍。
    串行链路的长度不需要与其他链路的长度完全匹配。当距离超过几米时,串行传输总是优先于所有类型的传输线。即使对于较短的距离,也经常使用串行传输。
    串行传输仅受其传输技术可达到的总长度限制。使用光纤这意味着从数百米到一百多公里。
    例如:在 1 Gbps 时,参考波长为:
    c/(1 GHz) = 3 * 108 m/s / 109 sec-1 = 30 cm.
    考虑到 PCB 上的速度比真空中低 40%,参考距离为 30 厘米的 60%,即大约 20 厘米。
    因此,当并行路径(在 1 Gbps 下使用)之间的距离差异为 5 厘米或更多时,串行编码传输(在 n 倍 1 Gbps 下,例如,如果并行链路为 8,则为 8 Gbps)变得更受欢迎。
    如果考虑铜缆或光纤缆(设备背板或设备间),由于并行电缆和连接器的成本更高,因此选择串行传输更有优势。

参考文献

[编辑 | 编辑源代码]
  1. FED-STD-1037C.PDF, 第 414 页,共 498 页
    传输线:构成从一个地方到另一个地方的路径的所有或部分材料介质或结构,用于引导能量的传输,例如电流、磁场、声波或电磁波。
    注意:传输线的示例包括电线、光纤、同轴电缆、矩形闭合波导和介质板。
    下载自 http://www.everyspec.com 2017 年 9 月 20 日 星期三
  2. 理想情况下,但仅仅是理想情况下,时钟可能会沿着一个独立的平行路径运行。
    在评估平行多数据链路的距离限制时(在考虑平行时钟路径时,这种限制非常相似,就像在本段中一样),从稍微不同的角度,已经描述了独立时钟路径的缺点 在本介绍页中
  3. 在实际数据网络中,存在沿着专用平行路径运行的时钟(类似于专用火车,舒适且专供时钟乘客乘坐)。
    它们以非常好的状态到达目的地,然后可以乘坐载有普通乘客的离开列车,这些乘客也到达了同一个车站。
    这些乘客组可以利用新的时钟,比与他们一起旅行的时钟更干净,但只有在由与他们一起旅行并共享相同不适(经历了相同的失真)的时钟重新生成之后。
  4. 这样的时间只是最终用户所经历的总延迟的众多因素之一,因此必须将其控制在最小范围内。
    对于许多应用,无论是实时传输还是非实时传输,网络节点之间的总延迟(其中发生多个时钟恢复、去帧、第 2 级和第 3 级数据包路由)最好保持在 20 毫秒以下。(例如,最终用户所经历的音频通话的总 延迟 必须保持在 200 毫秒以下)。
  5. 麻省理工学院关于香农极限的新闻文章
  6. 为了进行满意的时钟恢复,在不同的情况下使用不同的技术。通常,在同一应用程序中存在多种技术,但几乎所有技术都包括获取有限数量的线路脉冲并将它们分配给时钟恢复(和其他)目的。有用的比特率相应降低,因此香农-哈特利意义上的信道容量也降低。
    为了使时钟与相关数据一起传播,实际付出的代价(就比特率、信道带宽或信道容量而言)有多大?
    由于数字网络中存在许多不同的解决方案,以及每个解决方案除了时钟恢复之外可能提供的其他目的,因此答案只能通过一系列可能的值来近似。
    还必须考虑,每当数据包下降到 OSIRM 层级阶梯的一级以到达底部并变成实际通过物理介质传输的脉冲序列时,负载位都会加载额外的开销位。
    每个额外的开销都有助于创建脉冲序列,使时钟恢复变得更加容易,即使是最低层添加的开销主要目的是直接确保时钟恢复。
    在突发传输中,每个突发开始处的座位(比特间隔)被拒绝支付乘客。首先传输的脉冲序列被选择以产生大量的过渡,以允许非常快的时钟恢复。时钟的锁相在最短的时间内实现,并且所有后续的数据位都可以正确地重新生成。
    在连续传输中,没有这样的考虑,因为可以分配更长的时间来达到锁相(传输开始事件是一个罕见的事件,其持续时间对整体效率的影响可以忽略不计)。
    在非常短的链路和带宽过剩的极端情况下,有时使用 差分曼彻斯特 而不是 NRZ。
    差分曼彻斯特应该被视为极端情况。所需的信道带宽是原来的两倍,而信道容量没有增加,以换取出色的时钟恢复和其他优势(在接近 0 的频率处信号功率极低,以及对极性反转不敏感,恒定信号功率,...)。添加乘客的总额外费用为 50%,其中大部分可以归因于时钟。
    8b/10 编码 每 8 个位添加两个额外座位,主要目的是确保时钟可以在连续传输中轻松恢复。(在这种情况下,与添加两个非支付乘客的类比有点混乱,因为 10 位的整体组不是简单地添加两个新的位并保留原始的八个位:存在一些加扰。最初的 8 位乘客组在行程中无法识别,但到达时会重新创建)。时钟的额外费用占容量降低的 (10-8)/10 = 20%。
    64B/66B 传输码 是 8b/10b 的一个更新且开销更低的版本。它用于 快速以太网千兆以太网10 千兆以太网 标准。信道容量降低为 (66-64)/66 = 3%,但时钟只保证每 66 个位有 1 个额外的转换。时钟的额外费用可以计算为 1.5%。为了弥补 8b/10b 的一些优势,它总是与 加扰 一起使用,这在统计上减轻了它在直流平衡、行程长度和过渡密度方面的较低性能
    在大多数实际情况下,为了进行无错误时钟恢复而牺牲的信道容量降低范围从大于 10%(突发传输)到几个百分点(连续传输)
  7. 请求可以邮寄到:[email protected]。仿真程序以循环参数和输入信号特性作为输入,并以这些条件下“大信号”行为的表示作为输出,例如循环采集波形
华夏公益教科书