DDR2存储器的时钟频率较高,最低的也有133MHz,如果时钟信号由FPGA提供,那这个时钟信号必须由PLL来提供,这样才能保证时钟信号的性能。手头上只有一个EP2C20的FPGA,所以就以ALTERA公司的CYCLONE II为例,简单介绍一下PLL的使用,至于CYCLONE III的PLL,我觉得也应该差不多,在使用时查看各自的数据手册就可以了。
在硬件上,除了EP2C5和EP2C8这两个型号含有2个PLL之外,其它型号都含有4个PLL,分布在芯片的4个角上。之所以布局在芯片的4个角上,我想这主要是考虑尽量远离噪声较大的数字电路部分(PLL还是模拟电路,其它逻辑资源都是数字电路,这一点从PLL的供电部分要求较高也可以看出)。下图是PLL电路的框图,
PLL具体由哪些电路组成,这里不作探讨,这里只从应用的角度作一使用说明。先说PLL的输入时钟,共有2对共4个时钟输入引脚,分别是CLK0、CLK1、CLK2、CLK3。实际的电路到底需要多少个时钟输入,这要看具体的应用。PLL的输出可以说共有三个,分别是C0、C1、C2。但在应用中也要注意,C0、C1只能提供给FPG**内的全局时钟,而不能输出到FPG**外;如果要从FPGA引出时钟,只能使用C2了,所以C2还有另外一个名字PLL<#>OUT。
软件上PLL主要就是由altpll宏来实现的,包括输出频率也是由这个宏来实现的。下图是宏altpll的框图,
其中:
1、inclk[1..0],PLL的输入时钟,必须由FPGA的时钟输入引脚来输入,普通的IO是不可以的。
2、pllena,PLL的使能引脚。
3、areset,PLL的复位引脚。
3、pfdena,PFD的使能引脚。PFD是构成PLL的一个功能模块,具体见数据手册。
4、clkswitch,PLL的多时钟转换引脚。
5、c[1..0],PLL的输出时钟,供FPG**内的逻辑使用,一般接到全局时钟上。
6、c2,PLL的输出时钟,可以从FPGA引出到其它芯片。
7、locked,PLL的状态指示引脚。
更多文章请访问:
我的博客1:http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM
我的博客2: http://www.eefocus.com/liangziusb/blog/
EDN小组http://group.ednchina.com/GROUP_GRO_14600_3466.HTM
LZ3684 USB2.0开发板(CY7C68013A), 请访问我的淘宝http://shop64171919.taobao.com
LZ3014 USB3.0开发板(CYUSB3014),请访问我的淘宝http://shop64171919.taobao.com
实体店铺:北京新中发电子市场2557号
良子.2012年
欢迎交流:liangziusb@163.com
QQ:2687652834 392425239
文章评论(0条评论)
登录后参与讨论