Cyclone器件中PLL的配置方法.docx
《Cyclone器件中PLL的配置方法.docx》由会员分享,可在线阅读,更多相关《Cyclone器件中PLL的配置方法.docx(35页珍藏版)》请在三一办公上搜索。
1、Cyclone器件中PLL的配置方法使用Cyclone器件中的PLL 译者:Altera中国区授权代理骏龙科技有限公司(技术支持部) www.C 介绍硬件结构软件简述管脚和时钟网络连接硬件功能 时钟反馈模式板子布局MegaWizard定制功能时序分析结论 介绍 Cyclone FPGA具有锁相环和全局时钟网络,提供完整的时钟管理方案。Cyclone PLL具有时钟倍频和分频、相位偏移、可编程占空比和外部时钟输出,进行系统级的时钟管理和偏移控制。Altera Quartus II软件无需任何外部器件,就可以启用Cyclone PLL和相关功能。本文将介绍如何设计和使用Cyclone PLL功能。
2、 PLL常用于同步内部器件时钟和外部时钟,使内部工作的时钟频率比外部时钟更高,时钟延迟和时钟偏移最小,减小或调整时钟到输出和建立时间。 硬件结构 每个Cyclone FPGA包括具有多达两个PLL。表1为种型号Cyclone FPGA内可用的PLL数量。 表1注释: 位于器件的左侧中部 位于器件的右侧中部 表2归纳了Cyclone PLL的功能。 表2.Cyclone PLL功能 功能 时钟倍频和分频 说明 M/ 相位偏移 可编程占空比 内部时钟输出数量 外部时钟输出数量 锁定端口可以输入逻辑阵列 PLL时钟输出可以输入逻辑阵列 小至156皮秒的增量幅度, 每个PLL两个输出 每个PLL一个输
3、出 表2注释: M,N和后scale计数器的值从1至32 最小的相位偏移量为压控振荡器周期除以8 对于角度调整,Cyclone FPGA的偏移输出频率的增量至少为45。更小的角度增量可能取决于PLL时钟输出的倍频/分频系数。 100脚的扁平四方封装的EP1C3器件不支持PLL LVDS输出或外部时钟输出。144脚TQFP封装的EP1C6 PLL2不支持外部时钟输出。 Cyclone PLL区块 PLL主要作用就是把内部/外部时钟的相位和频率同步于输入参考时钟。PLL由许多部分组成,共同完成相位调整。 Cyclone PLL采用一个相位频率检测器把参考输入时钟的上升沿和反馈时钟对齐。根据占空比规
4、定确定下降沿。PFD产生一个上升或下降信号,决定VCO是否需要以更高或更低的频率工作。PFD输出施加在电荷泵和环路滤波器,产生控制电压设置VCO的频率。如果PFD产生上升信号,然后VCO就会增加。反之,下降信号会降低VCO的频率。 PFD输出这些上升和下降信号给电荷泵。如果电荷泵收到上升信号,电流注入环路滤波器。反之,如果收到下降信号,电流就会流出环路滤波器。环路滤波器把这些上升和下降信号转换为电压,作为VCO的偏置电压。环路滤波器还消除了电荷泵的干扰,防止电压过冲,这样就会最小化VCO的抖动。 环路滤波器的电压决定了VCO操作的速度。VCO是用四级差分环路滤波器实现的。反馈环路中的分频计数器
5、增加输入参考频率以上的VCO频率,使得VCO频率等于输入参考时钟的M倍。PFD的输入参考时钟等于输入时钟除以欲scale计数器。因此,PFD某个输入的反馈时钟锁定于PFD的另一个输入的fREF)。 VCO的输出输入三个后scale计数器。这些后scale计数器可以在PLL中产生许多谐振频率。 另外,PLL有内部延迟单元补偿全局时钟网络的走线和外部时钟输出管脚的I/O缓冲器延迟。这些内部延迟是固定的,用户无法控制。 图1是Cyclone PLL主要部分的框架图 图1的注释: 100脚TQFP封装的EP1C3器件不支持PLL LVDS输入 如果你采用LVDS标准,那么要使用PLL的两个CLK管脚。
6、专有CLK管脚的辅助功能支持LVDS输入。对于PLL1,CLK0管脚的辅助功能是LVDSCLK1p,CLK1管脚的辅助功能是LVDSCLK1n。对于PLL2,CLK2管脚的辅助功能是LVDSCLK2p,CLK3管脚的辅助功能是LVDSCLK2n。 100脚TQFP封装的EP1C3器件和144脚TQFP封装的EP1C6 PLL不支持外部时钟输出。 软件简述 Quartus II软件中用altpll宏功能调用Cyclone PLL。图2是Cyclone PLL的端口以及来源和目的。要注意altpll的c1.0和e0时钟输出端口是由后scale计数器G0、G1和E驱动的。G0和G1计数器驱动c0和c
7、1 PLL输出的内部全局时钟网络,E计数器驱动到e0 PLL输出连接的PLL外部时钟输出管脚。 图2 Cyclone PLL的端口 图2的注释: 你可以把这些信号分配给单端I/O标准或LVDS。 Inclk0必须由专用时钟输入管脚驱动 e0驱动两用PLL2.1_OUT管脚 表3.PLL输入信号 端口 inclk0 pllena 说明 PLL的时钟输入 pllena是高有效信号,是PLL的启动和复位信号。它可以启动一个或两个PLL。当该信号为低时,PLL时钟输出端口输出为GND,PLL失锁。一旦该信号再次变高,锁定过程开始,PLL重新和输入参考时钟同步。可以由内部逻辑或任意的通用I/O管来源 目
8、的 专用时钟输入n计数器 管脚 逻辑阵列 PLL控制信号 areset pfdena 脚驱动pllena。 areset是高有效信号,复逻辑阵列 PFD 位所有的PLL计数器为初始值。当该信号为高时,PLL复位该计数器,失锁。一旦该信号再次变低时,锁定过程开始,PLL重新和输入参考时钟同步。可以由内部逻辑或任意通用I/O管脚驱动areset。 pfdena是高有效信号,启逻辑阵列 PFD 动PFD的升降输出信号。当pdfena为低时,PFD无效,而VCO继续工作。PLL不管输入时钟是否有效,时钟输出继续触发,但是会有一些长期偏移。因为输出时钟频率一段时间内不会改变,在输入时钟无效时,pfden
9、a端口可以作为关机或清除信号。可以由内部逻辑或任意通用I/O管脚驱动pfdena端口。 表3注释: PLL的inclk0端口必须由专用时钟管脚驱动。 所有的PLL没有专门的pllena管脚,这样你可以为两个PLL选用其中一个pllena或每个PLL都有各自的pllena管脚。 逻辑阵列来源意味着你可以从内部逻辑或任意通用I/O管脚驱动这个端口。 表4.PLL输出信号 端口 c1.0 说明 PLL时钟输出驱动内部全局时钟网络 PLL时钟输出驱动单端或LVDS外部时钟输出管脚。 PLL锁定状态。当PLL锁定时,该端口为高。当PLL失锁时,该端口为来源 目的 PLL后scale计数器全局时钟网络 G
10、0或G1 PLL后scale计数器PLL2.1_OUT管E 脚 PLL锁定检测 逻辑阵列 e0 locked 低。在PLL锁定过程中,锁定端口输出为脉冲高和低。 表4注释: C1.0可以通过全局时钟网络驱动任何通用I/O管脚。 100脚TQFP封装的EP1C3器件和144脚TQFP封装的EP1C6 PLL2不支持外部时钟输出PLL2.1_OUT。 PLL2.1_OUT管脚是两用管脚。如果不需要这些管脚,它们可以作为通用I/O管脚。 逻辑阵列目的意味着你可以把该端口输出到内部逻辑或任意通用I/O管脚。 在Quartus II软件中,你定义哪些从PLL输出的内部时钟应该补偿。这些PLL时钟输出参照
11、PLL输入时钟进行相位校正。例如,如果c0指定为正常模式下的补偿时钟,那么根据c0在全局时钟网络上的走线来补偿。 管脚和时钟网络连接 你必须用专用时钟输入管脚CLK3.0驱动Cyclone PLL。反转时钟和内部产生时钟无法驱动PLL。表5说明哪些专用时钟管脚驱动哪些PLL输入时钟端口。 u 单个时钟输入管脚不能驱动所有的PLL,但是单个时钟输入管脚可以输入逻辑阵列的两个缓存器以及PLL inclk端口。 表5.PLL输入时钟来源 时钟输入管脚 CLK0 CLK1 CLK2 CLK3 PLL1 PLL2 表5注释: 如果你使用LVDS标准,那么两个驱动PLL的管脚的CLK都要使用。 EP1C3
12、只支持PLL1。 altpll的c1.0和e0时钟输出管脚由PLL后scale计数器G0、G1和E驱动。G0和G1计数器馈入c0和c1 PLL输出的内部全局时钟网络上。E计数器馈入e0 PLL输出的PLL外部时钟输出管脚上。表6说明PLL后scale计数器输出能够驱动哪些全局时钟网络。 表6.PLL输出时钟对应的全局时钟网络 PLL 计数器输出 G0 G1 G0 G1 GCLK0 GCLK1 GCLK2 GCLK3 GCLK4 GCLK5 GCLK6 GCLK7 PLL1 PLL2 图3为PLL输入和输出时钟连接关系,归纳了表5和表6的内容。 图3.Cyclone PLL时钟连接 图3注释:
13、PLL1通过CLK0和CLK1管脚支持一个单端或LVDS输入。 PLL2通过CLK2和CLK3管脚支持一个单端或LVDS输入。 PLL1_OUT和PLL2_OUT支持单端或LVDS输出。如果不使用外部时钟输出,这些管脚可以作为通用I/O管脚。 硬件功能 你可以在逻辑阵列区块和输入/输出单元级反转PLL的时钟输出。 Cyclone PLL有许多高级功能,包括时钟倍频和分频、相位偏移、可编程占空比、外部时钟输出和控制信号。 时钟倍频和分频 Cyclone PLL采用M/(N后scale)scale系数为PLL输出端口提供时钟合成输出。每个PLL有一个预scale系数和一个乘法系数,范围从1到32。
14、输入时钟经由预scale计数器分频后产生PFD的输入参考时钟。然后fREF乘以M反馈系数。控制环路驱动VCO频率匹配fIN(M/N)。见下面等式。 fREF=fIN/N fVCO=fREFMfIN(M/N) 每个输出端口有一个唯一的后scale计数器降低高频VCO。有三个后scale计数器,范围从1至32。见下面等式: fC0=fVCO/G0=fIN(M/(NG0) fC1=fVCO/G0=fIN(M/(NG1) fC0=fVCO/E=fIN(M/(NE) c0和c1可以使用两个后scale计数器之一,G0或G1。 对应有不同频率的多个PLL输出,VCO可以设置为满足VCO频率规定输出频率的最
15、小倍数。然后,后scale计数器降低每个PLL时钟输出端口的输出频率。例如,如果时钟输出频率需要从33到66MHz,VCO可以设置为330MHz。 相位偏移 Cyclone PLL有高级的时钟偏移能力,提供可编程的相位偏移。你可以在altpll MegaWizard外挂插件管理器中设置所需的相位偏移,Quartus II软件会自动设置和显示最近的有效相位偏移。你可以为每个PLL时钟输出端口输入角度、单位时间的相位偏移。所有三个PLL后scale计数器G0、G1和E以及所有的时钟反馈模式都支持这种功能。 相位偏移是根据补偿的PLL时钟输出进行的。例如,你需要100MHz输出时钟,在c0上具有a1
16、倍频和90相位偏移,在c1上具有a1倍频和45相位偏移。如果你选择补偿c0时钟输出,PLL使用零相位偏移c0时钟作为参考点在c0上生成90的相位偏移。既然c0是补偿时钟,那么它相对输入时钟的相位偏移 90。c1时钟也使用零相位偏移c0参考在c1上生成45的相位偏移。 对于精细的相位调整,每个PLL时钟输出计数器可以从多达8个相位移位中选择不同的VCO相位,进行精细的相位调整。另外,每个时钟输出计数器使用唯一的初始化计数设置独立实现相位粗调,步长为一个VCO周期。Quartus II软件可以使用时钟输出计数器和后scale计数器的初始化设置,实现整个输出时钟周期的相位偏移。你可以把PLL时钟输出
17、的相位偏移到180。Quartus II软件会根据相位偏移需求自动设置相位移位和计数器设置。 相位细调精度取决于输入频率和倍频/分频系数,最精细的步长等于VCO周期的八分之一。最小的相位偏移是1/(8fVCO)或N/(8MfIN)。在Cyclone FPGA中,VCO范围从300到800MHz。因此,相位偏移可以按照1/到1/范围的精度进行调整,时间单位是156到417ps。 因为有八个VCO相位位移,最大步长为45。更小的步长取决于输出时钟端口所需的倍频和分频比率。决定相位偏移度数的精度是45除以后scale计数器值。例如,如果输入时钟为1的125MHz,那么后scale计数器G0是3。因此
18、,最小的相位步长是,可能的相位偏移值是15的倍数。 因为这类的相位偏移对制程、电压和温度变化很不敏感,因此具有最大精度。 可编程占空比 可编程占空比功能允许你设置PLL时钟输出的占空比。占空比是时钟输出高/低时间和整个时钟周期时间的比率,表示为处于高的时间的比例。Quartus II软件使用输入频率和目的倍频/分频比率来选择后scale计数器。占空周期精度由PLL时钟输出选用的后scale计数器值决定,定义为50%除以后scale计数器值。例如,如果后scale计数器的值为3,允许的占空比为50%除以3等于16.67%。因为altpll宏功能不接受非整数值的占空比值,允许的占空比为17%、33
19、%、50%和67%。 由于硬件的限制,你不能实现84%的占空比,因为对于给定的计数器值你不能实现最接近100%的值。然而,你可以选择17%的占空比,反转PLL时钟输出,从而实现84%的占空比。例如,如果G0计数器为10,占空比增量是5%,范围从5%到90%。 外部时钟输出 每个PLL支持通用外部时钟或来源同步发送器一个单端或LVDS外部时钟输出。E计数器输出驱动PLL外部时钟输出,它只能馈入PLL2.1_OUT管脚而不是内部逻辑。所有三种时钟反馈模式都可以使用PLL2.1_OUT。 100脚封装的EP1C3器件和144脚的EP1C6 PLL2封装不支持外部时钟输出。 PLL2.1_OUT管脚是
20、两用管脚,如果PLL不使用该管脚,那么它们可以作为I/O管脚。PLL2.1_OUT管脚支持的I/O标准见表7。 表7.Cyclone PLL管脚支持的I/O标准 I/O标准 LVTTL LVCMOS 2.5-V 1.8-V 1.5-V 3.3-V PCI LVDS SSTL-2 Class I SSTL-2 Class II SSTL-3 Class I inclk PLL2.1_OUT SSTL-3 Class II 表7注释: 100脚TQFP封装的EP1C3和144脚TQFP封装的EP1C6 PLL2不支持外部时钟输出 100脚TQFP封装的EP1C3不支持LVDS输出 既然pllena
21、和locked信号可以由通用I/O管脚驱动或驱动通用I/O管脚,那么它们也支持所有的Cyclone I/O标准。 Cyclone外部时钟输出管脚没有独立于器件的VCC和GND组。PLL2.1_OUT管脚和相邻的I/O管脚共享VCCIO组。只有同一组内的I/O管脚会影响PLL2.1_OUT管脚。因此,为了让PLL2.1_OUT管脚的抖动最小,和它们直接相邻的I/O管脚要么作为输入要么不使用。有关板子设计的详细信息,参见“抖动注意事项”。 控制信号 Cyclone PLL有四个控制信号pllena、areset、prdena和locked,进行PLL管理。 pllena PLL启动信号pllena
22、启动PLL。当pllena为低时,PLL时钟输出端口为低,PLL失锁。当pllena再次变高,PLL和重新锁定和重新同步输入时钟。因此,pllena是高有效信号。因为在Cyclone FPGA中没有专用的pllena管脚,内部逻辑或任意通用I/O管脚都可以驱动pllena端口。因为每个PLL都有自己的pllena控制电路或共享通用的pllena电路,这样就很灵活。pllena信号是可选的,如果软件中没有启动它,端口内部就连接到VCC。 areset PLL areset信号是每个PLL的复位或重新同步输入。但驱动为高时,PLL计数器重定,清除PLL输出,造成PLL失锁。VCO复位后回到初始设置
23、。当areset再次变低,PLL重新开始锁定,PLL重新和输入时钟同步。如果目标VCO的频率低于标准频率,在锁定过程中PLL时钟输出起始频率值比所需值要高。areset是高有效信号。Cyclone FPGA可以从内部逻辑或任意通用I/O管脚驱动这个PLL输入信号。areset信号是可选的,如果在软件中没有使用它,该端口内部连接到GND。 pfdena pfdena信号用可编程闸控制着PLL中PFD输出。如果你把areset置低禁止PFD,那么VCO将以最后设置的控制电压和频率值工作,长时间会漂移到更低的频率。即使每个输入时钟PLL时钟输出也会继续触发,但是PLL可能会失锁。当PLL失锁或输入时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cyclone 器件 PLL 配置 方法
链接地址:https://www.31ppt.com/p-3155090.html