原创 【博客大赛】PLL那些事之乘除因子

2013-1-4 18:30 1837 12 16 分类: FPGA/CPLD 文集: ALTERA FPGA

PLL那些事之乘除因子

王敏志

概述

         PLL的基本概念可以在ALTERA的官方网站上找到详细的说明,这里引用一下里面的PLL框图用以更好的说明PLL的乘除因子。

Phase-locked loop PLL Block Diagram

1PLL框图

一个问题引出的PLL乘除因子的故事

         在研究基于FPGATDC的时候,为了产生一个相位与系统时钟尽量不相关的低速时钟来模拟hit,所以需要使用PLL来产生。如图2所示显示的是使用PLL产生一个31.280547MHz时钟,是由输入的250MHz时钟除以1023再乘以128得到。

3.JPG

2:乘因子128,除因子1023

         注意图2包含的两个细节,第一个是此时PLL只有一个输出信号;第二是此时器件选择的是Cyclone 3系列。这里的故事就是跟这两个细节有关系,即改变这两个条件里任何一个都有可能导致上述时钟无法产生。图3显示的是改变第一个条件造成的后果。即如果我需要增加一个PLL的输出的时候上述时钟无法产生,实际上QuartusII自动得到一个31.25MHz的时钟,即实际的乘除因子分别是1和8。

2.JPG

3:增加PLL的输出数量使乘除因子设置受限

 

 

乘除因子的真相

  • FREF = FIN / N
  • FVCO = FREF × M = FIN × M/N
  • FOUT = FVCO / C = (FREF × M) / C = (FIN × M) / (N × C)

其实我们在讲乘除因子的时候必须搞清楚PLL的几个counter,即MN以及C计数器。首先我们可以确定的是Megawizard里“Clock multiplication factor”就等于M计数器的值,而“Clock division factor”等于N计数器的值乘以C计数器的值,这些可以从上述公式里找到答案。

在进行PLL例化设置的时候,Megawizard一般不提供,ALTERA也不建议客户去设置MN以及C计数器,而是通过设置乘除因子来设置PLL,编译器会自动设置这些计数器的值。只有高级应用,即高级用户可以通过特殊方式来设置MN以及C计数器来配置PLL。另外,应用ECO工具手动修改FPGA设计的时候也可以修改这些计数器以及其他参数。

 

故事问题的答案

    上面那个故事给出两个条件,即不能多于1PLL输出和更改器件选择。那么到底为什么呢?

    首先介绍为什么不能多于1PLL输出。其实也不是不能多于一个PLL输出,而是因为第一个时钟设置的乘除因子限制了获取其他时钟的配置参数。为什么这么说呢?因为PLL所有输出都是通过FVCO除以Ci(对应PLL输出端口的C计数器的Value)计数器产生的,上述例子中FVCO=250x128/31约等于1032.258MHz。而为了得到第一个时钟,MN已经确定为12831了,那么第二个时钟也必须依据这个MN值来产生,所以后面的时钟频率不能随意产生了,而是有所限制。故图3中的c1在设置为25MHz的无法在c0上得到31.280547MHz这个特定时钟了。换句话说为了在c0上得到31.280547MHz这个特定时钟,这个PLL的剩下的输出端口的时钟频率就限制为(250x128/31*Ci)其中Ci的值为1512

         其次是为什么不能更改器件呢?其实也不是不能更改器件,而是当时31.280547这个频率限定了FVCO的值,即1032.258MHz。并且当时的情况是先在CIII的开发板上做实验,后面移植到了实际产品,而产品使用的器件是ArriaGX系列。查手册发现这两个器件的PLLFVCO范围还不一样。如图4和图5所示。

20130104180339104004.jpg

4Cyclone 3PLLFVCO范围

20130104180351999005.jpg

5ArriaGXPLLFVCO范围

         由图5可知,当换成ArriaGX以后显然无法再得到所需特定频率的时钟了。

 

 

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户377235 2013-3-6 23:42

henhao

coyoo 2013-2-1 13:12

嗯,是的,搞了个控件好了.一直用火狐,IE系统已经奔溃了,网上重新下了个

用户403664 2013-2-1 11:55

IE需要下载一个控件的。火狐的兼容正在升级,等年后也可以用了,抱歉!

coyoo 2013-1-4 18:24

回家用MyIE可以使用高级编辑模式!希望EDN能支持火狐的高级编辑模式。

coyoo 2013-1-4 11:56

高级编辑模式不太好用啊,火狐浏览器不能用,直接用IE说没有授权,晕啊。

用户39003 2007-12-20 14:01

我们公司是专门配置这个设备的,而且价钱很便宜,有兴趣的可以联系我:amylovesunshine@hotmail.com  qq:280122787

用户104816 2007-3-29 17:48

有没有联系电话?修的如何啊?请联系我,13938230001

用户1053025 2006-12-11 12:46

hehe,赞一个。

用户1053025 2006-12-4 09:44

呵呵,期待结果哦。21w的东东呢。
相关推荐阅读
coyoo 2024-12-25 14:13
ALTERA Cyclone 10器件的使用-8:特定的上电顺序
概述 Intel 要求用户为其10代FPGA器件使用特定的上电和掉电顺序,这就要求用户在进行FPGA硬件设计的时候必须选择恰当的FPGA供电方案,并合理控制完整的供电上电顺序。经过在Cyclone 1...
coyoo 2024-12-22 11:46
AD9218子板在新处理板上表现的问题
概述 新的数据处理板融合了数字和数据处理功能模块,计划采用ADI的4通道串行ADC芯片代替之前的并行ADC。由于初次使用,所以初次设计时预留了AD9218的子板的插槽。 在调试AD9633功能的同时并...
coyoo 2024-12-14 17:15
在Cyclone 10 GX器件上实现高精度TDC探索
概述 Cyclone 10 GX器件的ALM结构与Cyclone V类似,所以在Cyclone 10 GX器件上实现TDC功能理论上是可以完全参考甚至移植自Cyclone V系列的成功案例。但是,现实...
coyoo 2024-12-10 13:28
Cyclone V GX FPGA设计TDC的优化问题
概述 通过前面的研究学习,已经可以在CycloneVGX器件中成功实现完整的TDC(或者说完整的TDL,即延时线),测试结果也比较满足,解决了超大BIN尺寸以及大量0尺寸BIN的问题,但是还是存在一些...
coyoo 2024-12-03 12:20
比较器检测模拟脉冲说明(四)
概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解...
coyoo 2024-11-16 13:54
不同ADC采样同一前端模拟信号时转换用时差异分析
概述 同一组前端模拟信号接入由不同型号ADC组成的模数转换电路时,采样后在FPGA中发现采样用时差异较大。本文主要分析这个时间差异形成的原因,并记录该差异产生对系统造成的影响。系统数字化简介 项目前端...
EE直播间
更多
我要评论
4
12
关闭 站长推荐上一条 /1 下一条