DPLL的DCO与PLL的VCO(数控振荡器与压控振荡器)

news2024/12/28 22:45:56

1.概述

无论DPLL还是PLL都是由PD,LPF和DCO/VCO组成。

PD:鉴相器,是将VCO/DCO输出的频率信号分频后与refclk进行相位比对,输出一个相位差信号

LFP:是将相位差信号转换为VCO的压控信号或DCO的延迟信号。

VCO:根据不同的输入电压【注意不是电源电压而是输入的控制电压】产生不同的输出频率

DCO:根据不同的输入延迟控制信号,控制DCO内部环路的延迟,以输出不同的频率

以前一直有三个误解

  • 认为refclk是VCO/DCO的输入clk,这个是错误的。VCO/DCO都是一个具有负反馈的环路振荡器,振荡器只需要很小的一个扰动就能起振,比如说在关闭的振荡环路打开了,这样一个变化就能启动
  • PLL/DPLL只有一个环路也是错误的认识。PLL的PD/LPF/VCO组成一个环路,而VCO内部也必然是一个负反馈环路。DPLL也是类似。
  • 以前认为DCO的延迟环是由于控制电压的变化导致每个延迟单元的延迟变化而变化。实际是输入的延迟控制信号通过控制延迟cell的开关来控制的

本文主要介绍振荡器,VCO由于涉及模拟器件,比较复杂。我们以DCO为例来分析,下面的一个由多级反相器组成的环路就是一个简单的DCO

其中第一级采用与非门是为了控制环路的开关,如果A1输入为1,那么环路不会振荡。这个A1可以接DPLL_en.

那么假设A1从1跳变到0,每个反相器和与非门的延迟都是t,m为3.我们分析A0的信号波形

0 : 0

3t: 1

6t: 0

9t: 1  

.....

明显A1(out)是一个周期为6t方波输出。

2.DCO

上一节的概述中给出了简单的DCO原理说明,同时可以发现上节的DCO输出周期只能稳定在2mt,如果分开上升沿延迟Tr和下降沿延迟Tf,这个周期就是m×(Tr+Tf).如何才能够做一个能够调节输出频率的DCO呢?

常见的作法如下:

上图的结构中,我们把每一列并联的反相器叫做一级延迟;把每一行串联的反相器叫做一组延迟单元。每一组延迟单元是同时打开和关闭的,不存在一组延迟单元内有些延迟关闭,有些导通,这样对于串联电路来说该组还是关闭状态。

每级延迟单元由一个倒相器和若干个与之并联的三态倒相器组成 ,通过控制导通三态倒相器的数目,控制该级延迟单元的延迟时间 ,从而调整振荡器的振荡频率 ,综合速度、功耗、 分辨率、抗噪声能力等因素 ,DCO的级数选用 9级。 为了使能/禁止 DCO的工作状态 ,第一个倒相器由与非门NAND代替 。

三态倒相器的栅电容与其工作状态无关,也就是说无论三态反相器是否导通,每个倒相器的负载CL保持不变。但导通与否是影响每一级环路中的等效电阻。进而影响了每一级延迟单元的Tr和Tf

有两个结论:

  • 在总反相器个数不变的情况下【如上图共38组反相器的情况下】,打开的反相器组越多输出的周期越小,频率越大。
  • 使用相同器件的两个DCO,一个具有n0组×m级延迟单元,另一个具有n1组×m级延迟单元。如果n0<n1则,在两个DCO的全部延迟单元都打开的情况下,n0的输出周期小,频率大

理解起来就是关闭的延迟组,延迟效应最大,会使输出频率变低,导通之后,该延迟组反而延迟效应降低,频率有所上升。但是DCO中所有的延迟组都打开,也不会超过只有一个延迟组的输出最大频率【也即上一节给出的m×(Tr+Tf)】.

这里面参考了两篇文章:

数控振荡器的基本结构以及电路原理解析-CSDN博客

上面这一篇是本人转载的博客,源地址:

数控振荡器的基本结构以及电路原理解析 - 接口/总线/驱动 - 电子发烧友网

这篇文章在介绍时把一行延迟单元叫做一级延迟单元,注意理解上的区别。

还有一篇收集的论文

https://download.csdn.net/download/cy413026/89823956

原作者:邓小莺,杨 军,陈 鑫 ,时龙兴 (东南大学 国家专用集成电路系统工程技术研究中心,南京 210096)

更详细的一些理论推导也可参见:

模拟集成电路设计系列博客——8.4.1 全数字锁相环介绍 - sasasatori - 博客园

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2180597.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

js将对象的键和值分别归纳进对象,并将多层对象转化成数据的方法

前言&#xff1a; 后端传给我一个没有处理过的json串&#xff0c;但是我要传入el-tree做渲染&#xff0c;此篇来记录一下整个数据处理过程以及el-tree的使用 需求描述&#xff1a; 一、树结构可以展开可以收缩&#xff0c;默认全部展开 二、有一些关键词需要高亮展示红色 …

第十三届蓝桥杯真题Python c组D.数位排序(持续更新)

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;蓝桥杯关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 问题描述 小蓝对一个数的数位之和很感兴趣, 今天他要按照数位之和给数排序。…

Knots_3D 9.3.0 一款教你绑绳结的手机应用

Knots 3D (3D绳结)是一款教你绑绳结的手机应用&#xff0c;可以掌握一些必备的绳结系法&#xff0c;拥有 120 个 3D 效果的绳结&#xff0c;教你系上、解开&#xff0c;户外爱好者必备。Knots 3D已经被全世界的园艺师、渔民、消防员、登山者、军人和童子军使用&#xff0c;它将…

9.2 Linux_I/O_标准I/O相关函数

打开与关闭 文件打开就是判断这个文件资源可不可以被占用&#xff0c;如果可以&#xff0c;就能够打开成功&#xff0c;否则打开失败 文件关闭就是释放文件资源 1、打开文件 1.1 函数声明 FILE *fopen(const char *pathname, const char *mode); 返回值&#xff1a;出错返…

永不失联!遨游双卫星三防手机成为高效应急关键所在

今年9月被戏称为“台风月”&#xff0c;台风“摩羯”、“贝碧嘉”以及热带气旋“普拉桑”接连来袭&#xff0c;极端天气不仅导致了电力中断、道路损毁&#xff0c;更使得传统的通信网络遭受重创&#xff0c;给应急通信保障工作带来了极大的压力。面对“三断”的实战难题&#x…

铰链+屏幕齐发力,告诉你 Mate XT 是如何让折痕变得“无存在感”

“折痕”是折叠手机永恒的话题&#xff0c;每一款折叠屏手机产品的问世&#xff0c;都逃不过对折痕的关注和讨论。 为什么会存在折痕&#xff1f; 材料在弯折的状态下会受到力的作用&#xff0c;在内部产生“压缩”的应力和“拉伸”的应力&#xff0c;这些应力集中在弯折的区…

pytorch线性/非线性回归拟合

一、线性回归 1. 导入依赖库 import numpy as np import matplotlib.pyplot as plt import torch from torch import nn, optim from torch.autograd import Variable numpy&#xff1a;用来构建数据matplotlib.pyplot&#xff1a; 将构建好的数据可视化torch.nn&#xff1a…

《向量数据库指南》——Fivetran 的 Partner SDK:构建自定义连接器和目标

哈哈,说到 Fivetran 的 Partner SDK,这可真是个好东西啊!作为向量数据库领域的“老司机”,我今天就来给大家详细讲讲这个 SDK 的厉害之处,以及如何用它来构建自定义连接器和目标,实现与 Fivetran 自动化数据移动平台的无缝集成。 一、Fivetran Partner SDK:开启自定义连…

二叉树深搜专题篇

目录 计算布尔二叉树的值 求根节点到叶节点数字之和 二叉树剪枝 验证二叉搜索树 二叉搜索树中第K小的元素 二叉树的所有路径 计算布尔二叉树的值 题目 思路 这道题其实是比较简单的&#xff0c;对二叉树来一次后序遍历即可&#xff0c;当遇到叶子结点直接返回叶子节点中…

干部画像系统怎么实现人岗智能匹配的?

人岗匹配的核心在于实现“岗得其人”和“人适其岗”&#xff0c;即根据不同人的个体特征将不同的人安排在各自最合适的岗位上&#xff0c;达到人尽其才的目标。干部画像系统作为一种辅助领导智慧识才的工具&#xff0c;通过集成多种技术手段和分析方法&#xff0c;对干部的定性…

【代码实现】torch实现F.pixel_shuffle和F.pixel_unshuffle

原理 pixel_shuffle 和 pixel_unshuffle 常用于神经网络减少特征图尺寸以减少计算量&#xff0c;由于有些硬件不支持这两个算子&#xff0c;可以根据原理使用torch实现。 代码实现 import torch.nn.functional as F import torch def pixelshuffle_inv(tensor, scale2):N, c…

C++详解vector

目录 构造和拷贝构造 赋值运算符重载&#xff1a; vector的编辑函数&#xff1a; assign函数&#xff1a; push_back和pop_back函数&#xff1a; insert函数&#xff1a; erase函数&#xff1a; swap函数&#xff1a; clear函数&#xff1a; begin函数&#xff1a; e…

【以图搜图代码实现2】--faiss工具实现犬类以图搜图

第一篇&#xff1a;【以图搜图代码实现】–犬类以图搜图示例 使用保存成h5文件&#xff0c;使用向量积来度量相似性&#xff0c;实现了以图搜图&#xff0c;说明了可以优化的点。 第二篇&#xff1a;【使用resnet18训练自己的数据集】 准对模型问题进行了优化&#xff0c;取得了…

汽修行业的知识库搭建:赋能在线教育与知识付费

随着汽修行业的蓬勃发展&#xff0c;其业务范围和技术要求日益多元化。为了应对这一趋势&#xff0c;许多汽修公司开始探索线上教育模式&#xff0c;通过开设汽修知识课程&#xff0c;实现知识的有偿分享与传播。这一转变不仅拓宽了企业的盈利渠道&#xff0c;也为广大汽修爱好…

深度学习之贝叶斯分类器

贝叶斯分类器 1 图解极大似然估计 极大似然估计的原理&#xff0c;用一张图片来说明&#xff0c;如下图所示&#xff1a; ​ 例&#xff1a;有两个外形完全相同的箱子&#xff0c;1号箱有99只白球&#xff0c;1只黑球&#xff1b;2号箱有1只白球&#xff0c;99只黑球。在一次…

【Spark 实战】基于spark3.4.2+iceberg1.6.1搭建本地调试环境

基于spark3.4.2iceberg1.6.1搭建本地调试环境 文章目录 基于spark3.4.2iceberg1.6.1搭建本地调试环境环境准备使用maven构建sparksql编辑SparkSQL简单任务附录A iceberg术语参考 环境准备 IntelliJ IDEA 2024.1.2 (Ultimate Edition)JDK 1.8Spark 3.4.2Iceberg 1.6.1 使用mave…

C++----类和对象(一)

一.类的定义 1.类定义的格式 • class为定义类的关键字&#xff0c;ST为类的名字&#xff0c;{}中为类的主体&#xff0c;注意类定义结束时后面分号不能省 略。类体中内容称为类的成员&#xff1a;类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或 者成员函数。 …

NAND Flash虚拟层设计概述

NAND Flash虚拟层的建立需要对NAND Flash虚拟层进行初始化&#xff0c;根据相应的NAND Flash的物理结构参数建立逻辑结构&#xff0c;并建立索引表来管理逻辑虚拟层与物理虚拟层之间的联系&#xff1b;而在NAND Flash虚拟层运行过程中需要对NAND Flash虚拟层进行相应的垃圾回收…

【AI驱动TDSQL-C Serverless数据库技术实战】 AI电商数据分析系统——探索Text2SQL下AI驱动代码进行实际业务

目录 一、Text2SQL简介二、基于TDSQL-C Serverless的Text2SQL实战2.1、程序流程图2.2、实践流程2.2.1、配置TDSQL-C2.2.2、部署LLAMA模型2.2.3、本地依赖安装2.2.4、应用构建 2.3、运行效果 三、Text2SQL下的AI驱动 Text2SQL 是一种将自然语言查询转换为 SQL 查询的技术&#x…

NVIDIA H200 Tensor Core GPU

增强 AI 和 HPC 工作负载。 文章目录 前言一、通过更大、更快的内存实现更高的性能二、通过高性能 LLM三、增强高性能计算四、Reduce Energy and TCO 降低能耗和 TCO五、通过 H200 NVL 为主流企业服务器释放 AI 加速前言 The GPU for Generative AI and HPC 用于生成式 AI 和 …