时钟问题
呼叫帅哥:chen851112
采用先自己写一个分频器,然后通过计数的方式实现
难道拿示波器量一下不行吗
用两个时钟计数,然后比较两个计数器值得大小就可以了?注意跨时钟
在同一个管脚输入吗
同一个管脚输入,想如何用内部逻辑来判别输入的是25M还是125M。不知道如何实现这个逻辑!
用50mhz的时钟去观察125mhz/25mhz时钟域的计数器值(chipscope)
只是实现这个功能的话,有个比较简单的方法
将50MHz参考时钟分频至较低频率,用外部输入的时钟对这个较低频率进行计数即ok
这样应该很容易分辨
我是这样想的,但是我如何计数啊,根据什么条件来判别!这个问题没想好!
再仔细想想,这个判别标准还是比较容易定的,25M和125M差别很大
还是没想好,感觉计数很纠结!愿闻其详!
呵呵,后面想好了,自己加个状态机,应该是可以的了!
弄个异步fifo搞定,
wr=~full
rd=~empty
50m接读时钟,未知时钟接写时钟管脚。
用full和empty来判断,要么永远不full,要么永远不empty。
哈哈,有想法!不错,不错!
做一个计数器(4bit就够了),外来的时钟过来后就不断地随这时钟计数相加,然后这数被50M时钟采,隔个时钟采一次,然后这次的数据和上次的比较,看差值(125M的话每次相差5,25M的话相差1,因为50M隔一时钟采的)。
注意跨时钟域导致的数据采不稳现象,还有计数器到顶后又从零开始求差时注意下,
把差值进行过滤,要是连续几次都是固定的差值,那就确定是哪种时钟,如果马上就变回来当成毛刺。
用一个二选一试试
输入的时钟分频,然后和内部50M时钟对比就一目了然, 用计数器还浪费资源