686|1

1539

帖子

2

资源

五彩晶圆(初级)

安路SparkRoad开发板测评(5) PLL IP与频率计 [复制链接]

  PLL是FPGA中常用到的资源,用来合成外部晶振提供的频率以外的时钟。EG4S20带了四个PLL,使用PLL资源也是通过IP核的形式。

 

  在TD的IP Generator中选择PLL,出现第一个对话框,将看到一些选项了。

203159yxf4sxkfjn3wkdwj.png

  PLL最简单的配置方式是指定输入频率和一个输出频率,让工具计算分频和倍频系数。SparkRoad上FPGA外接24MHz有源晶振,所以填写上24,其它可以默认试试,点Next到下一页。

203159k67qc7c7gh1quc7w.png

  例如只需要一个输出时钟,50MHz,就在Use C0 clock后面填上50. 注意到旁边显示的实际时钟是48MHz! 在下面的信息框中提示了,VCO振荡器的频率是1008(MHz),M和N计数器分别是2和1. 也就是输出等于输入两倍,为什么没有做到指定的50MHz呢?

  我以前用Altera的FPGA PLL时,没有遇到这样的情况。

 

  点对话框上面Parameter setting,切换到手动指定参数模式。

203159wll8gnal8csci554.png

  注意到在”Use C0 clock”旁边的输入变成了”Division Factor”的设置,给出的数值是21. 调小调大这个数,输出频率还是48MHz没变,但是下面显示的VCO频率会变化。如果VCO频率低于300MHz, 软件会提示错误:

203159n618heufhf1eweu0.png

  那么决定输出频率的应该是上面的两个数字:division factor与multiplication factor. 将输入时钟除以一个数,再乘一个数——得到期望的输出频率,但VCO频率是这个频率的倍数,由下面那个因子决定。

  现在输入频率是24MHz,就注定最多是除以2,不然,输入相位比较器的频率过低不能工作:

203159smy46x6oo19he9ev.png

  只能是得到较高的VCO频率以后再分频下来。

 

  勾选”Use C1 clock”等,再试其它系数,看能组合怎样的输出频率吧。

203159vweeffncoqm3qrft.png

  看来另外几个Division Factor都是从VCO频率除上一个值,对应到输出时钟。而C0旁边的数才是调节VCO频率的。

 

  要从24MHz输入频率得到50MHz PLL输出,究竟应该怎么算?24和50的最小公倍数是600,那么将VCO频率设置为600MHz就该可以了吧。然而现在不能直接指定这个倍数,因为是24/12*25=600, 输入频率是不能除以12的(2MHz太低)

  在网上搜了下这个问题,线索是要用”No compensation”模式,就是在第一个对话框里面选,不能用Normal模式了。退回去修改一下,然后:

203159lkkbizyy3ybrs839.png

  这样可以输出50MHz了。注意到现在填写的”clock multiplication factor”对频率的控制和前面不同。对比一下软件给出的PLL逻辑框图,反馈环路不同了:

203159hwllyywsfl1f616e.png

 

  也就是,No compensation模式下,从VCO输出取出分频,给相位比较器;而Normal模式下,是从输出的C0时钟取出分频,给到相位比较器的。我在PLL方面的经验少,不知这两种方式的优劣。

  现在为了实现24MHz到50MHz频率合成,是必须用No compensation模式的。

 

  好了,编写一个频率计,来测试PLL生成的时钟频率吧。

  利用SparkRoad的数码管,显示4位数字表示的频率。在前面编写的数值转换十进制显示逻辑基础上,增加一个周期复位的计数器,用来测量PLL输出频率。

  这个计数器工作在PLL输出时钟频率上,与其它部分(控制和显示,工作在24MHz)是异步的,因此我用了跨时钟域上升沿检测。比如,计数器工作频率50MHz,每当检测到一个1MHz时钟的上升沿时,就将计数器复位,那么计数器值就会是0,1,2,…,48,49,0,1…这样循环。在复位的时候,把计数器值锁存到另外一个寄存器,就大概实现频率计了。

203159nf6312p001yphnfm.png

  我在这里多加了一些处理:一是频率显示末位是0.1MHz,二是加了一点类似四舍五入的功能,因此实际复位计数器的时间更长。

203159tjsu04pw44o9904o.png

  给频率计数器的异步参考时钟是主时钟24MHz的1/960.

 

  运行效果:

203159du14k67u8k017m15.jpg

 

  提高PLL输出频率,这里面的频率计数器能跑到多快呢?

  一直到400MHz还能正常显示:

203159nk8kliwpw795chgx.jpg

  420MHz的时候已经挂掉了:

203159u5a8a8q5be5aob5x.jpg

 


回复

7106

帖子

0

资源

五彩晶圆(中级)

看来,要进行24MHz到50MHz频率合成,用No compensation模式是必须用的。


回复
您需要登录后才可以回帖 登录 | 注册

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
    推荐帖子
    LTC1867芯片单极模式只能采样0~2V

    本帖最后由 清风烈酒 于 2018-1-30 12:58 编辑 在stm32f107基础上使用LTC1867芯片采样,设置单极性后只能采样要0~2V的电压, ...

    微软即将推出的HoloLens v2可能已经泄露

    微软并没有承认他们正在开发HoloLens v2,并且明白了2代产品采用改良的全息处置单元和改良的基于Kinect的深度感应单元。如今,行 ...

    RAM、ROM、SRAM、DRAM、SSRAM、SDRAM、FLASH、EEPROM

    RAM(Random Access Memory) 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种 ...

    电机型号参数大全,再也不怕看不懂电机型号了

    电动机型号是便于使用、设计、制造等部门进行业务联系和简化技术文件中产品名称、规格、型式等叙述而引用的一种代号。防爆云平台 ...

    PCB走线角度选择到底该不该90°?

    现在但凡打开SoC原厂的pcbLayout Guide,都会提及到高速信号的走线的拐角角度问题,都会说高速信号不要以直角走线,要以45度角走 ...

    STM 的Arduion 无法下载固件问题?

    用Arduion 来编程STM32 非常方便,目前可以支持很多ST 官方的板子,如下图所示,但在下载的时候,基本没有速度,感觉是服务 ...

    关闭
    站长推荐上一条 1/7 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表