PLL和CDR的内部结构及其区别

news/2024/10/5 19:35:14/

在这里插入图片描述
比较PLL和CDR的内部结构及其区别:

  1. 基本结构:

    PLL(相位锁定环):

    • 相位检测器
    • 环路滤波器
    • 压控振荡器(VCO)
    • 分频器(可选,用于频率合成)

    CDR(时钟数据恢复):

    • 相位检测器
    • 环路滤波器
    • 压控振荡器(VCO)
    • 数据采样器
  2. 主要区别:

    a) 输入信号:

    • PLL:通常接收一个干净的参考时钟信号。
    • CDR:直接从数据流中提取时钟信息,输入可能包含噪声和抖动。

    b) 相位检测器:

    • PLL:比较参考时钟和VCO输出(经过分频)的相位差。
    • CDR:从数据流中检测边沿,与本地时钟比较。CDR的相位检测器通常更复杂,需要处理不规则的数据流。

    c) 分频器 vs 数据采样器:

    • PLL:通常包含分频器,用于频率合成。
    • CDR:包含数据采样器,用于在恢复的时钟边沿采样数据。

    d) 锁定目标:

    • PLL:锁定到参考时钟的频率和相位。
    • CDR:锁定到数据流的平均速率和最佳采样点。

    e) 动态范围:

    • PLL:通常设计为较窄的动态范围,以提高精度。
    • CDR:需要更宽的动态范围,以适应数据流的变化和初始频率不确定性。
  3. 性能考虑:

    a) 抖动处理:

    • PLL:主要处理参考时钟的抖动。
    • CDR:必须处理数据流中的抖动,这通常更具挑战性。

    b) 锁定时间:

    • PLL:通常可以较快锁定。
    • CDR:可能需要更长时间来锁定,特别是在初始频率差较大时。

    c) 适应性:

    • PLL:一旦设计完成,适应性较低。
    • CDR:通常需要更高的适应性,以处理不同的数据模式和速率。
  4. 应用场景:

    • PLL:常用于时钟生成、频率合成、时钟清洁等。
    • CDR:主要用于高速串行通信,如RapidIO、PCIe、以太网等。
  5. 在RapidIO中的应用:

    • RapidIO使用CDR而不是PLL进行时钟恢复,因为它需要直接从数据流中提取时钟信息。
    • CDR允许RapidIO在没有单独时钟线的情况下进行高速数据传输,简化了系统设计。

总结来说,虽然PLL和CDR在基本结构上有相似之处,但CDR是为了从数据流中恢复时钟而专门设计的。它需要处理更复杂的输入信号,并提供更高的适应性和鲁棒性。在RapidIO等高速串行接口中,CDR的使用是实现高效、可靠数据传输的关键。


http://www.ppmy.cn/news/1473422.html

相关文章

python使用动态属性访问JSON类数据,Get it!

目录 1、基础访问:内置json模块 📦 1.1 json.loads转换字符串 1.2 动态属性访问技巧 2、面向对象方式处理JSON 🛰️ 2.1 创建JSON数据模型类 2.2 动态属性与方法绑定 3、类型安全: 数据类(dataclasses)应用 🔒 3.1 数据类基础 3.2 自动从JSON解构数据 3.3 动态…

C++ 模板类与函数

模板类可以用于函数的参数和返回值,有三种形式: 1)普通函数,参数和返回值是模板类的实例化版本。 2)函数模板,参数和返回值是某种的模板类。 3)函数模板,参数和返回值是任意类型&…

如何使用 SwiftUI 构建 visionOS 应用

文章目录 前言WindowsVolumes沉浸式空间结论 前言 Apple Vision Pro 即将推出,现在是看看 SwiftUI API 的完美时机,这使我们能够将我们的应用程序适应 visionOS 提供的沉浸式世界。苹果表示,构建应用程序的最佳方式是使用 Swift 和 SwiftUI。…

《数据仓库与数据挖掘》 总复习

试卷组成 第一章图 第二章图 第三章图 第四章图 第五章图 第六章图 第九章图 第一章 DW与DM概述 (特点、特性) DB到DW 主要特征 (1)数据太多,信息贫乏(Data Rich, Information Poor)。 &a…

Java后端每日面试题(day3)

目录 Spring中Bean的作用域有哪些?Spring中Bean的生命周期Bean 是线程安全的吗?了解Spring Boot中的日志组件吗? Spring中Bean的作用域有哪些? Bean的作用域: singleton:单例,Spring中的bean默…

c++11新特性-7-委托构造函数与继承构造函数

文章目录 委托构造函数继承构造函数 委托构造函数 以前旧版 class Base { public:Base(int age){this->age age;}Base(int age,int num){this->age age;this->num num;}Base(int age,int num,int score){this->age age;this->num num;this->score sco…

浅谈如何在linux上部署java环境

文章目录 一、部署环境1.1、JDK1.2、Tomcat1.3、MySQL 二、将自己写的的程序部署到云服务器上 一、部署环境 为了在linux上部署 Java web 程序,需要安装一下环境。 1.1、JDK 直接使用 yum 命令安装 openjdk。我们 windows系统上 下载的是 oracle 官方的 jdk。而 …

10.10记录

云轴-电话面试 python- 深拷贝和浅拷贝 copy.copy():浅拷贝是创建一个新对象,但是新对象的元素是原对象的引用。也就是说,新对象和原对象共享同一块内存空间。当原对象的元素发生改变时,新对象的元素也会随之改变。 copy.deepco…