信号同步

2019-03-25 09:46发布

各位大侠: 是这样的,我做了一个系统,FPGA的基础时钟为16MHz的信号,而外部有一个sysclk信号输入,sysclk信号是外部的时钟晶振(20MHz)计数产生的,sysclk信号为5ms产生一次的62H信号,FPGA接收到62H信号后产生中断,相隔2.5ms后再产生一个中断。但是发现中断信号不稳定,有几个us的偏移,有时候又正常,请教各位大侠怎样写这个问题的verilogHDL程序。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
eeleader
1楼-- · 2019-03-25 19:22
< /

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

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

wucaidai
2楼-- · 2019-03-25 19:45
有几个问题问一下:
1.为什么要同步4次以上呢?
2.同步用异步fifo吗,还是用其他的方法呢?
3.楼主说中断2.5ms不明白是什么意思,可否帮忙解答一下?
eeleader
3楼-- · 2019-03-25 23:28

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

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

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

一周热门 更多>