完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我有一个LVDS时钟输入信号,通常稳定,清晰250 MHz。
但是,为了同步,时钟网络每秒错过4个周期。 因此,我需要时钟再生,在丢失脉冲期间继续操作(a。用于正常操作,b。用于检测那些同步信号)。 您认为哪个Spartan 6内置块最合适? 据我所知,这应该是PLL模块。 但是我更愿意(继续)使用DCM_SP块,因为我生成了大量具有细粒度相位设置的时钟。 我可以将重新生成的时钟输入DCM_SP,但我宁愿只使用1个块。 你如何评价a的稳健性? DCM和b。 PLL阻止那些丢失的时钟脉冲以及它们在几个丢失周期内继续正常工作的能力? 谢谢你的帮助! 最诚挚的问候,Patrick |
|
相关推荐
6个回答
|
|
我不认为任何一个细胞会做你想要的。
当输入时钟停止时,未明确定义PLL的行为。 但是,你想要的行为几乎肯定不是它会做的。 我可以让PLL的参数简单地失去锁定,在这种情况下你需要重置它。 如果丢失的时钟数足够短,不会失锁,那么这将破坏计数器; PLL将尝试“吸收”反馈环路中丢失的时钟脉冲,这将导致输出时钟频率在一段时间内略微下降...... DCM具有特殊电路,可在输入干净停止时防止解锁。 如果输入时钟停止然后重新启动,则输出时钟将相应地停止然后重新启动,但不会失去锁定。 同样,不是您正在寻找的行为(丢失的时钟周期在输出中“插入”)。 Spartan-6中的DCM_CLKGEN的新功能与您想要的有些相似,但不够接近(我认为)。 DCM_CLKGEN可由时钟“启动”,但一旦DCM锁定,则不再需要输入时钟。 但是,以这种方式生成的时钟不再锁定到输入时钟; 这意味着相位和频率可以(并且将会)随时间漂移; 偏离原始输入时钟...... 所以,总而言之,我不认为你可以做任何你想要做的任何Xilinx原语。 Avrum 在原帖中查看解决方案 |
|
|
|
我不认为任何一个细胞会做你想要的。
当输入时钟停止时,未明确定义PLL的行为。 但是,你想要的行为几乎肯定不是它会做的。 我可以让PLL的参数简单地失去锁定,在这种情况下你需要重置它。 如果丢失的时钟数足够短,不会失锁,那么这将破坏计数器; PLL将尝试“吸收”反馈环路中丢失的时钟脉冲,这将导致输出时钟频率在一段时间内略微下降...... DCM具有特殊电路,可在输入干净停止时防止解锁。 如果输入时钟停止然后重新启动,则输出时钟将相应地停止然后重新启动,但不会失去锁定。 同样,不是您正在寻找的行为(丢失的时钟周期在输出中“插入”)。 Spartan-6中的DCM_CLKGEN的新功能与您想要的有些相似,但不够接近(我认为)。 DCM_CLKGEN可由时钟“启动”,但一旦DCM锁定,则不再需要输入时钟。 但是,以这种方式生成的时钟不再锁定到输入时钟; 这意味着相位和频率可以(并且将会)随时间漂移; 偏离原始输入时钟...... 所以,总而言之,我不认为你可以做任何你想要做的任何Xilinx原语。 Avrum |
|
|
|
感谢您的详细解释。
这是思考解决方案的一个很好的起点。 我对这两个块进行了一些测量,我可以确认你描述的行为。 但是,我发现DCM_SP块似乎继续运行了几个时钟周期。 这是我可以依赖的预期行为,还是只是丢失时钟检测的一些延迟,输出时钟也可能立即停止? 同时我重新设计了系统使用第3个时钟(1个是原始时钟,带有丢失脉冲,2个是DCM / PLL模块的输出,3个是另一个外部时钟),用于计数器,通过时钟1读取和比较,而主要 必须与时钟1同步的处理从时钟2运行(应该可以使它经历丢失的时钟脉冲)。 这是一个可靠的解决方案吗? 再次感谢您的大力支持。 |
|
|
|
DCM的锁定应被视为“粘滞位”,因此它会在最初锁定时断言,但不能保证它会失锁。
您应该查看状态位,状态0是CLKIN停止我相信。 从CLKIN停止到状态可能会有6到8个CLKIN周期延迟,但由于内部电路会产生断言。如果你想获得一个自由运行的时钟,DCM CLKGEN是最好的,但不会保持相位对齐。 初始时钟。 -------------------------------------------------- -----------------------不要忘记回答,kudo,并接受为解决方案.------------- -------------------------------------------------- ---------- |
|
|
|
但是,我发现DCM_SP块似乎继续运行了几个时钟周期。
这是我可以依赖的预期行为,还是只是丢失时钟检测的一些延迟,输出时钟也可能立即停止? 这是预料之中的。 DCM基于数字锁定环(DLL),它的核心是延迟线 - 有一串缓冲区作为输入时钟的延迟线。 然后从该延迟线的适当“抽头”重建输出时钟。 延迟线可以足够长以保持“耦合”的时钟周期。 因此,不是DCM在时钟停止后“继续”,它只是需要一段时间才能使最后一个时钟周期传播通过延迟线。 但是延迟线中的脉冲数量将依赖于高度的过程/电压/温度 - 我认为你不能指望它们。 我不能说我遵循你提出的解决方案,但拥有连续时钟可能是解决方案的一部分。 当然,我会警告你要小心将计数值从一个时钟域带到另一个时钟域。 这需要aproper时钟域交叉电路 - 类似于这里讨论的那个。 Avrum |
|
|
|
如果有人想知道:这些测量结果是将带有丢失脉冲的时钟输入Spartan 6 PLL。
具有较少缺失周期的测量看起来完全相同,只是频率漂移较小且恢复较快。 @avrumw:它非常适合你上面的解释。 |
|
|
|
只有小组成员才能发言,加入小组>>
2281 浏览 7 评论
2694 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2176 浏览 9 评论
3250 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2321 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
582浏览 1评论
1648浏览 1评论
145浏览 1评论
在使用xc5vsx95T时JTAG扫片不成功,测量TDO无信号输出
2298浏览 0评论
611浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-23 21:17 , Processed in 1.197386 second(s), Total 88, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191