扯一扯基于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的存在也就释然了,兴许也燃起了一点 ...
随机推荐
- 基于seo的话 一个页面里的h1标签应该控制在多少个
不能出现多个,一个页面只能出现一次,次数多了就会造成权重分散
- 你每天跑这么多自动化用例,能发现BUG吗?
阿里QA导读:为什么要度量测试有效性?这么多的CASE,花了大量时间和资源去运行,真能发现bug吗?CI做到90%的行覆盖率了,能发现问题吗?测试用例越来越多,删一些,会不会就发现不了问题了?怎么找出 ...
- OSX编译安装Python3及虚拟开发环境Virtualenv
0X00.前言 因为工作原因,最近主要做Python开发,刚好电脑系统重装之后所有的东西都需要重新配置.此文主要记录OSX下通过源码编译安装Python3以及安装虚拟开发环境Virtualenv. 0 ...
- 成为数据专家,你只差一个Quick Insights的距离
身处如今的大数据时代,你真的知道如何处理数据和分析数据吗?或许那些被你忽视的数据背后就暗藏着重要的商业灵感.并非人人都是数据专家,有时候你需要一些专业的软件来帮你处理数据.那么如何能快速.准确地从数据 ...
- 未来京东真能成为中国第一大B2C电商平台吗?
2月10日,京东集团在北京举行2017年"科技引领未来"开年年会.在本届年会上,京东宣布全面向技术转型.京东集团CEO刘强东正式对外公布未来12年的战略:在以人工智能为 ...
- C++走向远洋——56(项目二1、动物这样叫、虚函数)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 漫谈国内外Android生态:华为发布的 HMS 服务,对 Mate30 系列无法搭载 Google GMS 的补偿有多大(原创)
如果既用过iPhone,也用过国际版Android,还用过国内的安卓,(并且这三种都用了半年以上),就能体会到GMS多重要.可以说,iOS的体验大幅度领先于国内的安卓,一多半的原因是国内安卓没有GMS ...
- git指令-添加远程仓库
git指令-添加远程仓库 首先在GitHub上创建属于你自己的远程仓库:例如我创建的远程仓库mybatis用于我最近保存的mybatis代码 目前,在GitHub上的这个learngit仓库还是空的, ...
- python 生成随机数、生成 uuid
1. 使用 uuid.uuid1 产生一个随机数 2. 在使用 random.sample() 产生一个随机字符串 3. 将两者进行拼接 import uuid import random def r ...
- 后渗透阶段之基于MSF的路由转发
目录 反弹MSF类型的Shell 添加内网路由 MSF的跳板功能是MSF框架中自带的一个路由转发功能,其实现过程就是MSF框架在已经获取的Meterpreter Shell的基础上添加一条去往“内网” ...