时钟和数据恢复/缓冲内存(弹性缓冲器)
外观
< 时钟和数据恢复
CDR 功能主要是一个第 1 层功能,从OSI 参考模型的角度来看。
在 CDR 应用的范围内,电信缓冲器进一步专门化,仅仅是在串行数据流中添加一个方便的延迟。
原则上,这种缓冲器由一个具有循环顺序地址的读/写内存和两个计数器组成。
写入计数器对传入的串行信息流的写入到内存进行计时,读取计数器依次设置读取操作的计时。
通常,缓冲内存可用于吸收延迟或仅延迟变化(漂移和/或抖动),这些变化由通过物理介质传输、软件精细化或其他类型的延迟产生。
如果缓冲器旨在吸收由于沿传输路径传输而产生的延迟变化(即:设计为吸收漂移和/或抖动),
那么它的大小以字节(或位)计较小,
写入和读取时钟之间相位关系的控制更加精确,
并且它的名称专门称为“弹性缓冲器”。
一个加法器比较两个计数器的内容,计算两者之间的差异。
它的输出指示两个时钟信号的相对相位,与PLL 的相位比较器的输出非常相似。
- 在系统启动时,写入计数器设置为 0,读取计数器设置为内存深度的一半。
- 如果读取计数器的初始值设置为小于内存深度的一半,那么可能不会使用整个内存,并且通过弹性缓冲器的传输延迟可能更短。
- 当缓冲器深度较小时(几个位或几个字节),弹性缓冲器可以只是一个移位寄存器,它
- - (使用写入时钟)写入第一个触发器;
- - (使用读取时钟)从对应于读取到写入时钟之间的延迟(以周期数计)的寄存器中读取。
弹性缓冲器随时间运行的操作在下图中进行了草图描绘
传入脉冲流中转换的延迟(=相位)相对于平均传输延迟是抖动的。
缓冲器添加一个互补延迟,以便抖动延迟加上缓冲器延迟在任何时候都是一个恒定量。
缓冲器深度(=寄存器长度)等于预期的最大峰峰值抖动(再加上一些裕度)。
在时间图中,弹性缓冲器添加的延迟是一条曲线,垂直镜像了传入脉冲流转换的抖动(=延迟)。
镜像位于等于平均传输延迟(再加上一些小的裕度)的延迟处。
弹性缓冲器的一种特殊情况是“相位对准器”。
- 相位对准器是在单个时钟域内使用的弹性缓冲器。恢复写入时钟的 CDR 通常实现为1 阶 PLL。
- 一个更正式的定义,不提在单个时钟域内运行,可以是
- 相位对准器是一个缓冲内存,它移动接收信号的相位,使其与参考时钟的相位匹配。.