Cyclone V器件手册: 第一卷:器件接口和集成

ID 683375
日期 7/24/2020
Public
文档目录

4.2.12.1. 自动时钟切换

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

图 67. 自动时钟切换电路结构图以下是PLL中内置自动切换电路的结构图。


当前参考时钟未出现时,时钟检测块会自动切换到PLL的备用参考时钟。选择一个时钟源,并连接到PLL的inclk1端口,以作为您设计中的备用时钟。

时钟切换电路发出三个状态信号—clkbad[0]clkbad[1]activeclock—来自PLL,在逻辑阵列中实现定制切换电路。

在自动切换模式中,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可能会失锁,从而需要时间重新锁定。

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