当前位置: 首页 > news >正文

【模拟集成电路】鉴频鉴相器设计(Phase Frequency Detector,PFD)

鉴频鉴相器设计(Phase Frequency Detector,PFD)

  • 前言
  • 一、 PFD的工作原理
  • 二、 PFD电路设计
    • (1)PFD电路图
    • (2)D触发器电路图
    • (3)与非门(NAND)电路图
    • (4)或非门(NOR)电路图
    • (5)反相器(INV)电路
  • 三、PFD仿真测试
    • PFD测试电路图
      • (1)A超前B
      • (2)B超前A
  • 参考文献:
      • 各部分链接链接:

前言

  本文主要内容是对鉴频鉴相器(Phase Frequency Detector,PFD) 模块设计设计进行阐述,包括工作原理、电路结构、仿真结果各部分内容。

一、 PFD的工作原理

  PFD 作为 PLL 中的关键模块,完成比较输入参考频率freff_{ref}fref与反馈频率fdivf_{div}fdiv的频率与相位的工作,将相位差以电压通断的形式传输到 CP 中,进而对环路滤波器充电和放电。常见的三态鉴频鉴相器的输入输出端口定义如图4-2-1所示。
在这里插入图片描述
  其状态转换图可以用图4-2-2表示,对于理想的三态鉴频鉴相器而言, UP 和 DN 信号不会同时为高电平。它具有三种工作状态:
  状态1:当freff_{ref}fref信号的相位超前fdivf_{div}fdiv信号时,PDF的输出 UP 为高电平矩形脉冲,且脉冲宽度与两输入信号的相位差相对应,在f_ref信号上升沿到来时矩形脉冲开始,在fdivf_{div}fdiv信号上升沿到来时矩形脉冲结束,此时 DN 一直为低电平;
  状态2:当fdivf_{div}fdiv的相位超前freff_{ref}fref时,PFD的输出DN为高电平矩形脉冲,且脉冲宽度与两输入信号间的相位差相对应,f_div信号上升沿到来时矩形脉冲开始,freff_{ref}fref信号上升沿到来时矩形脉冲结束,而输出 UP 一直为低电平;
  状态3:当信号freff_{ref}freffdivf_{div}fdiv完全相位相同时,UP 和 DN 信号一直都是低电平。
  状态3:当信号freff_{ref}freffdivf_{div}fdiv完全相位相同时,UP 和 DN 信号一直都是低电平。
在这里插入图片描述
  根据上述的状态转换原理,PFD的输出脉冲的宽度就可以用来量化两输入信号freff_{ref}freffdivf_{div}fdiv之间的相位差。图4-2-3给出了上述的工作波形图。
在这里插入图片描述
  典型的三态 PFD 的结构如图4-2-4所示。它由两个带有复位端的上升沿触发的D触发器和一个逻辑与门组成,D 触发器的数据端 D 总是接高电平。该鉴频鉴相器通过freff_{ref}freffdivf_{div}fdiv的时钟上升边沿触发,产生高电平的 UP 和 DN 矩形脉冲信号。UP 和 DN 通过与门提供给D触发器的复位信号 Reset,当 UP 和 DN 均为高电平时复位信号使之恢复为电平。
在这里插入图片描述
  但在实际的电路中往往会有第四态的出现,以freff_{ref}fref超前于fdivf_{div}fdiv的状态为例:在fdivf_{div}fdiv到来将 UP 信号复位的时刻,DN信号出现了很短暂的脉冲。在当信号freff_{ref}freffdivf_{div}fdiv完全相位相同时,UP和DN信号也都会出现这样很短暂的脉冲。出现的原因是,在实际电路中由于存在器件的开关延时,造成了 PFD 的 UP 和 DN 信号通过逻辑与门产生 Reset 信号有一定时间的滞后,并且Reset 信号对 D 触发器的复位同样有一定时间的滞后。和理想状态的区别是由于实际电路中器件的延时造成的。因此,从UP和DN信号被Reset信号通过 D 触发器复位为低电平的过程中产生了 UP 和 DN 信号都为高电平的第四种状态。那么,此时 PFD的工作状态为:
    状态1:UP=0,DN=0
    状态2:UP=1,DN=0
    状态3:UP=0,DN=1
    状态4:UP=1,DN=1
  考虑到信号复位存在一定的响应时间,所以经过δt时间后,输出的UP和DN才会变成0,其状态转换图如图4-2-5所示:
在这里插入图片描述

  这种PFD的输出 UP 和 DN 在一段时间内同时处于逻辑高电平时的第四态会使电荷泵的充放电开关同时打开,因而不仅会增加锁相环的功耗,同时会加剧电荷泵的电源噪声,器件热噪声等对 PLL 的相位噪声的恶化。此外还会加剧电荷泵充放电电流失配这一非理想因素给锁相环带来的相位杂散等负面影响。
  评价PFD好坏的主要有如下特征:克服死区、高速、低功耗、低噪声和宽线性范围。在实际设计中要折中速度和死区两方面因素来考虑。为了提高PFD电路的速度,减小复位脉冲的脉宽是关键,但对于后接电荷泵的锁相环会导致死区,在实际设计时既需要复位脉冲来克服死区,为了提高速度又尽量减小复位脉冲的宽度。

二、 PFD电路设计

  图4-2-6是本次设计的 PFD 实现电路,它由两个边沿触发、带复位功能的 D 触发器、一个与非门和一个反相器组成。针对 PFD 电路中存在的死区效应,我们对传统的 PFD 电路结构进行了优化设计,在复位电路的输入端加上了一个延时单元。该延时单元的作用是,当PFD的两输入信号同频同相时,输出的脉冲有足够的宽度(延迟时间)使电荷泵的充放电开关打开(关断),从而避免死区效应的发生。在加入了该延时电路后,PFD 的输出信号上会出现微小的窄脉冲延时信号,即使在锁定状态下,该脉冲信号依然会存在。如果该脉冲信号过小,将会造成电荷泵输出端电压出现毛刺。因而这个延迟时间必须考虑电荷泵开关的打开与关断时间。同时,在设计尺寸时,采用小尺寸的 MOS 管作为开关管,目的是尽可能减小开关管的寄生电容,减少 MOS 器件的开关时间,从而改善死区。D 触发器实现 PFD 电路的原理图如图4-2-7所示,其中的两个 RS 锁存器交叉耦合。图4-2-8、4-2-9、4-2-10分别给出了 PFD 所用到的模块的具体实现电路。

(1)PFD电路图

在这里插入图片描述

(2)D触发器电路图

在这里插入图片描述

(3)与非门(NAND)电路图

在这里插入图片描述

(4)或非门(NOR)电路图

在这里插入图片描述

(5)反相器(INV)电路

在这里插入图片描述

三、PFD仿真测试

  本文的电路仿真基于 TSMC 0.18μm 工艺库,运用仿真工具 Cadence Spectre 仿真软件进行仿真的,该工艺的电源电压为1.8V。本次 PFD 仿真的测试图如4-2-11所示,脉冲发生器 V16、V17 分别接鉴频鉴相器的 A、B端,分别代表的是参考信号freff_{ref}fref和 VCO 输出信号fdivf_{div}fdiv

PFD测试电路图

在这里插入图片描述
  图4-2-12给出了当信号 A 相位超前于 B 信号时的仿真结果。根据上述原理可知,当 A 超前 B 时,在 QA 端将会产生一个跟相位差相关的高电平,直到 B 上升沿到来之时结束恢复为低电平,由于逻辑门传输的延时问题,QB 端在 B 信号上升沿到来时也会有一个短暂的脉冲。仿真的结果表明实验仿真与理论分析一致。

(1)A超前B

在这里插入图片描述
  同理,信号 B 相位超前信号A相位时仿真结果如图4-2-13所示,其中,脉冲 QA 的存在时必要的,该脉冲传递给 CP 后,经过低频滤波产生恒定的静态电平,使得 VCO 处于合适的静态点 VDD/2,从而确保 VCO 有最大的调频范围。经分析知仿真结果与原理相符。

(2)B超前A

在这里插入图片描述

参考文献:

  [1]李智群, 王志功. 射频集成电路与系统[M]. 科学出版社,2008.
  [2]毕查德・拉扎维. 模拟CMOS集成电路设计[M]. 西安交通大学出版社, 2003.
  [3]聂礼通. 射频锁相环中鉴频鉴相器和电荷泵的设计[D].东南大学,2016.
  [4]谢吉辉. CMOS锁相环频率综合器的研究与设计[D].重庆邮电大学,2020.
  [5]阮予. 超宽频锁相环频率综合器的关键技术研究[D].西安电子科技大学,2020.

分割线


各部分链接链接:

  频率综合器(Frequency Synthesizer,FS)设计    链接:【模拟集成电路】频率综合器(Frequency Synthesizer,FS)设计

   电荷泵(CP)设计       链接:【模拟集成电路】电荷泵(CP)设计

  压控振荡器(VCO)设计   链接:【模拟集成电路】宽摆幅压控振荡器(VCO)设计

  环路滤波器(LPF)设计    链接:【模拟集成电路】环路滤波器(LPF)设计

  分频器(DIV_TSPC)设计   链接:【模拟集成电路】分频器(DIV_TSPC)设计

相关文章:

【模拟集成电路】鉴频鉴相器设计(Phase Frequency Detector,PFD)

鉴频鉴相器设计(Phase Frequency Detector,PFD)前言一、 PFD的工作原理二、 PFD电路设计(1)PFD电路图(2)D触发器电路图(3)与非门(NAND)电路图&…...

【Linux】进程间通信介绍 | 管道

​🌠 作者:阿亮joy. 🎆专栏:《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉进程间通信…...

这次说说腾讯的一场 35K—55K 的 Android 高工面试

一、面试的由来 事情是这样的,因为跟公司发展一些想法的不同,早在十月份的时候就有了跳槽的想法,但是碍于老大的面子就一直就没有跟人事说出口,打算着等到年后金三银四在试试跳槽。 但是发生一件事终于让我忍不住了,…...

Jenkins第一讲

目录 一、Jenkins 1.1 敏捷开发与持续集成 1.1.1 敏捷开发 1.1.2 持续集成 1.2 持续集成工具 1.2.1 jenkins和hudson 1.2.2 技术组合 1.2.3 部署方式对比 1.3 安装Jenkins 1.3.1 下载Jenkins的war包 1.3.2 开启Jenkins 1.4 Jenkins全局安全配置 1.5 使用Jenkins部…...

变分推断 | MATLAB实现VBMC变分贝叶斯蒙特卡洛模拟的贝叶斯推断

变分推断 | MATLAB实现变分贝叶斯蒙特卡洛模拟的贝叶斯推断 目录 变分推断 | MATLAB实现变分贝叶斯蒙特卡洛模拟的贝叶斯推断效果一览基本介绍研究内容模型描述模型设计参考资料效果一览 基本介绍 MATLAB实现变分贝叶斯蒙特卡洛模拟的贝叶斯推断。变分贝叶斯蒙特卡洛(VBMC)是…...

代码随想录【Day25】| 216. 组合总和 III、17. 电话号码的字母组合

216. 组合总和 III 题目链接 题目描述: 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k 3, n 7 输…...

web中git漏洞的形成的原理及使用

目录 1.Git漏洞的成因 1.不正确的权限设置: 2.代码注入漏洞: 3.未经身份验证的访问: 4.非安全传输: 5.跨站脚本攻击(XSS): 2.git泄露环境的搭建 git init: git add&#xff1…...

【SPSS】单样本T检验分析详细操作教程(附案例实战)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…...

计算机网络笔记、面试八股(三)—— HTTPS协议

本章目录3. HTTPS协议3.1 HTTPS协议简介3.2 SSL/TLS协议3.2.1 SSL/TLS功能的实现3.3 HTTP和HTTPS的区别3.4 HTTPS协议的优点3.5 HTTPS协议的缺点3.6 HTTPS协议的工作流程3.7 HTTPS是如何解决HTTP的缺点的3.7.1 解决内容可能被窃听的问题——加密3.7.1.1 方法1.对称加密3.7.1.2 …...

浅谈liunx init.d 和 rc.local 两种起动方式

浅谈liunx init.d 和 rc.local 两种起动方式 以rabbitmq 举例 (一).init.d 方式 开机自动重启设置 1.在/etc/init.d 目录下新建一个 rabbitmq [rootlocalhost init.d]# vi rabbitmq具体脚本如下所示: #!/bin/bash # # chkconfig: 2345 …...

元宇宙+教育,正在引发哪些剧烈变革?机会在哪里?丨圆桌实录

图片来源:由无界AI绘画工具生成2月23日,温州元宇宙创新中心为2023年第一批申请入驻的项目企业举办了签约仪式。温州临境网络科技有限公司、温州好玩文化产业有限公司、温州云兮科技有限公司(筹)等企业完成签约。这意味着&#xff…...

追梦之旅【数据结构篇】——详解C语言实现顺序队列

详解C语言实现顺序队列~😎前言🙌预备小知识🙌队列的概念及结构😊1.顺序队列头文件编写🙌2.Queue.c文件的编写🙌1)队列的初始化函数实现😊2)队列的销毁函数实现&#x1f6…...

使用自己的数据集Fine-tune PaddleHub预训练模型

使用自己的数据Fine-tune PaddleHub预训练模型 果农需要根据水果的不同大小和质量进行产品的定价,所以每年收获的季节有大量的人工对水果分类的需求。基于人工智能模型的方案,收获的大堆水果会被机械放到传送带上,模型会根据摄像头拍到的图片…...

带组态物联网平台源码 代码开源可二次开发 web MQTT Modbus

物联网IOT平台开发辅助文档 技术栈:JAVA [ springmvc / spring / mybatis ] 、Mysql 、Html 、 Jquery 、css 使用协议和优势: TCP/IP、HTTP、MQTT 通讯协议 1.1系统简介 IOT通用物联网系统平台带组态,是一套面向通用型业务数据处理的系统…...

计算机网络的发展历程

计算机网络的历史可以追溯到20世纪60年代。那个时候,计算机还非常昂贵,只有少数大型机可以被用于处理重要任务。这些大型机通常被安装在大型企业、政府机构和大学中。由于这些机器非常昂贵,许多企业、机构和大学只能通过终端连接来访问它们。…...

【华为OD机试模拟题】用 C++ 实现 - 不含 101 的数(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…...

面试题-下单后位置信息上报的方案

面试题:外卖下单后每10min上报位置事件的具体实现方案。需要考虑哪些点。存储方案:考虑到数据量很大,需要快速响应查询请求,建议使用分布式存储方案,如 HBase、MongoDB 等。这些分布式存储系统可以水平扩展&#xff0c…...

视觉人培训团队把它称之为,工业领域人类最伟大的软件创造,它的名字叫Halcon

目前为止,世界上综合能力强大的机器视觉软件,,它的名字叫Halcon。 视觉人培训团队把它称之为,工业领域人类最伟大的软件创造,它的名字叫Halcon。 持续不断更新最新的图像技术,软件综合能力持续提升。 综…...

干了2年的手工点点点,感觉每天浑浑噩噩,我的自动化测试之路...

作为一个测试人员,从业年期从事手工测试的工作是没有太多坏处的,当然,如果一直点来点去那么确实自身得不到提高,这时候选择学习自动化测试是一件很有必要的事情,一来将自己从繁重的重复工作中解放出来,从事…...

嵌入式系统硬件设计与实践(学习方法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 刚读书的时候,对什么是嵌入式,其实并不太清楚。等到自己知道的时候,已经毕业很多年了。另外对于计算机毕业的学…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

ESP32读取DHT11温湿度数据

芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...