[求助] 信号同步

wangjian801213   2011-12-20 09:16 楼主
各位大侠:
是这样的,我做了一个系统,FPGA的基础时钟为16MHz的信号,而外部有一个sysclk信号输入,sysclk信号是外部的时钟晶振(20MHz)计数产生的,sysclk信号为5ms产生一次的62H信号,FPGA接收到62H信号后产生中断,相隔2.5ms后再产生一个中断。但是发现中断信号不稳定,有几个us的偏移,有时候又正常,请教各位大侠怎样写这个问题的verilogHDL程序。

回复评论 (3)

这就是典型的异步不同源时钟信号的同步问题了。

你这个62HZ信号进入FPGA,就要用16MHZ时钟信号同步4次以上,然后在交给内部处理,这样的信号才稳定,避免亚稳态问题产生!

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2011-12-21 11:24

回复 沙发 eeleader 的帖子

有几个问题问一下:
1.为什么要同步4次以上呢?
2.同步用异步fifo吗,还是用其他的方法呢?
3.楼主说中断2.5ms不明白是什么意思,可否帮忙解答一下?
点赞  2011-12-22 21:09

1.同步次数2次大概能消除绝大部份亚稳态,同步4次大概能消除亚稳态。但也不能保证所有亚稳态消除

2.同步可以用异步FIFO,异步FIFO作用:速度匹配,数据宽度匹配等等。

3.楼主的2.5毫秒中断意思:FPGA接收到外部的62HZ信号后,延迟2.5毫秒产生一个中断。

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2011-12-23 12:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复