赛灵思
直播中

tijing忽忽

7年用户 221经验值
私信 关注
[问答]

哪个Spartan 6内置块最合适在丢失脉冲期间继续操作?

嗨,我有一个LVDS时钟输入信号,通常稳定,清晰250 MHz。
但是,为了同步,时钟网络每秒错过4个周期。
因此,我需要时钟再生,在丢失脉冲期间继续操作(a。用于正常操作,b。用于检测那些同步信号)。
您认为哪个Spartan 6内置块最合适?
据我所知,这应该是PLL模块。
但是我更愿意(继续)使用DCM_SP块,因为我生成了大量具有细粒度相位设置的时钟。
我可以将重新生成的时钟输入DCM_SP,但我宁愿只使用1个块。
你如何评价a的稳健性?
DCM和b。
PLL阻止那些丢失的时钟脉冲以及它们在几个丢失周期内继续正常工作的能力?
谢谢你的帮助!
最诚挚的问候,Patrick

回帖(6)

陈玉筠

2019-8-9 09:15:08
我不认为任何一个细胞会做你想要的。
当输入时钟停止时,未明确定义PLL的行为。
但是,你想要的行为几乎肯定不是它会做的。
我可以让PLL的参数简单地失去锁定,在这种情况下你需要重置它。
如果丢失的时钟数足够短,不会失锁,那么这将破坏计数器;
PLL将尝试“吸收”反馈环路中丢失的时钟脉冲,这将导致输出时钟频率在一段时间内略微下降......
DCM具有特殊电路,可在输入干净停止时防止解锁。
如果输入时钟停止然后重新启动,则输出时钟将相应地停止然后重新启动,但不会失去锁定。
同样,不是您正在寻找的行为(丢失的时钟周期在输出中“插入”)。
Spartan-6中的DCM_CLKGEN的新功能与您想要的有些相似,但不够接近(我认为)。
DCM_CLKGEN可由时钟“启动”,但一旦DCM锁定,则不再需要输入时钟。
但是,以这种方式生成的时钟不再锁定到输入时钟;
这意味着相位和频率可以(并且将会)随时间漂移;
偏离原始输入时钟......
所以,总而言之,我不认为你可以做任何你想要做的任何Xilinx原语。
Avrum
在原帖中查看解决方案
举报

陈玉筠

2019-8-9 09:27:20
我不认为任何一个细胞会做你想要的。
当输入时钟停止时,未明确定义PLL的行为。
但是,你想要的行为几乎肯定不是它会做的。
我可以让PLL的参数简单地失去锁定,在这种情况下你需要重置它。
如果丢失的时钟数足够短,不会失锁,那么这将破坏计数器;
PLL将尝试“吸收”反馈环路中丢失的时钟脉冲,这将导致输出时钟频率在一段时间内略微下降......
DCM具有特殊电路,可在输入干净停止时防止解锁。
如果输入时钟停止然后重新启动,则输出时钟将相应地停止然后重新启动,但不会失去锁定。
同样,不是您正在寻找的行为(丢失的时钟周期在输出中“插入”)。
Spartan-6中的DCM_CLKGEN的新功能与您想要的有些相似,但不够接近(我认为)。
DCM_CLKGEN可由时钟“启动”,但一旦DCM锁定,则不再需要输入时钟。
但是,以这种方式生成的时钟不再锁定到输入时钟;
这意味着相位和频率可以(并且将会)随时间漂移;
偏离原始输入时钟......
所以,总而言之,我不认为你可以做任何你想要做的任何Xilinx原语。
Avrum
举报

齐镭

2019-8-9 09:46:47
感谢您的详细解释。
这是思考解决方案的一个很好的起点。
我对这两个块进行了一些测量,我可以确认你描述的行为。
但是,我发现DCM_SP块似乎继续运行了几个时钟周期。
这是我可以依赖的预期行为,还是只是丢失时钟检测的一些延迟,输出时钟也可能立即停止?
同时我重新设计了系统使用第3个时钟(1个是原始时钟,带有丢失脉冲,2个是DCM / PLL模块的输出,3个是另一个外部时钟),用于计数器,通过时钟1读取和比较,而主要
必须与时钟1同步的处理从时钟2运行(应该可以使它经历丢失的时钟脉冲)。
这是一个可靠的解决方案吗?
再次感谢您的大力支持。
举报

王山崎

2019-8-9 09:52:26
DCM的锁定应被视为“粘滞位”,因此它会在最初锁定时断言,但不能保证它会失锁。
您应该查看状态位,状态0是CLKIN停止我相信。
从CLKIN停止到状态可能会有6到8个CLKIN周期延迟,但由于内部电路会产生断言。如果你想获得一个自由运行的时钟,DCM CLKGEN是最好的,但不会保持相位对齐。
初始时钟。
--------------------------------------------------
-----------------------不要忘记回答,kudo,并接受为解决方案.-------------
--------------------------------------------------
----------
举报

更多回帖

发帖
×
20
完善资料,
赚取积分