Basic Intro

基本概念

比较输出和输入的相位差的反馈系统,利用外部输入的参考信号控制环路内部的震荡信号的频率和相位,使得输出信号与外部参考信号同步

  • 相位:时延的相位表示Δϕ=Δt/T2π\Delta\phi=\Delta t/T*2\pi,一般比较时钟信号与参考信号在对应的有效瞬间(上升沿/下降沿)的时间差

  • 相位同步:又名时间同步、时间延迟同步,指时钟信号的有效沿(上升沿或者下降沿)同步,注意相位同步的信号可能频率相差整数倍

  • 频率同步:两个信号的变化频率相同,相位可以不一致

值得指出,PLL中常常考虑相位阶跃的响应

基本组成

image-20231107130012070

  1. VinV_{in}:晶振产生的标准时钟信号

  2. PD: Phase Detector,鉴相器

    比较输入输出相位差,产生监测信号VPDV_{PD},包含低频成分和高频成分

  3. LPF: Low Pass Filter,低通滤波器

    低通滤波VPDV_{PD}产生VcontV_{cont},低频分量较为稳定

  4. VCO: Voltage Controlled Oscillator,压控振荡器

    根据VcontV_{cont}改变VoutV_{out}频率,最终和输入同步,PLL进入锁定状态

    锁定状态相位差为 0,但存在 offset

主要应用

为什么不导线直接连接输入参考信号和输出?(why PLL?)

  1. 利用分频器:频率合成器

    image-20231107131140882

  2. 时钟恢复和数据重定时

    image-20231107131210407

PD鉴相器

理想:image-20231107132317523

利用异或门简单实现:image-20231107133055448

使用异或门近似的PD输出的VPDV_{PD}存在高频分量,VPD\overline{V_{PD}}才满足需求

串联LPF输出:即实现了取平均

注意:使用异或门,上升和下降沿都会存在脉冲凸起信号

PFD with CP

PFD&CP:鉴相鉴频器&电流泵

应用PFD&CP的PLL叫 CP PLL(电流泵锁相环)

image-20231107194233872

image-20231107194254613

PFD鉴相鉴频器

双端输出,UP/DOWN状态:加大/降低频率

能鉴别相位和频率,加速 PLL的锁定

PLL开始工作时,参考信号可能与输入信号偏差很大,但因为PD仅能检查相位偏差,其频率捕获范围较小,导致PLL需要逐步进入锁定状态 ,响应时间较长。

改进:使用鉴频鉴相器(Phase/Frequency Detector,PFD)

反馈的频率与输入频率不相等时,则鉴频鉴相器首先进行鉴频,通过比较反馈信号与输入的频差产生电压作用在电荷泵上,使LPF的输出电压改变。通过电压的作用使输出频率向输入频率逐渐逼近,直到两者频率相等,此时启动鉴相功能,逼近输入频率与输出频率的相位

image-20231107213207538

具体可以采用两个异步清零的D触发器和一个与门实现:

image-20231107213450451

  • A升高QA\to Q_A高电平
  • B升高QB\to Q_B高电平
  • QA&QBQ_A\&Q_B高电平 Reset QA&QB\to~Reset~Q_A\&Q_B

由于D触发器和与门内部存在延时,实际上可能会产生信号毛刺,带来不稳定性:选择在与门到RESET端再加一个delay(可以用多个反相器实现),进而消除竞争

这会让QA&QBQ_A\&Q_B都多出delay的高电平:没有关系,因为本来就要差分输出

CP电荷泵

PLL中关心的是QA&QBQ_A\&Q_B两者平均输出,所以需要将这两个输出经过低通滤波后,再作差分输出。但是更普遍的做法是在PFD和环路滤波器之间再插入一个电荷泵(Charge Pump, CP)电路来先进行双端转单端实现差分。

image-20231107214139930

  • I1I_1I2I_2被称为上拉电流和下拉电流,它们的额定值一般是相等的
  • QA=QBQ_A=Q_B,开关S1S2S_1和S_2均断开,VoutV_{out}保持不变
  • QAQ_A高,QBQ_B低,I1I_1CPC_P充电,VoutV_{out}升高
  • QAQ_A低,QBQ_B高,I2I_2CPC_P充电,VoutV_{out}降低

线性模型近似

image-20231107214745517

每个周期T,输出电压增加IPCPϕT2π\dfrac{I_P}{C_P}\phi \dfrac T {2\pi}\to最终输出电压Vout=otIPCP2πϕdtV_{out}=\int_o^t\dfrac{I_P}{C_P2\pi}\phi dt(单位时间增加电压对总时间的积分 )

Iout=Qoutt=VoutCPt=IP2π0tϕdtt=IP2πϕ\overline{I_{out}}=\dfrac{Q_{out}}{t}=\dfrac{V_{out}C_P}t=\dfrac{I_P}{2\pi}\dfrac{\int_0^t\phi dt}t=\dfrac{I_P}{2\pi}\overline{\phi}

TPFD&CP(s)=Ioutϕ=IP2π\Rightarrow T_{PFD\&CP}(s)=\dfrac{I_{out}}{\phi}=\dfrac{I_P}{2\pi},记作KPDK_{PD}

LPF低通滤波器

工作原理

实际上起到了一个求平均值的作用,把PD输出的高频信号消除,输出稳定的直流信号作为VCO的输入

具有滞后的特性:LPF牺牲了响应灵敏度,换取了响应稳定度

以PLL对相位阶跃响应为例:

image-20231107133159227

实际的 LPF常常采用二阶 RC电路来提升系统稳定性、减小输出电压的纹波

C2大约为 C1的 18110C_2大约为~C_1的~\dfrac 1 8\sim\dfrac 1 {10}

线性模型近似

HLPF(s)=VcontIin=1+sR1C1R1C1C2s2+s(C1+C2)H_{LPF}(s)=\dfrac{V_{cont}}{I_{in}}=\dfrac{1+sR_1C1}{R_1C_1C_2s^2+s(C_1+C_2)}

image-20231107215134025

VCO压控振荡器

其没有输入信号,但是可以持续产生一个周期性的电压信号输出,通常用于产生时钟信号,PLL中用于改变输出信号的相位

起振条件(巴克豪森准则)

震荡的必要条件,但不是充分的

目前还没有一个既是充分条件也是必要条件的简单振荡准则

  • 环路相移 n2πH(jw0)=π (n=1)n\cdot2\pi \to \angle H(jw_0)=\pi~(n=1)
  • 环路增益不小于1H(jw0)1 (0 dB)1\to|H(jw_0)|\ge1~(0~dB)

探讨:常见结构能否发生震荡?

image-20231109095735773

单级增益为负,负反馈带来环路phase shift 180°;一个极点至多90° phase shift

\Rightarrow理论上两级放大器相位条件满足震荡,但此时频率在第二极点十倍带宽外,幅值往往很小,低于单位增益,难以满足震荡的增益条件

环形振荡器

环形震荡器一定要奇数级吗?(单端的Yes,why???)

No!可以用全差分的偶数级

image-20231109100729628

增幅的震荡最终会饱和,而不会无穷增加:即实际震荡电路会和线性模型有偏差(随着振幅增加,系统非线性程度增加)

实际震荡频率为 f=12Tdelay,all=12NTdelay,cellf=\dfrac 1 {2T_{delay,all}}=\dfrac 1{2NT_{delay,cell}}

线性模型近似

image-20231109102040581

ϕout=ϕ0+wdt, w=w0+KVCOVcontϕout=ϕ0+wot+KVCOVcontdt\phi_{out}=\phi_0+\int wdt,~w=w_0+K_{VCO}V_{cont} \to\phi_{out}=\phi_0+w_ot+K_{VCO}\int V_{cont}dt

关心盈出相位ϕext=KVCOVcontdt\phi_{ext}=K_{VCO}\int V_{cont}dt

TVCO(s)=ϕextVcont=KVCOsT_{VCO}(s)=\dfrac {\phi_{ext}}{V_{cont}}=\dfrac{K_{VCO}} s

电路实现

image-20231109104111481

TdelayT_{delay}本质就是RCRC充放电延迟,RonVcontR_{on}和V_{cont}相关

简单的Delay Cell会导致输出共模电平和VcontV_{cont}相关,可改进偏置结构解决

image-20231109104424240

钳位PXY点电压和VrefV_{ref}一致(共模输出电平IR drop相关,I和R都和VcontV_{cont}相关抵消)

VcontV_{cont}同时控制IssI_{ss}大小实现Voltage control: fosc1Ron3,4CLIss(VDDVref)CLf_{osc} \propto \dfrac 1 {R_{on3,4}C_L} \propto \dfrac {I_{ss}}{(V_{DD}-V_{ref})C_L}

三阶CPPLL稳定性设计

总结PLL的结构和线性模型:image-20231110210804354

  • PFD&CPPFD\& CP:将相位信号转化到电流信号
  • LPFLPF:将电流信号转化到电压信号
  • VCOVCO:将电压信号转化到相位信号
  • DividerDivider:分频器,形成相位信号反馈

Loop gain G(s)=1NIp2π1+sR1C1R1C1C2s2+s(C1+C2)KVCOsLoop~gain ~G(s)=\dfrac 1 N\dfrac{I_p}{2\pi}\dfrac{1+sR_1C1}{R_1C_1C_2s^2+s(C_1+C_2)}\dfrac{K_{VCO}}s

Close loop T(s)=ϕoutϕref=NG(s)1+G(s)Close~loop ~T(s)=\dfrac{\phi_{out}}{\phi_{ref}}=\dfrac{NG(s)}{1+G(s)}

Bode plot针对open loop gain G(s)G(s):存在两个原点处极点p1,2=0p_{1,2}=0,一个LHP极点p3=C1+C2R1C1C2p_3=-\dfrac{C_1+C_2}{R_1C_1C_2}和一个LHP零点z1=1R1C1z_1=-\dfrac 1 {R_1C_1}

在设计PLL时候往往为了稳定性,使得unit gain frequency处PM最大

image-20231110212039839

值得指出:零点处有两个极点直接带来-180°phase shift,但不意味不稳定

PM=ππ22+arctan(wz1)arctan(wp3)=arctan(wz1)arctan(wp3)PM=\pi-\dfrac \pi 2 *2+arctan(\dfrac w {z_1})-arctan(\dfrac w {p_3})=arctan(\dfrac w {z_1})-arctan(\dfrac w {p_3})

PM对ww求导,得到极值点在w=p3z1w=\sqrt{p_3z_1}处取到,希望此处G(s)=1G(s)=1

设计时:对于给定的PMmaxPM_{max}和带宽wuw_u,求解LPFR1,R2,C1LPF的R_1,R_2,C_1

arctan(wuz1)arctan(wup3)=PMmaxarctan(\dfrac {w_u} {z_1})-arctan(\dfrac {w_u} {p_3})=PM_{max}

p3z1=wu\sqrt{p_3z_1}=w_u, p3=C1+C2R1C1C2p_3=-\dfrac{C_1+C_2}{R_1C_1C_2}, z1=1R1C1z_1=-\dfrac 1 {R_1C_1}

G(s)s=wu=1G(s)|_{s=w_u}=1

求解上述方程即可,具体使用MATLAB脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
clear
wu=2*pi*0.8e6;%带宽,单位:rad/s
pm=60/180*pi;%相位裕度,单位:rad
N=10;%最大分频比
Icp=44e-6;%电荷泵充放电电流,单位:A
Ios=0;%电荷泵失调电流,单位:A
Kpd=Icp/2/pi; %鉴频鉴相器增益
Kvco=250e6*2*pi;%压控振荡器增益,单位:rad/s/V
wp=wu*cos(pm)/(1-sin(pm));%计算出极点,单位:rad/s
wz=wu^2/wp;%计算出零点,单位:rad/s
C2=1/N*Kpd*Kvco/wu^2*sqrt(wz/wp) %单位:F
C1=(wp/wz-1)*C2 %单位:F
R1=1/C1/wz %单位:欧姆

Phase Noise相位噪声

Basic Concepts

频率偏移Δf\Delta f下的1HZ带宽内噪声能量与中心频率f0f_0下的1HZ带宽内噪声能量的比值

dBc form: SΦ(Δf)=10log(PΔfPf0)S_{\Phi}(\Delta f)=10log(\dfrac{P_{\Delta f}}{P_{f_0}})

在时域上使用时间抖动(Jitter)衡量相位噪声

  • 周期抖动(Cycle-Jitter)

    image-20231121170435583

    计算{Δtk}\{\Delta t_k\}的均方根

  • 周期周期抖动(Cycle-Cycle Jitter)

    image-20231121170528538

    计算自身周期间ΔT2ΔT1\Delta T_2-\Delta T_1,无需参考时钟

Jitter和SΦ(Δf)S_\Phi(\Delta f)存在数学对应关系:

A=0SΦ(f)dfA=\int_0^{\infty}S_{\Phi}(f)df,一般实际计算1HZ到几十MHZ的积分即可

Jitter=210A/102πf0\overline{Jitter}=\dfrac{\sqrt{2\cdot10^{A/10}}}{2\pi f_0}

这是哪一个Jitter????

相位噪声仿真计算

  1. Transient仿真后,构建眼图,计算系统Jitter

    系统自带的误差,类似offset,未考虑器件噪声

  2. Transient Noise 仿真后,构建构建眼图,计算系统+噪声Jitter

    考虑器件噪声,仿真计算综合Jitter,但不好分析某一部分的影响

  3. Pnoise模块仿真+传递函数

    分析各个模块对输出Jitter的影响,good!

具体分析步骤:

image-20231121172448175

image-20231121174132657

image-20231121174140859

image-20231121174155895

具体仿真举例:image-20231121174242390

可以看到,OUTPUT处的主要的相位噪声来自于VCO模块

DLL

Delay Locked Loop延时锁定环:一种PLL的变形,实现对特定延时时间的锁定(即产生特定的精确延时delay)

由鉴相鉴频器、电荷泵、LPF、压控延时线(VCDL)组成

基本工作原理

image-20231121184006463

  • Φin\Phi_{in}ΦinΦin\Phi_{in}\Phi_{in}经过VCDL产生N个DelayCell后的Φout\Phi_{out}

  • Φout&Φin\Phi_{out}\&\Phi_{in}经过PFD&CP、LPF后产生VcontV_{cont}作为VCDL的电压控制,形成负反馈:Φout相位滞后Φin\Phi_{out}相位滞后\Phi_{in}VcontV_{cont}使得VCDL延时减少,进而Φout\Phi_{out}相位逼近Φin\Phi_{in},反之亦然

  • 最终Φout\Phi_{out}ΦinΦin\Phi_{in}\Phi_{in}相位一致:Ntdelay,cellNt_{delay,cell}TclkT_{clk}精确相等

    此时取出VcontV_{cont}+一个DeLay Cell可以形成精确的TclkN\dfrac{T_{clk}}{N}的延时单元

小信号模型

image-20231121184014979

G(s)=KPDKLPFsKVCDLG(s)=K_{PD}\cdot \dfrac{K_{LPF}}s\cdot K_{VCDL}:一阶系统,无条件稳定!

与CPPLL不同,LPF只用一个电容实现,且VCO替换成了VCDL

无Jitter积累???

Delay Cell&VCDL Implement

Current-starved 反相器实现Delay Cell的拓扑及VCDL实现

image-20231121184425916

偏置电路新增gate连接VDD&GND的NMOS&PMOS:使bias的管子拓扑与右侧delay cell一致,工作状态更接近

VctrlV_{ctrl}增大,电流镜电流增大,使得每个cell delay的时间下降,形成一一对应关系

数集知识???