对于精细的相位调整,每个PLL时钟输出计数器可以从多达8个相位移位中选择不同的VCO相位,进行精细的相位调整。另外,每个时钟输出计数器使用唯一的初始化计数设置独立实现相位粗调,步长为一个VCO周期。Quartus II软件可以使用时钟输出计数器和后scale计数器的初始化设置,实现整个输出时钟周期的相位偏移。你可以把PLL时钟输出的相位偏移到±180°。Quartus II软件会根据相位偏移需求自动设置相位移位和计数器设置。
相位细调精度取决于输入频率和倍频/分频系数(也就是VCO周期的函数),最精细的步长等于VCO周期的八分之一。最小的相位偏移是1/(8×fVCO)或N/(8×M×fIN)。在Cyclone FPGA中,VCO范围从300到800MHz。因此,相位偏移可以按照1/(8×800MHz)到1/(8×300MHz)范围的精度进行调整,时间单位是156到417ps。
因为有八个VCO相位位移,最大步长为45°。更小的步长取决于输出时钟端口所需的倍频和分频比率。决定相位偏移度数的精度是45°除以后scale计数器值。例如,如果输入时钟为×1的125MHz,那么后scale计数器G0是3。因此,最小的相位步长是(45°/3=15°),可能的相位偏移值是15°的倍数。
因为这类的相位偏移对制程、电压和温度变化很不敏感,因此具有最大精度。
可编程占空比
可编程占空比功能允许你设置PLL时钟输出的占空比。占空比是时钟输出高/低时间和整个时钟周期时间的比率,表示为处于高的时间的比例。Quartus II软件使用输入频率和目的倍频/分频比率来选择后scale计数器。占空周期精度由PLL时钟输出选用的后scale计数器值决定,定义为50%除以后scale计数器值。例如,如果后scale计数器的值为3,允许的占空比为50%除以3等于16.67%。因为altpll宏功能不接受非整数值的占空比值,允许的占空比为17%、33%、50%和67%。
由于硬件的限制,你不能实现84%的占空比,因为对于给定的计数器值你不能实现最接近100%的值。然而,你可以选择17%的占空比,反转PLL时钟输出,从而实现84%的占空比。例如,如果G0计数器为10,占空比增量是5%,范围从5%到90%。
外部时钟输出
每个PLL支持通用外部时钟或来源同步发送器一个单端或LVDS外部时钟输出。E计数器输出驱动PLL外部时钟输出(e0),它只能馈入PLL[2..1]_OUT管脚而不是内部逻辑。所有三种时钟反馈模式都可以使用PLL[2..1]_OUT。
100脚封装的EP1C3器件和144脚的EP1C6 PLL2封装不支持外部时钟输出。
PLL[2..1]_OUT管脚是两用管脚,如果PLL不使用该管脚,那么它们可以作为I/O管脚。PLL[2..1]_OUT管脚支持的I/O标准见表7。 表7:Cyclone PLL管脚支持的I/O标准 I/O标准 inclk PLL[2..1]_OUT(1) LVTTL √ √ LVCMOS √ √ 2.5-V √ √ 1.8-V √ √ 1.5-V √ √ 3.3-V PCI √ √ LVDS(2) √ √ SSTL-2 Class I √ √ SSTL-2 Class II √ √ SSTL-3 Class I √ √ SSTL-3 Class II √ √ 表7注释: (1) 100脚TQFP封装的EP1C3和144脚TQFP封装的EP1C6 PLL2不支持外部时钟输出; (2) 100脚TQFP封装的EP1C3不支持LVDS输出。
既然pllena和locked信号可以由通用I/O管脚驱动或驱动通用I/O管脚,那么它们也支持所有的Cyclone I/O标准。
Cyclone外部时钟输出管脚(PLL[2..1]_OUT)没有独立于器件的VCC和GND组。PLL[2..1]_OUT管脚和相邻的I/O管脚共享VCCIO组。只有同一组内的I/O管脚会影响PLL[2..1]_OUT管脚。因此,为了让PLL[2..1]_OUT管脚的抖动最小,和它们直接相邻的I/O管脚要么作为输入要么不使用。有关板子设计的详细信息,参见“抖动注意事项”。
控制信号
Cyclone PLL有四个控制信号pllena、areset、prdena和locked,进行PLL管理。 Pllena
PLL启动信号pllena启动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复位后回到初始设置。当areset再次变低,PLL重新开始锁定,PLL重新和输入时钟同步。如果目标VCO的频率低于标准频率,在锁定过程中PLL时钟输出起始频率值比所需值要高。areset是高有效信号。Cyclone FPGA可以从内部逻辑或任意通用I/O管脚驱动这个PLL输入信号。areset信号是可选的,如果在软件中没有使用它,该端口内部连接到GND。
Pfdena
pfdena信号用可编程闸控制着PLL中PFD输出。如果你把areset置低禁止PFD,那么VCO将以最后设置的控制电压和频率值工作,长时间会漂移到更低的频率。即使每个输入时钟PLL时钟输出也会继续触发,但是PLL可能会失锁。当PLL失锁或输入时钟禁止时,系统会继续运行。因为在一段时间内最后锁定输出频率不会改变,所以你可以用pfdena端口作为关机或清除功能。为了维持这一频率,系统在关机之前有时间储存当前的设置。如果pfdena信号再次变高,PLL重新锁定和输入时钟重新同步。因此pfdena管脚是高有效信号。你可以用任意通用I/O管脚或内部逻辑驱动pfdena输入信号。该信号是可选的,如果在软件没有使用它,该端口内部连接到VCC。
Locked
当locked输出是逻辑高电平,该电平说明稳定的PLL时钟输出,和PLL参考输入时钟同相。当PLL开始跟踪参考时钟时,locked端口可能会触发,无需额外电路。PLL的locked端口可以馈入任意通用I/O管脚和/或内部逻辑。这个locked信号是可选的,在监视PLL锁定过程中是非常有用的。
时钟反馈模式
Cyclone PLL支持三种反馈模式:标准、零延迟缓冲和无补偿。和其它Altera器件系列不同,Cyclone PLL不支持外部反馈模式。所有支持的三种时钟反馈模式允许倍频/分频、相位偏移和可编程占空比。下面是每种模式的简要说明。
图4到图6所示的相位关系是内定值相位偏移设置-0°。改变相位偏移设置会改变相位关系。
标准模式
在标准模式下,PLL把参考时钟和逻辑阵列或IOE的端口缓存器处的时钟信号相位对齐,补偿内部全局时钟网络延迟。在altpll MegaWizard外挂插件管理器中,你可以定义PLL的哪个内部时钟输出(c0或c1)应该补偿。
如果在该模式中使用外部时钟输出(PLL[2..1]_OUT),相对于时钟输入管脚有相位偏移。相同的,如果你用内部PLL时钟输出驱动通用I/O管脚,相对应的时钟输入管脚也有相位偏移。
图4是标准模式下PLL时钟相位关系的范例波形。
图4.标准模式下PLL时钟之间的相位关系
图4注释:
(1) 外部时钟输出可能领先或落后于PLL时钟信号。
零延迟缓冲模式
PLL外部时钟输出管脚(PLL[2..1]_OUT)的时钟信号和PLL输入时钟是相位对齐的,没有延迟。如果你用c[1..0]端口驱动内部时钟管脚,那么相对于输入时钟管脚有相位偏移。图5是零延迟缓冲模式下PLL时钟相位关系的范例波形。
图5.零延迟缓冲模式下PLL时钟之间的相位关系
无补偿
在该模式下,PLL不补偿任何时钟网络。这样会有更佳的抖动性能,因为反馈到PFD的时钟不经过某些电路。相对PLL时钟输入,PLL内部和外部时钟输出都有相位偏移。图6是无补偿模式下的PLL时钟相位关系范例波形。
图6.无补偿模式下PLL时钟之间的相位关系
图6注释:
(1) PLL输出的内部时钟之间相位是对齐的。
5.管脚
表8:Cyclone PLL管脚 管脚名 说明 CLK0 单端或LVDS p管脚,可以驱动PLL1的inclk0端口 CLK1(1) 单端或LVDS n管脚,可以驱动PLL1的inclk0端口 CLK2 单端或LVDS p管脚,可以驱动PLL2的inclk0端口 CLK3(1) 单端或LVDS n管脚,可以驱动PLL2的inclk0端口 PLL1_OUTp(2) 单端或LVDS管脚,由PLL1的e0端口驱动。如果PLL不使用,可以PLL1_OUTn(2) PLL2_OUTp(2) PLL2_OUTn(2) VCCA_PLL1(3) GNDA_PLL1(4) VCCA_PLL2(3) GNDA_PLL2(4) GNDG_PLL1(5) GNDG_PLL2(5) 作为通用I/O管脚。 单端或LVDS管脚,由PLL2的e0端口驱动。如果PLL不使用,可以作为通用I/O管脚。 PLL1的模拟电源。即使PLL不使用,也必须连接到1.5V。 PLL1的模块接地。你可以把该管脚连接到板子的GND层。 PLL2的模拟电源。即使PLL不使用,也必须连接到1.5V。 PLL2的模拟接地。你可以把该管脚连接到板子的GND层。 PLL1的保护环路接地。你可以把该管脚连接到板子的GND层。 PLL2的保护环路接地。你可以把该管脚连接到板子的GND层。 表8注释: (1) 100脚TQFP封装的EP1C3器件没有专用时钟管脚CLK1和CLK3;
(2) 100脚TQFP封装的EP1C3和144脚TQFP封装的EP1C6 PLL2不支持外部时钟输出; (3) 参考16页的“板子布局”进行滤波和其它推荐设计;
(4) 100脚TQFP封装的EP1C3器件和144脚TQFP封装的EP1C6 PLL2没有分开的GNDA_PLL管脚。它们内部连接到GND; (5) 保护环路电源(VCCG_PLL)内部连接到VCCINT。
6.板子布局
Cyclone PLL包含内嵌在数字器件中的模拟部分。这些模拟部分有分立的电源和接地管脚,抵抗数字部分产生的噪声。这些分立的VCC和GND管脚用来分离电路,改善噪声的影响。
VCCA和GNDA
每个PLL有分立的模拟电路VCC和GND对。每个PLL模拟电路电源和接地管脚叫作VCCA_PLL#和GNDA_PLL#(#代表PLL号)。即使PLL不使用,VCCA电源必须连接到1.5-V电源上。连接到VCCA的电源必须和其余Cyclone FPGA的电源或板子上其它任何数字器件分开。下面说明三种分离VCCA的方式。
VCCA电源层分离
混合信号系统设计者会把系统划分为模拟和数字部分,在板子上它们有各自的电源层。这种情况下,你可以把VCCA连接到模拟1.5-V电源层。
在VCCINT层中划分出VCCA岛
绝大部分采用Altera器件的的系统都是全数字,所以板子上根本就没有独立的模拟电源层。在板子上增加新层是很不划算的。因此,你可以为VCCA_PLL创建一个岛。岛的绝缘边界大约为25mil宽。图7是在VCCINT层中划分VCCA的范例。
图7.VCCINT层划分VCCA岛
宽VCCA走线
由于板子的限制,可能无法划分VCCA岛。从而,用宽的电源走线给每个VCCA管脚。走线至少为20mil宽。
相关推荐: