相位检测器(PD):乘法器PD、异或PD、鉴频鉴相器(PFD)
好了,咱们进入第四章。相位检测器,说白了就是CDR环路的“眼睛”——它负责比较输入数据和本地时钟之间的相位差,甚至频率差。这一章我把三种最常见的PD结构掰开揉碎讲清楚:乘法器PD、异或PD、还有最常用的鉴频鉴相器(PFD)。我个人习惯先在纸上画个对比表,再往下推细节。
4.1 乘法器PD(模拟乘法器鉴相器)
工作原理其实很简单:把输入信号和本地时钟做乘法。假设信号是 sin(ωt+θ),时钟是 cos(ωt),乘法后得到:
V_out = sin(ωt+θ) · cos(ωt)
= ½[ sin(2ωt+θ) + sin(θ) ]
后面接个低通滤波器,把高频分量 sin(2ωt+θ) 滤掉,剩下直流项 ½ sin(θ)。输出平均电压和相位差的正弦成正比——这就是正弦鉴相特性。
输出特性:线性范围大概在 ±π/2 以内,超过这个区间,增益就开始非线性收缩。你想想看,如果相位差靠近 ±π,输出几乎为零,环路就会“假锁定”。我在项目中遇到过这种场景:某款光模块用乘法器PD,结果失锁后一直锁在边界,眼图惨不忍睹。
4.2 异或PD(XOR鉴相器)
这是数字电路里最简单的PD。两个输入都是方波,经过异或门输出。当两个信号的相位差为0时,输出始终为0;相位差为π时,输出恒为1;相位差为π/2时,输出占空比50%,平均电平正好是中间值。
输出特性:平均电压和相位差呈三角波关系,线性范围正好是 π(180°)。频率相同的情况下,它不会像乘法器PD那样在边缘出现增益坍塌。不过,它没法区分频率差——你把不同频率的信号送进去,输出会乱跳,不产生有效直流。
所以异或PD只适合时钟恢复(比如时钟数据都已知的场景),不适合真正的随机数据CDR。
4.3 鉴频鉴相器(PFD)
PFD是CDR里最主流的PD,没有之一。它不仅能检测相位差,还能检测频率差——这一点在环路启动和频偏校正时至关重要。
工作原理:经典的PFD有三个状态:UP、DOWN、复位。它用两个D触发器分别检测参考时钟和反馈时钟的上升沿。哪个先来,对应的输出(UP或DOWN)就拉高;等第二个上升沿到来后,两个信号同时复位。说白了就是“先到先得”,再一起清零。
状态转移表:
| 当前状态 | 参考上升沿 | 反馈上升沿 | 下一状态 | UP | DOWN |
|---|---|---|---|---|---|
| 复位 | 到来 | 未到 | UP | 1 | 0 |
| 复位 | 未到 | 到来 | DOWN | 0 | 1 |
| UP | 忽略 | 到来 | 复位 | 0 | 0 |
| DOWN | 到来 | 忽略 | 复位 | 0 | 0 |
| UP/DOWN | 同时 | 同时 | 复位 | 0 | 0 |
输出特性:相位差在 ±2π 范围内,平均输出与相位差呈线性锯齿波,增益稳定。频率差存在时,UP/DOWN脉冲的占空比会偏向一侧,产生净直流,迫使VCO向正确频率牵引。
现代PFD都会在复位路径上插入等延迟的反相器链来消除死区。另外要留意:PFD是边沿触发器件,对输入信号占空比不敏感,非常适合随机数据流——这也是它统治CDR领域的原因。
4.4 三种PD的对比
下面这张SVG图我把三种PD的核心特性画在一起,方便你对照:
4.5 选型速查表
最后给一张对比清单,方便你备案:
| 参数 | 乘法器PD | 异或PD | PFD |
|---|---|---|---|
| 电路类型 | 模拟 | 数字 | 数字 |
| 输入波形要求 | 类正弦 | 方波,占空比50% | 方波,边沿触发 |
| 鉴相线性范围 | ±π/2 | ±π | ±2π |
| 能否鉴频 | 否 | 否 | 是 |
| 死区风险 | 无(连续输出) | 无(连续输出) | 有(需延迟匹配) |
| 对数据模式敏感 | 是(需要持续跳变) | 是(需要50%占空比) | 否(边沿敏感) |
| 常用场景 | 锁相环/混频器 | 时钟恢复(非CDR) | CDR主环 |
嗯,关于PD这部分就聊到这儿。下一环节我们会把PD的输出信号送进环路滤波器,看看它怎么变成控制电压。不过现在,你先把三种PD的差异记在脑子里——每选一种,都问问自己:这个数据流的跃变密度够不够?频率偏移有多大?只要扣住这两个点,就不会选错。