MAX 10时钟和PLL用户指南

ID 683047
日期 2/21/2017
Public
文档目录

2.3.12.1. 自动时钟切换

MAX® 10 PLL支持一个完全可配置的时钟切换功能。

图 20. 自动时钟切换电路结构图此图显示了内置在PLL中的自动切换电路的结构图。

当前参考时钟不存在时,时钟检测模块会自动切换到PLL参考的备用时钟。在您的设计中,通过连接备用时钟到PLL的inclk1端口可以选择一个时钟源作为备用时钟。

此外,时钟切换电路也会发出PLL的三个状态信号—clkbad[0]clkbad[1]activeclock—来自PLL用于在逻辑阵列实现自定义切换电路的时钟。

在自动切换模式中,clkbad[0]clkbad[1]信号表明这两个时钟输入的状态。当clkbad[0]clkbad[1]信号置位时,时钟检测模块检测到相应时钟输入已经停止翻转。如果inclk0inclk1之间的频差大于20%,那么这两个信号无效。

activeclock信号表明两个时钟输入 (inclk0或者inclk1) 的哪一个被选作PLL的参考时钟。当这两个时钟输入之间的频差大于20%,activeclock信号是唯一有效的状态信号。

注: 输入时钟中的毛刺可能会导致输入时钟之间的频差超过20%。

当PLL的当前参考时钟停止翻转时,使用切换电路自动切换运行在相同频率上的inclk0inclk1。当inclk0inclk1中的一个时钟失败,而另一个可用时,这种自动切换能够在这两个时钟之间来回切换任意次数。

例如,在要求冗余时钟(其频率与参考时钟频率相同)的应用中,切换状态机会生成一个(clksw)信号,用于控制多路复用器选择。在此情况下,inclk1变成PLL的参考时钟。

当使用自动时钟切换模式时,必须满足下列要求:

  • 配置FPGA时这两个时钟输入必须运行。
  • 两个时钟输入的周期差不超过20%。

如果当前时钟输入停止翻转,而另一个时钟也没有翻转,那么将不会启用切换功能,并且clkbad[0..1]信号是无效的。如果两个时钟输入的频率不同,但它们的周期差在20%以内,那么时钟检测模块会检测到时钟何时停止翻转。然而,PLL在切换完成后可能会失锁,从而需要时间重新锁定。

注: Intel建议使用areset信号复位PLL,当使用时钟切换时以维持PLL输入与输出时钟之间的相位关系。
图 21. 失锁检测后的自动切换实例此图显示了自动切换模式的切换功能实例波形。在此实例中, inclk0信号保持在低电平。在 inclk0信号保持在低电平大概两个时钟周期后,时钟检测电路驱高 clkbad[0]信号。由于参考时钟信号没有翻转,因此切换状态机通过clksw信号控制多路复用器,以切换到备用时钟inclk1