微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 时钟问题

时钟问题

时间:10-02 整理:3721RD 点击:
板子外部的一个输入中有25M和125M二种可能,我内部有一个50M的时钟,我现在如何做使得我能识别输入的是25M时钟还是125M时钟啊,内部的pll不考虑了!

呼叫帅哥: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时钟对比就一目了然, 用计数器还浪费资源

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top