第二节 鉴频鉴相器(PFD)设计
好,咱们今天聊聊PFD。这东西在锁相环里,说白了就是个“裁判”。它负责比较参考时钟和反馈时钟谁快谁慢,然后输出一个信号去调整VCO。我刚开始做PFD那会儿,总觉得这玩意儿简单,不就是个相位比较嘛。结果第一次流片回来,锁相环死活锁不住,查了三天才发现是PFD的死区问题。嗯,从那以后我再也不敢小看它了。
一、PFD的工作原理与状态机
PFD的核心是一个三状态有限状态机。哪三个状态?UP、DOWN和IDLE。我习惯用下图来理解它的工作逻辑:
你看这个状态机:
- IDLE状态:UP和DOWN都是0,啥也不干。这是默认状态。
- UP状态:REF时钟先来了,说明反馈信号慢了,需要加速。UP输出高电平脉冲。
- DOWN状态:FB时钟先来了,说明反馈信号快了,需要减速。DOWN输出高电平脉冲。
当REF和FB同时到达上升沿时,状态机直接回到IDLE。这个设计很巧妙,你想想看,它天然就避免了误判。
关键点:PFD的鉴相范围是-2π到+2π,比简单的鉴相器宽了一倍。这意味着它不仅能鉴相,还能鉴频。锁相环能锁定,全靠这个特性。
二、死区问题与消除技术
死区,这是PFD设计里最坑的地方。什么叫死区?就是当REF和FB的相位差非常小的时候,PFD可能根本检测不到这个差异,直接输出0。锁相环就会在那里“发呆”,相位噪声急剧恶化。
我在项目中遇到过这种情况:锁相环锁定后的相位噪声曲线,在低频处有个奇怪的凸起。查了半天,发现是PFD的死区导致的。当时那个项目赶进度,差点就带着这个bug流片了。
为什么会这样?说白了,是PFD内部逻辑门的延迟在作祟。当相位差小于某个阈值(比如几个反相器的延迟),UP和DOWN脉冲还没传到输出端就被复位了。
消除死区的标准做法:
- 插入延迟单元:在复位路径上故意加几个反相器,让复位信号晚到一会儿。这样即使相位差很小,UP和DOWN也能产生足够宽的脉冲。
- 使用动态逻辑:有些设计用动态D触发器替代静态逻辑,可以大幅降低最小可检测相位差。
- 预充电技术:在PFD输出端预充电到中间电平,让后续的电荷泵更容易响应。
我的经验:延迟单元的数量不是越多越好。加太多,PFD的鉴相范围会缩小,而且会引入额外的抖动。我一般控制在3-5个反相器延迟,具体要看工艺库的延迟参数。
三、电荷泵与PFD的配合
PFD输出的是数字脉冲,电荷泵需要把这些脉冲转换成模拟电流。这两者的配合,直接决定了锁相环的线性度。
我见过不少新手设计师,PFD和电荷泵分开设计,最后联调时发现根本对不上。你想想看,PFD的UP脉冲宽度和电荷泵的开关时间如果不匹配,就会出现电流失配。
配合要点:
- 时序对齐:PFD的UP和DOWN脉冲必须严格对齐到电荷泵的开关控制信号。我习惯在PFD输出端加一级buffer,用来补偿电荷泵开关管的延迟。
- 电流匹配:电荷泵的上拉电流和下拉电流要尽可能相等。失配会导致锁相环的静态相位误差。
- 开关噪声:电荷泵开关瞬间会产生很大的电流尖峰。PFD的脉冲宽度要足够宽,让电荷泵有足够的时间建立稳定的电流。
| 参数 | PFD要求 | 电荷泵要求 | 配合建议 |
|---|---|---|---|
| 脉冲宽度 | 最小可检测相位差决定 | 开关建立时间决定 | 取两者最大值+20%裕量 |
| 上升/下降时间 | 越快越好 | 需要匹配 | 控制在50ps以内 |
| 输出阻抗 | 高阻(数字输出) | 低阻(电流输出) | 加一级源极跟随器隔离 |
注意:我曾经遇到过一个问题——PFD的UP和DOWN脉冲在相位锁定后仍然有微小的宽度差异。这个差异会被电荷泵放大,导致锁相环输出频率有固定的偏移。解决办法是在PFD内部加一个“最小脉冲宽度”限制,确保UP和DOWN在锁定状态下宽度一致。
四、PFD的噪声特性
PFD的噪声,很多人不重视。觉得它就是个数字电路,能有多大噪声?其实不然。PFD的噪声会直接贡献到锁相环的带内相位噪声。
噪声来源主要有三个:
- 热噪声:来自MOS管的沟道热噪声。在PFD翻转的瞬间,这个噪声会被采样到输出。
- 闪烁噪声:低频段的1/f噪声。PFD的输入参考时钟如果频率较低,闪烁噪声的影响会很明显。
- 电源噪声:数字电路对电源波动很敏感。PFD的电源纹波会直接调制到输出脉冲上。
我个人的习惯是,在PFD的电源引脚上加一个RC滤波器,截止频率设在1MHz左右。这样既能滤除高频电源噪声,又不会影响PFD的正常工作速度。
降低PFD噪声的设计技巧:
- 使用差分结构:差分PFD对共模噪声有很好的抑制能力。代价是功耗和面积翻倍。
- 优化晶体管尺寸:输入级的管子尺寸要足够大,降低热噪声。但也不能太大,否则寄生电容会拖慢速度。
- 避免亚阈值区:PFD内部的逻辑门要确保工作在饱和区或线性区,避免进入亚阈值区。亚阈值区的噪声会急剧增大。
一句话总结:PFD的噪声贡献通常在锁相环总噪声的10%-20%左右。虽然不算主导,但如果你追求极致的相位噪声性能(比如-160dBc/Hz@1MHz),PFD的噪声就必须认真对待。
好了,关于PFD的设计,核心就是这些。状态机理解清楚,死区问题处理好,和电荷泵的配合做到位,噪声控制得当,你的PFD设计就基本过关了。下次咱们聊环路滤波器,那又是另一个有意思的话题。