输入参考时钟
从上图可以看到参考时钟输入的几种类型。
 
注意:fPLL的校正是由CLKUSR来驱动的,这个时钟必须要保持稳定。
参考时钟利用器
 
 
N计数器
N计数器会把参考时钟利用器输出进行分频。N计数器帮助降低环路带宽、减少PFD内部频率操作范围。N计数器支
持的分频因子从1到32
相频检测器(PFD)
N计数块输出的refclk和M计数器输出fbclk同时作为PFD的输入。当参考时钟的下降沿早于反馈时钟的下降沿时,
PFD生成一个“UP”信号,相反的,如果反馈时钟的下降沿早于参考时钟的下降沿,PFD生成一个“Down"信号
充电泵和环路滤波器(CP + LF)
PFD的输出用于充电泵和环路滤波器生成VCO的控制电压,充电泵把”up/down“信号转换脉冲转换成电流脉冲,再
经过环路低通滤波器后成为VCO的控制电压。
压控制振荡器
VCO把输入电压转换成可调节的时钟频率。
VCO freq = 2*M*Input reference clock/N.
 
后缩放计数器,L
L 计数器把VCO输出的时钟分频,当fPLL作为一个发送器的PLL时,L计数器驱动CGB并通过x1时钟线来驱动TX PMA。
M计数器
对VCO输出时钟分频,M计数器可以选择任何VCO相位。M计数据 和N计数器输出频率相同。M计数器在整数模式的范
围从8到128,而在小数模式的范围是11到123。
Delta-Sigma Modulator(Delta-Sigma 调制器)
delta-sigma modulator (DSM)与 M 乘法计数器一起用于使 PLL 运行在小数分频模式。DSM 从周期
到周期动态地修改 M 计数器因子。不同的 M 计数器因子允许"average" M 计数器因子是一个非整
形。4-20 时钟倍频与分频
C计数器
FPLL C计数器分频因子从1到512.
小数分频模式(Fractional Mode)
在小数分频模式下,M 计数器值等于 M 反馈因子与小数分频值的和。小数分频值等于 K/2^32, 其中K 是 0 到(2^32–1)之间的整数。
整数模式(Integer Mode)
对于运行在整数模式的 PLL,M 是一个整数值,DSM 是禁用的。
I/O PLL 只能运行在整数模式。

 二、动态重配

可选择重配置逻辑(Optional Reconfiguration Logic)
使能选项:
• Capability registers
• Control and status registers
• PRBS soft accumulators (Native PHY IP core only)
两级仲裁
1、重配置接口与PreSICE校正引擎仲裁
2、Native PHY/PLL IP的主avalon-mm接口之间的仲裁
  • 内嵌重配置器(Embedded reconfiguration streamer)(只能用于Native PHY和ATX PLL,说明应该不可以用于fPLL)
  • ADME
  • 用户配置逻辑
 它们三个就是所说的特征块(feature blocks)
当PreSICE没有控制内部总线时,三个特征块才可以使能来访问内部配置总线。三个特征块同时访问时,是有优先级的,
其中内嵌重配置器优先级最高,用户配置逻辑次之。当优先级低的正在访问过程,优先级高的只能等到优先级低的访问完
成后才能访问。要注意的是:如果使能ADME,要连接一个avalon-mm主到配置接口,或者连接reconfig_clock,reconfig_reset信
号并把reconfig_write,reconfig_read,reconfig_address和reconfig_writedata信号接地。如果配置接口没有正确连接,ADME就不
会有时钟和复位,ADME也可能工作失常。
 
动态重配中建议
  • Tx PLL重配建议
在以下两种情况时,使用软寄存器控制fPLL的pll_powerdown
  1. 把fPLL的模式从integer修改为fractional
  2. 把fPLL的模式从fractional修改为integer
当涉及数据速率和协议模式重配时,建议在PLL重配和校正过程中,PLL和发送器通道同时处于复位状态。可以通过tx_digitalreset, rx_digitalreset,
tx_analogreset, 和rx_analogreset或者通道软寄存器进行复位。如果需要重配ATX PLL,使用TX PLL切换模式或者使用本地时钟分频来实现速率调整而避免校正ATX PLL。
  • 通道建议
  1. 当进行涉及数据速率和协议模式重配时,在配置过程中,可以通过tx_digitalreset, rx_digitalreset, tx_analogreset, 和rx_analogreset或者通道软寄存器进行复位。
  2. 当进行不涉及数据速率和协议模式重配时,建议在配置过程只对数字部分进行复位。

 

fPLL结构及动态配置的更多相关文章

  1. Spring动态配置多数据源

    Spring动态配置多数据源,即在大型应用中对数据进行切分,并且采用多个数据库实例进行管理,这样可以有效提高系统的水平伸缩性.而这样的方案就会不同于常见的单一数据实例的方案,这就要程序在运行时根据当时 ...

  2. 全互联结构DVPN综合配置示例

    以下内容摘自正在全面热销的最新网络设备图书“豪华四件套”之一<H3C路由器配置与管理完全手册>(第二版)(其余三本分别是:<Cisco交换机配置与管理完全手册>(第二版).&l ...

  3. nginx动态配置及服务发现那些事

    Reference: http://xiaorui.cc/2016/10/16/nginx%E5%8A%A8%E6%80%81%E9%85%8D%E7%BD%AE%E5%8F%8A%E6%9C%8D% ...

  4. log4net日记文件路径动态配置

    在项目开发过程中,部署的服务器越来越多,查看日记的时候需要每台服务器去找日记看,这对运维人员来说是一个很不友好的方式.在此基础上就提出将所有日记统一到一台服务器上进行存放,并按照产生日记的服务器分文件 ...

  5. oracle结构-内存结构与动态内存管理

    内存结构与动态内存管理 内存是影响数据库性能的重要因素. oracle8i使用静态内存管理,即,SGA内是预先在参数中配置好的,数据库启动时就按这些配置来进行内在分配,oracle10g引入了动态内存 ...

  6. 新手学分布式 - Envoy Proxy XDS Server动态配置的一点使用心得

    Envoy Proxy 动态API的使用总结 Envoy Proxy和其它L4/L7反向搭理工具最大的区别就是原生支持动态配置. 首先来看一下Envoy的大致架构 从上图可以简单理解:Listener ...

  7. .NET Core的响应式框架,基于Ace Admin框架菜单导航,Bootstrap布局,fontAwesome图标,内嵌Iframe用EasyUI做数据绑定,动态配置列表,动态配置表单

    netnrf 响应式框架 用于快速开发的响应式框架 演示:https://rf2.netnr.com v3.x 前端采用 jQuery + Bootstrap + EasyUI + AceAdmin ...

  8. Springboot+Mybatis+Pagehelper+Aop动态配置Oracle、Mysql数据源

      本文链接:https://blog.csdn.net/wjy511295494/article/details/78825890 Springboot+Mybatis+Pagehelper+Aop ...

  9. Spring Boot打包瘦身 Docker 使用全过程 动态配置、日志记录配置

    springBoot打包的时候代码和jar包打包在同一个jar包里面,会导致jar包非常庞大,在不能连接内网的时候调试代码,每次只改动了java代码就需要把所有的jar包一起上传,导致传输文件浪费了很 ...

随机推荐

  1. union和union all区别

    如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并在一起显示出来. union和unio ...

  2. WEB框架Django之Form组件

    Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 一 通过form实现校验字段功能 模型:mod ...

  3. 团队合作之项目NABCD

    小组组长 :毛松林 组员  :张浩,谢诗语 N 我们小组要开发的项目是“高校自习室查询APP”,作为一个大学生,自学是一件很重要的能力,大学的老师不可能还像高中的老师那样整天逼着你学习,爱学不学,不学 ...

  4. Oracle_PL/SQL(8) 动态sql

    动态sql0.pl/sql块的限制 不能执行ddl操作(create.drop.alter): 不能执行部分dcl操作(grant.revoke). 1.语法动态sql:在执行时才能确定要执行的sql ...

  5. L1-027 出租(20)(STL-map代码)

    L1-027 出租(20 分) 下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破.其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2 ...

  6. XiaoKL学Python(D)argparse

    该文以Python 2为基础. 1. argparse简介 argparse使得编写用户友好的命令行接口更简单. argparse知道如何解析sys.argv. argparse 模块自动生成 “帮助 ...

  7. HTTP.ResponseCode

    HTTP响应码: http://blog.csdn.net/cutbug/article/details/4024818

  8. eclipse手动安装alibaba代码规范插件

    如果你的开发环境无法访问外网,那么手动安装阿里巴巴的代码规范插件是一个不错的选择.另外,很多教程说该插件需要jdk1.8以上,我试了一下jdk1.7也是可以运行的,更低的版本就不知道了,貌似jdk1. ...

  9. 【附源文件】软件工具类Web原型制作分享 - Sketch

    Sketch是一款轻量,易用的矢量设计工具.专门为UI设计师开发,让UI设计更简单.更高效. 本原型由国产原型工具-Mockplus制作完成. 非常适合工具类产品官网使用,本模板的交互有通过使用面板组 ...

  10. asio的网络通讯代码练手

    asio的网络基本模板(单例模式 消息队列 ) // MyAsio.cpp: 定义控制台应用程序的入口点. // #include "stdafx.h" #include < ...