PLL到底是个啥么东西呢?
——————————————————更新于20180826————————————————————————————
PLL:完成两个电信号的相位同步的自闭环控制系统叫锁相环。用电压控制延时,用到了VCO来实现DLL中类似的延时功能,是模拟电路。
DLL:基于数字抽样方式实现的,在输入时钟和反馈时钟之间插入延时,使得输入和反馈时钟的上升沿一致来实现的。
DCM:Delay Locked-Loop数字延迟锁相环,其输入参数包括输入中频率范围,输出时钟频率范围、输入输出时钟允许抖动范围等。
PLL和DLL都可以实现倍频、分频占空比调整,但是DLL的数字电路特性导致其只能是实现2、4等倍频,而PLL的调整范围则要大一些。PLL在时钟综合方面要更好些,但是抗噪声能力相对较差,DLL在power jitter precision方面要优于PLL。
DCM比DLL在时钟管理控制方面功能更强大,包括了消除时钟延时、频率合成、相位调整等系统方面的要求
DCM优点:
1实现零时钟延时,消除了时间分配延时,实现了时钟闭环控制
2可用于外部芯片的同步,使得内外时钟一体化。
DCM相对PLL而言
1 DCM只支持90,180,270相位延迟,PLL更灵活
1 DCM只支持2-16小数分频以及2倍频
2 DCM数字模块占面积小,灵活,但是在噪声和jitter相对PLL大得多
3 PLL模拟电路,输出时钟质量要高,但是占用的面积也大。
————————————————————————————————————————————————————————
PLL的出现是为了解决这样一个问题的:就是外部输入的信号实际上与内部时钟振荡信号是完全不同步的,为了解决这个问题,我们想到了用改进工艺的方法,但实际上晶振由于工艺与成本原因,做不到很高的频率,而在需要高频应用时,有相应的器件VCO,实现转成高频,但并不稳定,故利用锁相环路就可以实现稳定且高频的时脉冲讯号。
功能:锁相实际上是为了实现相位同步自动控制,能够完成两个电信号相位同步的自动控制闭环系统叫做锁相环,简称PLL。
应用:广泛应用于广播通信、频率合成、自动控制及时钟同步等技术领域。(除了用作相位跟踪(输出跟输入同频同相,这种情况下跟DLL有点相似)外,可以用来做频率综合(frequency synthesizer),输出频率稳定度跟高精度低漂移参考信号(比如温补晶振)几乎相当的高频信号,这时,它是一个频率源。利用PLL,可以方便地产生不同频率的高质量信号,PLL输出的信号抖动(频域上表现为相噪)跟它的环路带宽,鉴相频率大小有关。)
一个典型的锁相环(PLL)系统
基本电路组成:鉴相器(PD),压控荡器(VCO)和低通滤波器(LPF)如图
它的实际工作过程:
锁相环路的捕捉与跟踪过程
(1)捕捉过程:当锁相环路刚开始工作时,其起始时一般都处于失锁状态,由于输入到鉴相器的二路信号之间存在着相位差,鉴相器将输出误差电压来改变压控振荡器的振荡频率,使之与基准信号相一致。锁相环由失锁到锁定的过程,人们称为捕捉过程。系统能捕捉的最大频率范围或最大固有频带称为捕捉带或捕捉范围。
(2)跟踪过程:当锁相环路锁定后,由于某些原因引起输入信号或压控振荡器频率发生变化,环路可以通过自身的反馈迅速进行调节。结果是VCO的输出频率、相位又被锁定在基准信号参数上,从而又维持了环路的锁定。这个过程人们称为环路的跟踪过程。系统能保持跟踪的最大频率范围或最大固有频带称为同步带或同步范围,或称锁定范围。
捕捉过程与跟踪过程是锁相环路的两种不同的自动调节过程。
AFC与PLL的比较:
(1)自动频率控制(AFC)电路,在锁定状态下,存在着固定频差。
(2)锁相环路控制(PLL)电路,在锁定状态下,则存在着固定相位差。
虽然锁相环存在着相位差,但它和基准信号之间不存在频差,即输出频率等于输入频率.这也表明,通过锁相环来进行频率控制,可以实现无误差的频率跟踪.其效果远远优于自动频率控制电路。
以上三个部分的简单介绍之我见:
一、鉴相器
功能:将两路输入信号的相位比较后输出
常用的电路:
(1)模拟乘法器,这种鉴相器常常用于鉴相器的两路输入信号均为正弦波的锁相环电路中。
(2)异或门,这种鉴相器适合两路输入信号均为方波信号的锁相环电路中,所以异或门鉴相器常常应用于数字电路锁相环路中。
(3)边沿触发型数字鉴相器,这种鉴相器也属于数字电路型鉴相器,对输入信号要求不严,可以是方波,也可以是矩形脉冲波,这种电路常用于高频数字锁相环路中。
比较:异或门相位比较器在使用时要求两个作比较的信号必须是占空比为50%的波形,这就给应用带来了一些不便。而边沿触发鉴相器是通过比较两输入信号的上跳边沿(或下跳边沿)来对信号进行鉴相,对输入信号的占空比不作要求。
二、压控振荡器:
振荡频率ω0受控制电压UF(t)控制的振荡器,即是一种电压——频率变换器。
控制端电压应是直流电压和控制电压的叠加,VCO的振荡频率,称为自由振荡频率ωom,或中心频率,在VCO线性控制范围内,其瞬时角频率可表示为:
ωo(t)= ωom + K0 UF(t)
式中,K0——VCO控制特性曲线的斜率,常称为VCO的控制灵敏度,或称压控灵敏度。
压控振荡器(VCO)是锁相环(PLL)的被控对象。压控振荡器是一个电压—频率变换装置,在环路中作为频率可调振荡器,其振荡频率应随输入控制电压线性地变化。它输出的信号根据锁相环的不同要求,可分为正弦波压控振荡器与非正弦波压控振荡器两大类。
比较:正弦波压控振荡器一般由LC点式振荡器与变容二极管组成.它的工作原理与计算公式和电容三点式正弦波振荡器完全一样。由于正弦波VCO受到变容二极管结电容变化范围的限制,因此一般振荡频率变化范围都不是太大。非正弦波压控振荡器的种类较多,由于它的频率变化范围大,控制线性好,所以应用比较广泛。这类压控振荡器常见的几种电路有射极定时压控多谐振荡器、积分型施密特压控振荡器、数字门电路压控振荡器。
三、环路滤波器:
这里仅讨论无源比例积分滤波器如图5。其传递函数为:
式中:τ1 = R1 C
τ2 = R2 C
比较常用的三种环路滤波器电路。如图。第一种简单的RC滤波器所用元件最少,电路也最简单。有源比例积分滤波器,使用 元件最多,电路也比较复杂。
但从滤波效果的角度来衡量,有源比例积分滤波器的滤波效果最好,简单RC滤波器滤波效果最差,RC比例积分滤波器的滤波效果介于二者之间。设计电路时,可以根据锁相环路的要求选择不同的环路滤波器。
四.锁相环的相位模型及传输函数
图为锁相环的相位模型。要注意一点,锁相环是一个相位反馈系统,在环路中流通的是相位,而不是电压。因此研究锁相环的相位模型就可得环路的完整性能。
由图6可知:
(1)当A点断开环路时,锁相环的开环相位传输函数为
(2)环路闭合时的相位传输函数为
(3)环路闭合时的相位误差传输函数为
当环路滤波器选用无源比例积分滤波器时,经推导可得:
式中
同样可得:
ωn称为系统的固有频率或自然角频率;
x 称为系统的阻尼系数。
要注意的是上面讨论中的ω指的是输入信号相位的变化角频率,而不是输入信号本身的角频率。如输入信号是调频信号,则ω指的是调制信号的角频率而不是载波的角频率。
这部分还不太清楚:
五.锁相环的同步与捕捉
锁相环的输出频率(或VCO的频率)ωo能跟踪输入频率ωi的工作状态,称为同步状态,在同步状态下,始终有ωo = ωi。在锁相环保持同步的条件下,输入频率ωi的最大变化范围,称为同步带宽,用DωH 表示。超出此范围,环路则失锁。
失锁时,ωo≠ωi,如果从两个方向设法改变ωi,使ωi向ωo靠拢,进而使Δωo =(ωi-ωo)↓,当Δωo小到某一数值时,环路则从失锁进入锁定状态。这个使PLL经过频率牵引最终导致入锁的频率范围称为捕捉带Δωp。同步带ΔωH,捕捉带Δωp 和VCO 中心频率ωo的 关系如图7。
PLL到底是个啥么东西呢?的更多相关文章
- Spark RDD到底是个什么东西
前言 用Spark有一段时间了,但是感觉还是停留在表面,对于Spark的RDD的理解还是停留在概念上,即只知道它是个弹性分布式数据集,其他的一概不知 有点略显惭愧.下面记录下我对RDD的新的理解. 官 ...
- 比特币解锁脚本中的ScriptSignature都包含了什么东西
比特币 解锁脚本signature script 包含了那些东西? 使用 UTXO 需要私钥签名,私钥到底都签了什么东西呢?一直比较好奇. 比特币的私钥签名总共有五中类型,具体见 btcd 代码,如下 ...
- 用大白话告诉你 :Java 后端到底是在做什么?
阅读本文大概需要 6 分钟. 作者:黄小斜 新手程序员通常会走入一个误区,就是认为学习了一门语言,就可以称为是某某语言工程师了.但事实上真的是这样吗?其实并非如此. 今天我们就来聊一聊,Java 开发 ...
- Membership三步曲之进阶篇 - 深入剖析Provider Model
Membership 三步曲之进阶篇 - 深入剖析Provider Model 本文的目标是让每一个人都知道Provider Model 是什么,并且能灵活的在自己的项目中使用它. Membershi ...
- 跟vczh看实例学编译原理——三:Tinymoe与无歧义语法分析
文章中引用的代码均来自https://github.com/vczh/tinymoe. 看了前面的三篇文章,大家应该基本对Tinymoe的代码有一个初步的感觉了.在正确分析"print ...
- 万能的林萧说:一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础”。
来历 本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来. 一日,LZ在群里发话,"招人啦." 然某群友曰,"群主,俺想去." LZ回之,"你 ...
- Unity3D游戏在iOS上因为trampolines闪退的原因与解决办法
http://7dot9.com/?p=444 http://whydoidoit.com/2012/08/20/unity-serializer-mono-and-trampolines/ 确定具体 ...
- 深入浅出iOS事件机制
原文地址: http://zhoon.github.io/ios/2015/04/12/ios-event.html 本文章将讲解有关iOS事件的传递机制,如有错误或者不同的见解,欢迎留言指出. iO ...
- typealias和泛型接口
typealias 是用来为已经存在的类型重新定义名字的,通过命名,可以使代码变得更加清晰.使用的语法也很简单,使用 typealias 关键字像使用普通的赋值语句一样,可以将某个已经存在的类型赋值为 ...
随机推荐
- 今天 运营同事发现的bug记录 上传商品时商品名称带双引号 导致输出页面时 双引号被转义
例如 ”sk||““美白”淡化 这样输出表单页面时显示出来的只有sk|| 解决办法 把输出文字对双引号进行转义
- dfs--八皇后问题
在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上. 你的任务是,对于给定的N,求出有多少种合法的放置方法. 因为我们 ...
- android implementation 依赖第三方库
依赖第三方库
- 关于Java自动拆箱装箱中的缓存问题
package cn.zhang.test; /** * 测试自动装箱拆箱 * 自动装箱:基本类型自动转为包装类对象 * 自动拆箱:包装类对象自动转化为基本数据类型 * * * /*缓存问题*/ /* ...
- Java远程调用Linux脚本
参考:http://blog.csdn.net/xiao_jun_0820/article/details/26254813 http://blog.csdn.net/a19881029/artic ...
- Django专题
一. web框架的原理: 1.C/S架构和B/S架构 C/S:客户端与服务器 B/S:浏览器与服务器 web开发 2.web开发的本质: socket服务端:收发消息都是按照HTTP协议的 ...
- Python 学习笔记:根据输入年月区间,返回期间所有的月份
目的: 给定一个年月区间,比如:2019.01 至 2019.05,要求返回一个包含期间所有的月份的列表,比如:['2019.01', '2019.02', '2019.03', '2019.04', ...
- Properties类(一)
Java中读写资源文件最重要的类是Properties,功能大致如下: 1. 读写Properties文件 2. 读写XML文件 3. 不仅可以读写上述两类文件,还可以读写其它格式文件如txt等,只要 ...
- MySQL导入sql文件,过大导致错误
--导入sql脚本文件,报错: Navicat 导入数据报错 --- 1153 - Got a packet bigger than 'max_allowed_packet' bytes2006 - ...
- 对于urllib.request模块
Python 3.X版本后的urllib和urllib2 1---- 现在的Python已经出到了3.5.2 在Python 3以后的版本中,urllib2这个模块已经不单独存在(也就是说当你impo ...