扯一扯基于4046系IC的锁相电路设计
锁相环的原理这里就不多提了,简而言之就是一个环路,通过负反馈把内置振荡器输出的相位和输入波形的相位之差不断缩小,最后达到一致。当然通过干涉反馈环路,也可以使输出与输入呈的特定倍频或者相差关系。
嗯,不多提了,要是有不懂锁相环是啥的还想看下去的话就给张图你们意会一下吧(
具体到4046上,信号相位差可由内部的两种(在74HC4046/7046里是三种,多了一种RS触发器实现的)鉴相器度量;内部振荡器是一个压控振荡器(VCO),其输出频率可由外部电压控制。由于鉴相器的输出是离散的三态电平脉冲,而VCO是由连续电压线性控制的,所以环路上需要一个低通滤波器(LPF)来完成这个离散电平到连续电压信号的变换。
4046系IC示意图。仅给出各型号共有的部分
4046的VCO的静态工作状态由三个元件设定:震荡电容C1、频偏设置电阻R1、上限设置电阻R2。其中R1设置了VCO的频率下限,同时也使得异或门鉴相器的扫频范围从该下限开始。该电阻是非必须的,当11脚悬空(R1无穷大)时,VCO频率从0Hz开始递增。关于这三个元件和VCO频率的关系真可谓是众说纷纭,连不同厂家给的公式都不一样。实际上,由于元件的非线性、不同批次参数的离散性和不同厂商在design和fab上的差异,并没有一个精确的公式来表示VCO参数的设定。因为4046的频率跟踪特性,这样精确的公式也是不必要的。这里给出一组有较为普遍认同的公式,仅作为进行估算时的参考:
PD1原理图(左)工作波形(中)及扫频电路 (右)
PD2原理图(左)工作波形(右)
其中N为分频系数;KVCO为压控振荡器增益,即VCO频率范围 / VCC;Kd为鉴相器增益,其对于PD1而言是VCC/π,对于PD2则是VCC/4π。设计时,通常先确定一个适宜大小的C2,并取wn= 输入频率 / 10,取d = 0.707。
其中Kda为环路滤波器增益,如果使用无源滤波器的话则取1。KVCO与实际电路的关系是
其中f表示频率范围,VVCO表示控制电压范围。由于控制电压过低或过高会导致VCO进入非线性区,在VDD内设定一个数百毫伏的裕量可以保证精度。我们可以看出,在给定的VDD下,希望的工作频率范围越宽,KVCO就越小,意味着pll的响应越慢。所以希望同时得到大的工作频率范围和快的响应速度时,使用有源滤波器引入增益是很有必要的。
使用比较器的电路(左)和使用施密特触发器的电路(右)
上述的两种方案都有一个问题,即只能使输出相位超前,这限制了PLL电路作为移相器的功能。这里给出一种相当巧妙的方法[11],通过对VCO的控制电压进行偏置,实现宽范围的移相,而且不受器件速度的限制。引文中的实现需要给运放双电源供电,然后通过在第二个运放构成的加法器的反相端叠加电压实现控制。其实,可以通过在两级运放的同相端设置一偏置电压Vbias来实现单电源供电,并通过调节任意一级的Vbias大小来实现控制,但这要求环路滤波器必须是有源LPF(即第一级反相放大器)。
引文给出的控制电路(左)和使用单电源的变体电路(右)
在很多文献中,4046的1脚被描述为“锁定指示”,往往连接一个LED来作为pll是否入锁的判断。事实上这个判断的依据并不可靠——该脚实际上反映了环路失锁的“程度”,当相位差越大时,该脚输出更多的电平。显然,在入锁时,因为输出一直为高,LED确实能指示入锁的状态;但失锁时,如果相位差较小,输出的低电平不够宽或多,LED只会微弱变暗。在74HC7046中内置了一个由RC滤波器和施密特触发器组成的检测电路,可以通过适当地设定外接电容的大小得到可靠的锁定指示。
74HC7046的入锁检测电路
如果要用一个特征区分开4大类4046,那一定是15脚的功能。在CD4046中,15脚是连接到VSS上的一个稳压管的负极;74HC4046中,15脚是三号鉴相器的输出;74HCT7046中,15脚用来接入锁定检测的RC滤波器的外接电容;74HCT9046中,15脚连接设定PDII输出电流源的限流电阻。
我们知道,RC振荡器的频率易受工作电压的影响。为了得到精确而稳定的频率输出,4046系IC对于供电的要求较高。在74HCT9046中,VCO供电的稳定由内置的带隙基准保证,相对放宽了对供电的要求。
除74HCT9046以外的所有4046系IC,其二号鉴相器都因寄生电容而存在一个微小的死区,使得较小的相位差不能引起VCO的响应。9046中改进的PDII修复了这个问题。
4046/7046的PDII存在的死区(左)和9046中改进后的PDII的输出特性(右)
[1]:关于CD4046的相位比较器1(异或门)的一个问题 电源网
[2]:MC74HC4046A ON Semiconductor P8
[3]:MC74HC4046A ON Semiconductor P9
[4]:PLL SSTC with Type 2 phase comparator problems (added some info) 4hv
[5]:功率超声电源的频率跟踪电路 苏州大学学报 第30卷第2期 P69
[6]:CMOS Phase-Locked-Loop Applications Using the CD54/74HC/HCT4046A and CD54/74HC/HCT7046A Ti SCHA003B P31
[7]:Configuring and Applying the MC74HC4046A Phase-Locked Loop ON Semiconductor AN1410
[8]:MODELING, ANALYZING AND DESIGNING A PHASE-LOCKEDBATTERY CHARGER ournal of the Chinese Institute of Engineers, Vol. 30, No. 6, pp. 1037-1046 (2007) P1037
[9]:基于74HC4046兆赫兹级锁相控制电路的设计 电子技术 2011年45(2)
[10]:基于CD4046锁相环200KHZ的高频感应加热电源频率跟踪的研究 电子世界 2011年9月号
[11]:移相器的一种简单实现方法 微电子与基础产品 vol28
扯一扯基于4046系IC的锁相电路设计的更多相关文章
- 扯一扯前端css的整体架构设计:(2)base基础类的那些事儿
周一下午在实验室写了第一篇博文,有几个人捧场,那咱就得接着下去啊.然后我觉得现在写的内容更多的偏向于谈一下我对于前端css架构的理解和前端经验的一个小总结,所以就把标题里原来的[项目总结]给删掉了.但 ...
- 扯一扯 C#委托和事件?策略模式?接口回调?
早前学习委托的时候,写过一点东西,今天带着新的思考和认知,再记点东西.这篇文章扯到设计模式中的策略模式,观察者模式,还有.NET的特性之一--委托.真的,请相信我,我只是在扯淡...... 场景练习 ...
- 【项目总结】扯一扯电商网站前端css的整体架构设计(1)
最近半忙不忙的写了一个外包网站,网站主要功能是艺术品竞拍和艺术衍生品的销售.工程已经完成了80%左右,现在前后端代码量已经50W行左右,我主要负责的是前端设计和前端布局.下面就先放一个网站的设计图吧, ...
- 这个案例写出来,还怕跟面试官扯不明白 OAuth2 登录流程?
昨天和小伙伴们介绍了 OAuth2 的基本概念,在讲解 Spring Cloud Security OAuth2 之前,我还是先来通过实际代码来和小伙伴们把 OAuth2 中的各个授权模式走一遍,今天 ...
- 基于 Aliexpress API 的小程序 : 批量 Copy 产品到不同的店铺
第一个基于 Aliexpress API 的小程序 : 批量 Copy 产品到不同的店铺 还没来得及用 API 重写软件, 先写个小程序来缓解一下手工压力: 批量Copy 产品到不同的店铺. 开网店 ...
- dns安全 涉及 术语
僵木蠕 以“僵木蠕”(僵尸网络.木马.蠕虫)为代表的网络威胁 僵尸网络是攻击者出于恶意目的,传播僵尸程序bot以控制大量计算机,并通过一对多的命令与控制信道所组成的网络,我们将之称之为僵尸网络,bot ...
- 【Win 10 应用开发】多媒体转码
上次本来说好,今天咱们来讨论 socket 相关的话题,但,对于 socket ,老周还有一些问题没弄清楚,等弄清楚了,再和大伙伴们一起探讨.故,今天咱们扯一扯多媒体转码的事. 听起来挺复杂的,不过, ...
- 计算照片的面积(WPF篇)
昨天,老周突发其想地给大伙伴们说了一下UWP应用中计算照片面积的玩法,而且老周也表示会提供WPF版本的示例.所以,今天就给大伙们补上吧. WPF是集成在.net框架中,属于.net的一部分,千万不要跟 ...
- 用CIL写程序:写个函数做加法
前言: 上一篇文章小匹夫为CIL正名的篇幅比较多,反而忽略了写那篇文章初衷--即通过写CIL代码来熟悉它,了解它.那么既然有上一篇文章做基础(炮灰),想必各位对CIL的存在也就释然了,兴许也燃起了一点 ...
随机推荐
- Python---5Python内置的有序集合-list和tuple
list Python内置的一种数据类型是列表:list,[ ].可以修改的集合. list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: ...
- Linux下无法生成core文件的解决办法
1.检查ulimit [root ~]# ulimit -c 0 0:表示禁止生成core文件,此时需要执行ulimit -c unlimited(临时生效),或者在.bashrc中添加“ulimit ...
- hexo-next-travis-ci 构建自动化部署博客
构建效果如上面视频所示,如果浏览器不支持请戳一下链接: 自动化部署构建效果 .只要将编辑的 .md 文件推送到 github 上,博客网站就可以更新这篇文章. 其实差不多半年前也构建过一次,由于安装 ...
- DataGirdView
DataGridView知识点 简单示例 (1)代码 SqlDataAdapter da; DataSet ds; string sql ="select 列名 from 表名": ...
- SQL基本操作总结
1.SQL简介 结构化查询语言 (层次模型,网状模型,关系模型) 关系模型是目前的主流 (Oralce,mysql mssql ) SQL标准:ANSI (1992 1997 2002 ISO) 方言 ...
- 关于地址栏url的一些小结
1.获取整个地址栏地址 //获取整个地址栏地址 var href = window.location.href; console.log(href); 以上代码就是获取整个url地址 2.获取url协 ...
- # 爬虫连载系列(1)--爬取猫眼电影Top100
前言 学习python有一段时间了,之前一直忙于学习数据分析,耽搁了原本计划的博客更新.趁着这段空闲时间,打算开始更新一个爬虫系列.内容大致包括:使用正则表达式.xpath.BeautifulSoup ...
- 简单配置Vue路由
简单配置Vue路由 1. 创建一个单文件组件Test.vue <template> <div>Test</div> </template> <s ...
- 【Android】四大组件归纳总结
随着学习持续更新 四大组件均可使用android:process="name"在Manifest中声明成独立进程 Activity 生命周期 4种启动模式 Android使用回退栈 ...
- ubuntu16.04 + caffe + SSD 硬件配置
搞了几个月,终于把SSD试通了,不是科班出身的就是弯路多啊.几个月才跑通了caffe + ssd,痛苦至极,好在柳暗花明.好了,废话不多说,入正题. SSD作为object detection的论文, ...