仅对英特尔可见 — GUID: mcn1395839346185
Ixiasoft
2.3.12.1. 自动时钟切换
MAX® 10 PLL支持一个完全可配置的时钟切换功能。
当前参考时钟不存在时,时钟检测模块会自动切换到PLL参考的备用时钟。在您的设计中,通过连接备用时钟到PLL的inclk1端口可以选择一个时钟源作为备用时钟。
此外,时钟切换电路也会发出PLL的三个状态信号—clkbad[0],clkbad[1]和activeclock—来自PLL用于在逻辑阵列实现自定义切换电路的时钟。
在自动切换模式中,clkbad[0]和clkbad[1]信号表明这两个时钟输入的状态。当clkbad[0]和clkbad[1]信号置位时,时钟检测模块检测到相应时钟输入已经停止翻转。如果inclk0和inclk1之间的频差大于20%,那么这两个信号无效。
activeclock信号表明两个时钟输入 (inclk0或者inclk1) 的哪一个被选作PLL的参考时钟。当这两个时钟输入之间的频差大于20%,activeclock信号是唯一有效的状态信号。
当PLL的当前参考时钟停止翻转时,使用切换电路自动切换运行在相同频率上的inclk0到inclk1。当inclk0和inclk1中的一个时钟失败,而另一个可用时,这种自动切换能够在这两个时钟之间来回切换任意次数。
例如,在要求冗余时钟(其频率与参考时钟频率相同)的应用中,切换状态机会生成一个(clksw)信号,用于控制多路复用器选择。在此情况下,inclk1变成PLL的参考时钟。
当使用自动时钟切换模式时,必须满足下列要求:
- 配置FPGA时这两个时钟输入必须运行。
- 两个时钟输入的周期差不超过20%。
如果当前时钟输入停止翻转,而另一个时钟也没有翻转,那么将不会启用切换功能,并且clkbad[0..1]信号是无效的。如果两个时钟输入的频率不同,但它们的周期差在20%以内,那么时钟检测模块会检测到时钟何时停止翻转。然而,PLL在切换完成后可能会失锁,从而需要时间重新锁定。