本文是学习bilibili上up主(jrilee讲电路)的PLL课程时记的笔记:锁相环 PLL 第1讲 盘古开天 Introduction_哔哩哔哩_bilibili
目录:
目录
锁相环的应用
频率合成
如果想要信号不受周围信号的干扰,那么1MHz的频率间距就要相差60dB才行。
如果想要相邻频道的频率低于60dbc,只有PLL能做到,滤波器做不到,因为滤波器首先频率不够精准,其次成本太高。
CDR
当一个干净的信号经过一段距离的光纤之后,信号会变成模糊的,有很多噪声的。需要将输入数据的时钟提取出来,再重新采样,并做数据恢复,最后得到一个干净的信号。
频率调变
如图,想要一个频率随时间缓慢变化的三角波。
雷达或时钟同步
简单PLL(异或门)
结构
使用一个相位检测器(异或门)实现检测相位差的目的,输出电压的平均值与相位的关系曲线如图所示,在0到π范围内,输出电压的平均值与相位成正比。曲线是成周期性的。
缺点:无法分辨正负,因为0和2π对应的输出电压的平均值都是0。其可操作的范围有限,超过这个范围无法检测。
将异或门连成一个PLL系统。首先,异或门检测相位差,进而产生输出电压的平均值V1,V1经过滤波器后输送给VCO产生一个频率ω1,该频率与PLL输入频率一致,实现频率锁定。
当VCO产生的频率高于PLL输入频率时,鉴相器会进而检测其相位差,产生VCO的控制电压,如此反复,直到最终频率降至ω1。
缺点:该电路可以实现频率锁定,但是无法实现相位锁定,只知道相位差,无法知道锁定频率的相位是多少。
工作原理
当输入相位发生突变,频率保持不变时,工作状态如下图。
输入相位:频率的积分就是相位,所以输入相位起初的斜率不变,当遇到突变时,发生阶跃,阶跃之后斜率仍然保持不变,因为频率不变。
PD输出电压:原本的PD脉冲维持着固定的输出电压,对应固定的VCO频率,遇到阶跃时,相位差突然拉大,将VCO输出频率拉高,所以相位差会随着时间的推移逐渐减小,在N个周期以后回来原来的脉冲宽度。
Vctrl:PD脉冲宽度对应不同的Vctrl,起初,Vctrl保持不变,突变时,Vctrl随着PD脉冲宽度的突然增大而增大,之后随着PD脉冲宽度的减小而减小,最终回到最初值。
输出频率:VCO根据Vctrl对应频率,所以频率的变化与Vctrl保持一致,最后回到最初值。
当频率发生突变时,工作原理如下图:
输入相位:频率的积分对应着相位,起初频率比较低,所以相位的斜率也比较低,频率突变后,相位的斜率变大,但是斜率也是一个固定着。
PD脉冲:起初的PD脉冲宽度很窄维持着很低的频率,当频率发生突变后,PD脉冲宽度逐渐增大,追逐输入频率,经过N个周期以后,VCO频率达到最大值甚至超过输入频率,PD脉冲也达到最宽值,之后逐渐减小至某一宽度。值得注意的是,PD脉冲的最终宽度是比起初宽度宽的,这跟上一个案例的情况不一样,因为PD脉冲宽度对应着最终的频率,输入频率加宽了,所以最终PLL输出频率也加快了,所以PD最终宽度比起初宽度要宽。
Vctrl:跟随脉冲宽度,在频率突变后,Vctrl逐渐增加追逐输入频率,甚至超过输入频率,经过一段时间后,最终达到稳定值。Vctrl的最终值也比起初值要高。
输出频率:输出频率跟随Vctrl。
简单PLL最终的PD脉冲宽度可能与起初不一致,这个宽度是系统自己调节的,无法检测出来,所以简单PLL无法锁定相位。
小信号模型
简单PLL的框架图如图所示,假设分析的小信号是相位,频率也可以用来分析,因为频率的积分就是相位。
输出相位就等于对VCO的输出频率做积分,VCO的输出频率就等于Kvco×Vctrl,即可得到1式。
1式是在时域上进行分析的,将其转化到频域上,即对1式做拉普拉斯变换即可得到2式。得到了VCO的传输函数。
写出PLL的传输函数关系式,输入相位差×PD的系数Kpd×低通滤波器传输函数×VCO传输函数=输出相位。整理化简可以得到传输函数表达式,这个表达式类似一个二阶的低通滤波器。
将其写成标准的二阶低通滤波器标准形式,得到其共轭极点的表达式。
当ζ>1时,两个左半平面的实根
当ζ=1时,两个根重合
当ζ<1时,共轭虚根
简单PLL的ζ与自然角频率的乘积=1/2低通滤波器的转角频率,相当于是一个固定值,导致有些性能指标之间存在折中,比如锁定速度和jitter之间。
折中
当简单PLL的输入频率发生突变时,输出频率表达式见下图,输出频率与传输函数中的阻尼系数和自然角频率有关。
当阻尼系数小于1的时候,对于输入频率的跳变,输出频率会出现振铃。
当阻尼系数大于1的时候,输出会缓慢的跟随输入频率的变化。
如果滤波器转角频率上升,那么系统会很快稳定,但是自然角频率的上升意味着滤波器的带宽增加,这会导致很多噪声无法有效滤除,jitter。
如果滤波器转角频率下降,那么系统稳定的时间过长。并且存在稳定性问题。所以简单PLL存在着非常紧密的折中关系,导致其应用范围较小。
电荷泵PLL
简单PLL存在诸多缺点
1、在锁定时间和jitter之间有很紧密的折中关系
2、不知道输入与输出相位之间的具体值
3、稳定性有限
4、准确性有限,不知道什么时候会锁定
电荷泵PLL拥有以下优点
1、系统设计有更多可优化的空间,不像简单PLL锁定时间与jitter绑定跟紧密
2、锁定的时候相位为0
3、无限的操作范围,PFD既可以检测频率也可以检测相位。
PFD
结构如图所示,有两个D触发器和与门组成。D触发器输入都接VDD,A和B分别是两个时序脉冲。当A先高电平时,QA输出高电平,B高电平时,QB输出高电平,此时,与门会将两个D触发器重置,QA和QB都被重置为低电平。
将QA和QB对应上拉网络和下拉网络的电流,那么中点位置的输出电压随相位差的变化曲线如图所示。该电路的关系图是非周期的,说明该电路能够检测正负,所以不仅可以检测频率,还能够检测相位。
下图是PFD的一个具体电路实现,应用比较广泛,设计比较简单。
PFD:有很多很多的实现方法,广泛应用,同时锁定频率和相位,可以吞掉额外的周期(下一副图详细介绍)
下图是PFD的工作时序图,假设B落后A很多,那么QA就会比QB宽很多,当出现A两个上升沿才遇到B一个上升沿时,也没有关系,会保持AB同时上升重置的原理,吞掉一个A的脉冲信号。但是随着PFD输出电压的提高,B的频率会追赶A,B的频率越来越快,最后追上A。
电荷泵CP
原理
将PFD出来的QA和QB分别控制两个开关的导通时间,那么就可以实现将电压线性的转化成电流,电荷泵的输出电压再去控制VCO。时序图如下图,当B比A慢时,QA比QB宽,IP>IN,那么Vctrl就会逐渐增加,控制VCO频率逐渐增加,使B的追赶A。
存在的问题
Phase error
Binary PD(只有0和1状态,相位差>0时,IOUT是正的固定值,相位差<0时,IOUT是负的固定值)和线性PD都存在盲区,在这片区域内,检测不出来相位的快慢,系统不知道该增加频率还是该减小频率,因此,都会变成jitter。
电荷泵PFD不会出现上述情况,因为两个D触发器的周期是完整的,一个会等另一个的到来,所以不会出现上述的盲区。
但是如果IN≠IP,即使两个脉冲宽度一致,也会导致存在IOUT,引起相位误差。这个IOUT会将B的频率拉高一点点,使B的脉冲宽度更宽一点点,才能弥补IN比IP少的那点,所以最终的锁定是在横坐标轴上。
Internal Skew
由于QA和QB的输出要驱动NMOS或者PMOS开关,因此其还需要进行反相之后再连接CP,但是这就会导致脉冲存在延迟,导致Vctrl呈现周期性的抖动。可以在QB输出端加一个传输门,这样可以弥补一部门的延迟,但是也不可能做到完全一致。
上述情况反应在频率上,就是在中心频率的两边会出现两个尖峰,即杂散,实际应用过程中,就要使中心频率的峰值比小尖峰高NdBc。
Current mismatch
当电流源不匹配时,如IN<IP,则在锁定时,QB的脉冲会比QA提前,以保证IOUT最终与开始一致。也会导致Vctrl的抖动以及ref spur。
实例
CP1
1、当开关关掉的时候,M2和M3的Vgs是固定的,所以M2漏极只能是VDD,M3漏极只能是GND,当开关开启的时候,首先要对这两个节点的电容进行充放电,之后才能进行脉冲操作,因此Vctrl会有抖动。
2、当关断的时候M2和M3快进入三极管区,导致漏极电位不同,只有将M2和M3的尺寸做的比较大才能缓解,但是尺寸较大意味着寄生点电容大,那么如第一点所讲的首先需要对寄生电容进行充放电,建立起正确的电压,之后才能继续进行将脉冲转化成电流的操作。
CP2
将开关远离M2和M3公共漏端,避免晶体管处于线性区。所以在下图这种情况下,晶体管只处于饱和区或者关断。当M2和M3都关断的时候,Vctrl悬空,保持上一个周期的状态。
优点:jitter低
缺点:开关的导通关闭,会通过寄生电容对晶体管栅极造成影响。
CP3
将两个开关放在NMOS和PMOS的两端,如下图,从一个电流源复制两个电流到NMOS和PMOS所在支路,M1-M3用于模拟两个开关的导通电阻,这样mismatch会做的比较好。
CP4
上面三种电路都存在一个问题,输出电压只要保证所有晶体管处于饱和区,所以Vctrl的摆幅是0.2VDD-0.8VDD之间,摆幅超过VDD/2。在这个范围内,还是会受到沟道长度调制效应的影响,导致镜像到开关管支路的电流大小不相等。
下图电路是为了保证I1=I2,当PLL锁定时,QA和QB产生的脉冲宽度一致,UP和DOWN同时导通,且电流大小一致,所以Vctrl没有变化,VP保持不变。
当UP和DOWN同时关闭时,左边支路打开,检测中间电压VQ并反馈到I2,强制VQ与VP相等。假设I1>I2时,VQ>VP,那么I2增大与I1大小一致。最终VP=VQ,I1=I2。
CP5
同样也是为了解决由沟道长度调制效应造成的电流大小不一致,假设由于电流沟道长度调制效应导致Vctrl很高的时候,PMOS晶体管的电流变小,那么只要想办法让PMOS的Vgs拉大,弥补电流变小的那部分即可。(这里只画出UP的控制端,DOWN的控制端也一样)
原理:Vctrl增大时,Vo也增大,因为这两个电压需要保持一致,但是I1是固定值,Vo增大会导致M1电流减小,因此M1会通过将V1电压拉低来弥补,使M1电流=I1。
同理,I2是固定值,V1的降低会导致M2电流变大,因此M3电流减小,V2增大。
同理,I3是固定值,V2的增大会导致该支路电流减小,那么V3降低来增加另一支路的电流。那么就达到了将PMOS的Vgs拉大的目的。且电流变化刚好弥补由于沟道长度调制效应导致的电流减小。
CP原本的Vctrl与Iout的关系图如虚线,这个电路实现的如实线所画,减轻了沟道长度调制效应的影响。
行为级建模
下图为较为简略的PLL建模,输出相位差经过PFD+CP线性的变成电流,电流经过电容转换成电压,控制VCO,最终输出相位。
写出传输函数,是一个二阶低通滤波器形式,有一对在虚轴上的共轭根。说明系统无法稳定。只有根都在左半平面才能稳定。
加入一阶滤波器和分频器,分频器的频率除以M,所以其相位也是除以M,写出传输函数,也是二阶低通滤波器形式。
其拥有一对共轭极点,当ζ>1时,极点在实轴上。当ζ<1时,共轭虚根。
当ζ>>1时,过阻尼的。当ζ≈1时,临界阻尼。
参考频率应远远大于环路带宽以保证连续时间近似
将PFD+CP和LPF以及VCO看成一个整体,看成一个增益为A的运放。
那么增益A见下图,0dB处有两个极点,还存在一个左半平面的零点,画出波特图,一开始增益以-40dB每十倍频往下掉,到了零点处以-20dB每十倍频。相位裕度为90度。
当Kvco*Icp变小时,增益下降,那么相位裕度会减小,稳定性下降。
当Kvco太大时,Vctrl变动一点点就会导致VCO频率变动很多,Vctrl的抖动变成jitter,或者spurs。
Icp一般做的比较小。
基于运放的CP设计
将PFD输出的电压直接通过电阻转换成电流再经过滤波器输送给VCO,传输函数跟上面的几类PLL类似,但是其引入了运放,运放本身会有noise。
LPF
滤波器类型
滤波器如下图,一阶滤波器Vctrl有较多ripple,引入较大的jitter。二阶滤波器C2不能影响整个环路原来的性能,所以C2远远小于C1,一般小于C1的5%左右,三阶滤波器可以更有效的滤除ripple,使Vctrl更加的纯净,但是需要满足频率的依赖关系。首先VCO的频率是最高的,经过分频之后反馈给PFD,所以输入频率比VCO频率低,R2和C3组成的滤波器要想有效滤除噪声,就要是其带宽小于输入频率,这样可以有效滤除噪声。整个PLL的带宽,需要比上述所有频率都低,这样才能保证输出频率能够追上输入。
实例:二阶滤波器之后的Vctrl的表达式如下,是一个二阶的低通滤波器形式。那么可以用两个CP将I1和I2分开,也可以达到二阶低通滤波器的效果,缺点就是引入了一个运放。
二阶滤波器存在的问题就是,电容C1通常比较大,几十pF或者几百pF,导致面积较大,如果面积大到一定程度,就只能做片外电容,但是片外电容会引来连接的复杂性以及一些不可控因素,因此一般尽量在片内,这样设计出来的各种指标跟仿真结果比较接近。
大电容的做法
MOM,通过金属与金属之间的电容做,一般可以实现1fF/um2,电容值是固定的,可以工作在高频,但是与地相邻的金属层会与地产生bottom plate cap,如图,A与B之间的是金属间电容,B与地之间是寄生电容(寄生电容大概是金属间电容的25%~30%),A点与B点的寄生电容不对称。因此MIM电容的两端A与B的接法不能随便接,需要做一定的考量。
MIM电容,在工艺中只需要多加一道光照的工艺就可以实现,1.5~2fF/um2,电容值是固定的,但是也存在跟MOM电容一样的bottom plate cap。
Fringe Cap,由很多个长条的金属作叉指状,截面图如图所示,每个长条与周围四个金属长条都能形成电容,增加了电容的密度,可以实现2fF/um2,可工作在高频,并且在A点和B点都形成bottom plate cap,寄生电容是对称的。
MOS电容,将晶体管源漏体都连接地,实现5~10fF/um2。不能工作在高频,并且电容值是一个变化值,并不是一个固定值。A点的电压不能太低,因为要在MOS中形成沟道,也不能太高,因为可能会对栅氧化层造成击穿,在25nm工艺下,超过0.8V就有可能造成击穿。
二阶滤波器的C1不能使用MOS cap,因为电容的顶端电压由可能比较低,导致MOS电容无法形成沟道。还有这里需要的电容是固定值,而MOS电容是变化值。
电容倍增
使用一个运放,可以实现将等效点饿欧诺个扩大n+1倍的放大,大大减少了面积成本。
CP PLL优点
1、可以检测相位,非常清晰的相位关系
2、jitter小
3、设计参数比较多,因此可从各个维度去优化PLL
4、已经经过几十年的研究,并且证实,利于学习
噪声传输函数
PLL最终产生的是周期性的信号如方波,那么在这个过程中所有的噪声都最终会体现到输出方波的抖动上,即jitter。在一个周期内,经过某一横坐标的点的所有值最终累计起来呈现正态分布,可以用于分析时域上的噪声分布情况。
Jitter主要来源有两部分,一部分是输入信号本身的噪声,另一部分是PLL电路产生的噪声。而电路中产生噪声的最主要的部分就是VCO。因为VCO每个周期工作不会清0重置,噪声会累加。
假设输入噪声是φin,VCO的噪声是φvco,分别求各自单独作用时的传输函数,画出各自的波特图,输入噪声的传输函数是一个低通滤波器的形式,VCO的噪声是一个高通滤波器的形式。
对于线性时不变系统而言,输出噪声=输入噪声×传输函数的平方,所以总的输出噪声=输入噪声和VCO噪声乘以各自的传输函数平方再求和。
假设输入参考噪声非常洁净,是一条平线(实际不是平线,取决于晶振),其传输函数是一个低通滤波器形式,所以得到的输出噪声也是低通滤波器形式。
观察中频段的VCO噪声曲线,如图所示,其传输函数是一个高通滤波器形式,所以输出噪声是类似于低通滤波器形式。
在过阻尼的情况下(实际应用场景中较为常见),写出输入参考噪声和VCO噪声的传输函数简化式,可以看到都是一阶的,那么其3dB带宽就是
忽略低频的时候,在VCO噪声曲线上取一个点,这样就可以写出VCO曲线的方程式。
将频域上的噪声转到时域上就是PMS Jitter,RMS Jitter=输出总噪声的积分,目的是为了求在什么条件下可以使jitter或者noise最小。
求RMS jitter,表达式见下图,为了求其最小值,可以求其微分=0时的条件。
条件是:输入参考噪声×M平方=常数×VCO噪声。
图中即可看到,在两条曲线相交处,即是jitter最小值处。这是在过阻尼的情况下的结果。
阻尼系数约等于1时,噪声或者jitter的最小值是在1/4输入参考噪声×M平方=常数×VCO噪声处。
LC VCO
Amp of LC Tank VCO
求VCO的增益,假设初始频率是 ,将LC VCO可以看成是输入是输出的一个差分放大器。LC工作在大信号的状态下,那么M1和M2各自在50%的周期内占有整个Iss所有电流。
当没有电感和电容时,M1和M2类似两个交替打开的开关,其输出类似于方波,且振幅为IssRp,这个输出方波由基波 和三次谐波,五次谐波等组成,表达式见下图。当加上LC之后,相当于一个滤波器,将三次谐波、五次谐波滤除掉,只剩下基波。所以最终的LC VCO的增益
。也就是说VCO的输出节点的电压可能比VDD还高几百毫伏。
螺旋电感
电感在制作的时候,做的比较薄,导致有很多损耗。因此Q不是很高。
Ohm loss
电感主要是用铜做的,每个片电阻大约有70毫欧姆,所以几百个微米长度的电感,可能累积出几个欧姆。
Eddy current
导线做出来的时候是底下的sub理想情况下是绝缘体,没有欧姆,但实际上是存在欧姆的,所以就会有反向电流,反向电流会引起损耗。导致Q不能太高
可以先在最底层铺一层body,再在上面做一层metal 1,金属做成长条的铁轨状,并将金属接地,这样电感在上面作用的时候,就会通过金属产生作用,这个Eddy current的影响比直接在sub上产生的影响要小。做成铁轨状比做成一大片要好,这样可以避免在同一个方向(X方向)上的电流,在Y方向再把它们接起来。为了效果更好,可以再下金属下面做一层交错的poly,避免电感的电磁场直接作用到sub上面。注意poly和metal要各自连接起来,不要悬空。这样做可以提高电感的Q,比如从7可以提高到7.5。
代价就是首先要手画一层metal,还有电感距离sub的距离变短了,那么寄生电容就会变大。
Skin effect
在高速情况下,电子不会乖乖的呆在电感的里面,而是会跑到表面的截面处,导致电子密度不一样,增加阻抗,可以通过将电感做成好多层,每层用小柱子连接,
电感形状
电感的做法有以下几种:方形的、圆形的、差分的、双层的。
方形的要注意中间空的区域要保证左边和右边的电感线不要相互影响,形成阻力。
双层电感的两个层之间相距1um-2um,所以电感线的上下左右都有电感,节省很大面积。实际应用过程中,上层要做高一点,下层要做的低一点。
其他实现元素
相位噪声
相位噪声是定义了一个噪声纯度,噪声来源有器件/电路噪声或者控制线上抖动等。
器件噪声
LC tank的图如图所示,
其相当于两级运放,因此增益为gm2Z2,反馈是正反馈,反馈系数β=1,反馈并不能降低噪声,因此所有的器件噪声(如闪烁噪声、热噪声)都会出现在环路的输入或输出。因此其输出到输入的传输函数就是
增益的幅度如图所示,稳定时幅度=1,由于有电感和电容的存在,并且是两级,因此相位是从+180度到-180度,稳定时相位=0。
在ω0 处求增益的泰勒展开,增益可以由幅度和相位来表示,ω0 处幅度为1,将增益A的表达式代入传输函数中,可以得到Y/X,进一步求解。
传输函数中的dA/dω可以展开,表示成对幅度和对相位的微分,可以得到一个包含实部和虚部的表达式。
对其求平方,幅度在ω0 处的斜率为0,化简可以得到|dA/dω|2=|dφ /dω|2
电感Q的定义如下,将传输函数用电感Q表示,可以得到传输函数是与ω0平方成反比。
观察热噪声,输出噪声=输入噪声×传输函数的平方,因此,输入热噪声经过传输函数后变成二次方的裙摆状
控制线上的抖动
由于PFD每个周期都有脉冲信号,导致Vctrl每个周期都有抖动。假设Vctrl上的抖动是周期性的,表达式如下,那么VCO的输出相位就是对Kvco×Vctrl进行积分。
VCO的输出信号本来是周期性的,现在由于Vctrl的抖动,导致VCO输出信号需要加上一个额外的相位。进一步化简,画出VCO输出的频谱图,可以看到,在主频率附近出现两个小尖峰,即杂散,这个小尖峰的大小是 ,这个噪声与Kvco有关,与Vm有关。要想彻底清除这个spur,就要使PFD出来的结果是一个定值,而不是每个周期都有波动。
所以相位噪声的表达式为10logP(noise)/P(signal) ,信噪比,可以通过加大信号来降低相位噪声。
只考虑VCO器件,在中频段的相位噪声与ω2成反比,低频段的相位噪声与ω3成反比(与1/f噪声有关),在高频段仪器几乎测量不到了,Noise floor大约为-140dBc
评判相位噪声好坏的方法
FoM表达式如下,可以在裙摆图上表示,假设距离主频率1MHz处的功率比主频率处低65dB,假设这个裙摆图是以每10kHz为带宽累计的功率点汇集成的图,那么,所以1MHz处的相位噪声就是65+40=105dBc/Hz。也可以在相位噪声图上直接读出来。
更先进的VCO
Multiphase VCO
多相位VCO,之前的LC VCO产生90度相移,如果将四个LC tank首尾相接,连成一个环形振荡器,那么每个tank产生45度相移。缺点是:振荡频率不是ω0处,而是在±45度相移所对应的频率处ω'处,那么Q值会下降。
相位差均匀分布。实际上裙摆图并不是完全对称的,会存在一边高一点,另一边低一点的情况,所对应的+45度相移和-45度相移处的增益并不是完全一样,所以振荡器会自己自发的选择增益较高的那个相移,并在该处振荡,以满足振荡条件。
T-line based VCOs
Quadrature VCOs
只产生0和90度的相移
不推荐下图这种做法
Push-push OSC
当工作在小信号情况下的时候,P点电压是虚拟地,但是在大信号状态下的时候,P点的电压是振荡频率的2倍频。如图,当两边电路电流大小一样时,P点电压较低,维持Vgs,当一端关闭时,P点电压被另一边的大电流给拉高。所以就造成了2倍频的效果。
优点:相同功耗下实现2倍频
缺点:单端输出,相位噪声差(因为信号太小)
上面的情况是P点直接通过电流源连接到地,所以P点的信号振荡幅度很大一部分是被地给吃掉了,所以可以使用传输线将P点与电流源隔开,如下图所示。
VCO Noise-Power Tradeoff
当两个VCO叠加时,即功耗×2,那么信号的摆幅也会×2,信号的功率增加了×4,noise也×2,信噪比×2,相位噪声10log(信噪比)=10log2=3dB
分频器
静态分频器
使用D触发器实现分频,右边的两个DFF首尾相连的电路可以实现相差90度相位的分频。
C2MOS 二分频器
DFF也可以使用C2MOS实现
频率与输入功率之间存在如图所示的关系,当频率增大到一定程度时,就会遇到自谐振频率,此时,即使没有输入,也会存在输出。过了该点之后,很快就会由于环路带宽,使分频器的频率受到限制
Latch的一个实例结构如下图所示
TSPC 二分频器
只是用CLK,不使用CLK的反向信号。最终的CLK_OUT实现二分频
CML 二分频器
上述几种静态分频器,工作频率范围与功耗之间的关系如图所示,CML可以工作在更高频处,但功耗也高。C2MOS和TSPC功耗低,可工作的频率范围也低。
多模块分频器
当M=1时,二分频
M=0时,三分频
÷2/3分频器的另一种实现方式如下图
大范围分频器
如果是3级的÷2/3的分频器,可以实现8-15分频
占空比为50%的三分频器
大除数分频器
分频比为几千,例如蓝牙,分频比为2400-2527之间
使用prescale进行÷N/N+1的分频,再经过分频器为P的program计数器,计数器输出结果就是ckout,prescale的结果还要经过一个分频比为S的swallow counter计数器来吞掉多余的分频,ckout的结果用来重置 swallow counter,P是固定分频比,S是可变化的分频比。
从reset开始,prescale先进行N+1的分频,直到swallow counter is fall,此时已经进行了(N+1)S个脉冲
接下来进行N分频,直到program counter is fall,此时进行了(P-S)N个脉冲。一般情况,P>S。
综上,输入一个脉冲,输出一共进行了NP+S个脉冲,所以分频比就是NP+S。
Miller Dividers
静态分频器最高只能工作桌子20-40GHz,不能工作在更高频率,因此需要Miller dividers,适用于高频(10GHz以上)
一个输入信号与输出信号经过混频器之后接滤波器,再接输出。混频之后的信号变成x±y
加入输入信号是ωin,那么y就是ωin/2,那么混频之后的信号就是3ωin/2、ωin/2,滤波器滤除高频信号,所以y只剩下ωin/2.
假设低通滤波器是一阶滤波器,那么可以得到最终的y的表达式。其中exp指数项里面有一个与时间相关的负数,这一项会导致y随时间变化趋于0,与猜想不符合,所以一定漏了什么东西。
上述分析忽略了混频器混频器的延迟。
假设用延迟单元代替滤波器(实际延迟单元和滤波器都需要),那么经过混频器出来的信号如下图,下图经过延迟1/4个周期后就变成了原始的y。
混频器可以用CMOS做,也可以用bipolar做,如图。
R和C可以起滤波器的作用,源极跟随器起延迟单元的作用。
可操作范围,两个极端,滤波器最小要保证ωin/2在频宽范围内,最大要保证滤除3ωin/2。所以可以求出输入频率的范围,在这个范围内,敏感性是一致的。因为没有自谐振频率,所以没有缺口(对比静态分频器)。
也可以用带宽滤波器,比如LC tank,其操作在中心点处,相位差为0,原理如图,x是cos(ωin*t),y是cos(ωin*t/2),xy如图,将xy中的3ωin/2滤除掉就得到y
讲xy中的高频衰减,即可近似还原y,要保证起码在0-2π/ωin范围内,单调下降,所以可以求出比例系数α的范围。
其实衰减的时候不仅是幅度被衰减,相位也被衰减了90度,所以cos变成sin,进而可以求出α的范围。
CMOS miller dividers
也可以使用CMOS来做,LC tank想要滤除高频的3ωin/2,只需要将Q做大一点,这样尖峰更陡峭一点,滤波性能越好,一般要求Q≥1.24(很容易实现),Q如果做小一点,可操作的频率范围更广。
电路有两种实现方式,一种是LO反馈回来与输入的RF混频,一种是RF反馈回来与LO混频。
RF反馈回来与LO混频的具体的电路实现如下,将输出通过电容反馈回来,但是M1和M2需要一个静态偏置,由右边支路提供。所以Vb点就在振荡。振荡频率范围在25%左右。
对上述电路可以改进,去掉电流源也是可以的。
输入为ωin时,M1和M2是ωin/2,所以混频后输出为ωin/2,存在一个问题就是M1和M2的漏极会受到该点寄生电容的影响较大,导致电流上不去,可以通过加一个电感,使M1和M2与电感共振,那么该点就是一个高阻抗,减轻了寄生电容对该点的影响。
如果是RF做输入,LO做反馈,如下。M1和M2频率为ωin,输出频率为ωin/2,反馈频率为ωin/2。
如果将其以另一种形式画出来,如右图,如果忽略M5和M6以及M1,那么剩下的部分就是一个振荡器OSC,M2振荡频率为ωin,输出振荡频率为ωin/2。该电路被称为注入锁定分频器。
M5和M6的作用是形成一个正电阻,减轻Q值,这样可以使滤波器变得平缓,可操作频率范围更广。如果M3和M4的尺寸较大,那么其负阻更靠近零点,可能会形成自振荡(没有输入,也会有输出)。缺点是振荡频率范围只有10%。只能工作在单频状态下。
注入锁定分频器
上面有负阻的OSC,可以实现高频分频,电路还足够简单。
下图为注入锁定振荡器右边的振荡器频率为ωin/2,输入频率Vinj与ωin/2相差很近(10%以内)。
上图的简化模型如下,电感电容电阻构成自振荡,振荡频率为ω0,相位为0.
输入频率在ωin/2附近,但是不一定完全相等,所以LC要跟随输入频率,所以会偏离相位为0的点,震荡在输入频率处,假设相位差为φ0,与Iosc也相差φ0
Vout的相位和Iosc相同(其实是180度相位差),It的相位与LC相同,即与Vout相位相差φ0,
所以可以类比矢量相加(幅度、相位),It随着φ0的增大而增大,当达到一定值之后,随着φ0的增大而减小。
φ0最大的时候是It与Iinj垂直的时候,写出表达式,可以证明得出,φ0最大的时候是It与Iinj垂直的时候。
求频率的具体值,频率ω=tanφ0的具体值,将Q值代入,可以得到表达式。测量lock的范围=2ωL,只有1-2个百分点。Iinj与Iosc的比值通常是1/4,1/3,1/16,不会是1:1(波形会变得很丑)
结论:沿着中心线,可以灌入二倍频。那么输出振荡频率就是一倍频。
画出一半的等效电路,负阻相当于混频器,增益为2/π,所以可以求出振荡频率。
如果要提高lock范围的话,可以通过将负阻源极寄生电容的影响给滤除掉,具体实现:可以使ckinj振荡在2ω0,输出震荡在ω0,漏极寄生电容Cp可能导致电流上不去,那么可以使用LC tank,使LC tank振荡在2ω0处。
二倍频除了在上述的地方灌进去之外,还可以像下图的方式,将二倍频在ckin上,电感和寄生电容还是振荡在一倍频上。
注入锁定,三分频。
三级的环形振荡器,将三倍频灌入在ckin上,可操作范围1-2%,可以通过上面滤除电容或者提高频率的方法优化该电路。
小数分频-sigma-delta 分频器
整数分频缺点:
1.带宽要比参考频率的1/20还要小
2.参考时钟馈通,每个周期vctrl都有ripple
3.频率分辨率有限,频率分辨率只能在整数上麦那
4.分频比大
尽管有以上缺点,但是整数分频在PLL还是好用的。
小数分频优点:
1.分辨率更细化
2.噪声整形
3.参考频率更高。
原理
比如,需要10.1分频,可以用一个÷10/11分频器,再用一个参考频率的÷10分频器。
在参考频率的十个周期中,其中9个周期÷10分频,1个周期÷11分频。那么总共就是(9*10+1*11)/10=10.1分频。
这种做法不好的点就是,前9个周期风平浪静,第10个周期,突然变成11分频,导致PFD会突变,造成Vctrl的突变。周期性的ripple,参考频率每10个周期也会发生一次Vctrl的抖动,所以需要将ripple随机化。
需要扰乱÷10/11的模式,使其随机化。
用参考频率控制调制器,
是一个比例,在0-1之间。所以分频比就是M+
+q,q的平均值为0。
回顾信号与系统中,离散(z域)与连续(s域)的关系,z域与s域:
延迟T
在z域中,x经过延迟单元到y,就是其拉普拉斯变化X×=Y,转到s域上就是Y=X
在s域中,延迟就是对x(t-T),拉普拉斯变换后x(t-T)变成X,与Y相等。
积分器
z域的积分器,s域积分器为
上面两个等式其实是一样的,x(t)在z域上的拟合就是将无数个离散的矩形面积总和,方便起见,假设矩形的长=T=1,那么x(t)=x(1)+x(2)+x(3)+……
x(t)在时域上,是对这条线积分。采样频率应该远高于信号频率,所以有sT<<1的近似。
所以z域的积分器的表达式,转换到s域上,通过近似,泰勒展开就是1/s
一阶sigma-delta调制器
输入x(n)即为α,0<α<1,经过一个积分器,和一个量化器,之后反馈到输入。Q为量化噪声。w>0.5时,y=1。W<0.5时,y=0。q=w-y,w=x(n)-y,q的平均值为0,Y的平均值是X。
当α=0.2时,每五个周期q的值就会重复,在这五个周期内,只出现一次y=1,所以y平均值为1/5.
当α=0.38时,每50个周期q的值就会重复,在这50个周期内,y=1出现19次,所以y平均值为19/50。
可以实现一个近似“随机”的过程,其实还是周期性的。
信号传输函数,即为从X到Y,为1
噪声传输函数,即为从Q到Y,为1-Z^-1(高通),所以可以将量化噪声滤除。
Q的平均值为0,Y的平均值为X。
Multi stage noise shaping
提高随机性,假如y平均值就是1/5不改变,那么可以通过将将阶数提高来实现更高的随机性,上面的α在0-1之间,那么可以提高范围,比如在0-4之间。
提高随机性在频域上就是将量化噪声的尖峰推到更远处。
二阶sigma delta 调制器
三阶sigma delta 调制器
噪声传输函数如下,画出波特图,都是高通特性,阶数越高,把量化噪声推的越远。
噪声计算
q(t)是随机的数值,宽度为周期T,数值的分布是均匀分布。量化噪声总值呈现sinc function分布,如下图,90%以上的都在2π/T范围内。
证明量化噪声的表达式中1/12的系数。
q(t)和q(n)是s域或者z域中的,都是频域上的。而PLL分析的小信号是相位,所以需要将量化噪声从频率上转换到时域上。对频率的积分就是相位。所以相位噪声=积分器传输函数平方×z域量化噪声
上面的是相位域上的量化噪声总值,还需要×sigma-delta本身的传输函数的平方。计算后的该噪声是sigma-delta调制器的噪声。其在环路中可以位于分频器后面,为了简化起见,也可以将其放在输入噪声中用来分析。m是sigma-delta调制器的阶数。
Sigma-delta调制器的噪声还需要×PLL整个环路的传输函数的平方,才是最终在PLL输出端看到的等效Sigma-delta调制器的噪声。
表达式如下,第一项是噪声频谱,第二项是噪声整形(频域转到相位域、以及调制器本身传输函数),第三项是PLL环路传递函数。
上式中第一项是sinc function,图如下,我们只关心0-π/T之间的部分(因为sigma-delta的输入信号就是从PLL参考时钟来的)。带宽远小于输入参考频率。
所以第一项的频谱图如下。带宽处于非常低的水平。
第二项按sigma-delta的阶数决定刚开始上升的斜率,二阶以20dB/dec上升,三阶以40dB/dec上升。最后斜率归于0.
第三项的形式类似低通滤波器。
上面三者综合起来就是sigma-delta在PLL输出端等效的噪声。不管是二阶还是三阶,都要保证sigma-delta全频段的噪声小于VCO的噪声,以保证引入的调制器不会影响整个PLL的噪声性能。
相位噪声与Rms jitter
噪声是Sφ(f),对噪声求10log就得到相位噪声。所以相位噪声=10log Sφ(f)。VCO的噪声表达式见下图。假设在相同的Q下,VCO的输出CK1与经过二分频后的CK2噪声相差6dB,分频器没有贡献噪声。
证明:CK1振荡频率比是CK2的两倍,所以CK1是ω,CK2是ω/2,代入即可得到相位噪声相差-10log(2)^2=-20log2=-20×0.3=-6dB。
所以N分频,对应的相位噪声降低20logN。
Rms jitter(以秒为单位)=(1/2πf)^2×所有的噪声积分。
假设rms jitter是以角频率为单位,那么其=全频段噪声积分。跟上面的结果其实是一样的。
因为在时域上看到的rms jitter以秒为单位,也可以换算成角频率,即每个周期的角度差,所以角频率的jitter=秒的jitter×2π/周期的平方。这就是角频率到秒之间的换算。
证明,VCO出来的CK1和经过二分频后的CK2拥有同样大小的rms jitter(以秒为单位),假设分频器不贡献噪声。
如下,CK1振荡频率为fc1,CK振荡频率为fc1/2,所以得到的结果是一样的。
在波形图上也很直观,CK1的jitter,CK2为分频后的jitter。只是频率变了,jitter并没有变化。
示例
假设两个一模一样的VCO振荡在不同的频率下,要使它们的噪声相同。
假设频率比为N,噪声的曲线与角频率平方成反比,因此,两个VCO的噪声曲线是平行的,且相距20logN。
第一个VCO的带宽较低,噪声×传输函数平方即为等效输出噪声。对其积分就得到rms jitter。
第二个VCO带宽较高,要想让两个VCO噪声相等,即需要让积分面积相等,那么最终就是要是两个VCO的带宽的比为N²。
所以调整频率后要想噪声不变,只能通过调整带宽来实现。
但是如果频率改变四倍的话,就意味着带宽要改变16倍才能实现相同的噪声。
然而,带宽一般是提前设定好的,为了满足连续时间近似,带宽要小于输入频率的1/20,高的带宽意味着引入很多噪声。