在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2037|回复: 7

[转贴] 刚哥专栏--FPGA技术--异步信号03

[复制链接]
发表于 2015-8-18 20:48:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
刚哥专栏003. 异步信号(3)
大嘴兄喝着水,又开始摇头晃脑,道:“考你一下:如果多个地方要用到同一个异步信号,每个地方都做一个同步电路,可不可以?”
我想了想,答道:“就是对一个信号做多个打两拍的同步,再分别使用这些同步后的信号——应该是不行的,因为多个同步电路产生的信号,在亚稳态出现时,输出可能是不同的,所以又出现了一个信号2个状态的现象。后面如果这两部分电路有交集,就可能出问题。”
大嘴兄满意地点点头道:“回答正确,这是要注意避免的。针对一个异步信号的处理只能做一次,不能在多个地方进行同步处理。”他喝了口水,继续道:“记住,双触发器同步处理是经典处理,简单可靠,在此基础上针对特殊情况衍生的方法也是可以的。但是,其它任何不同的同步方法都不行。比如用高速时钟进行处理,等等,虽然有的很花哨,看起来很有创意,但都是不可靠的。”
他说得这么绝对,我有点儿怀疑,道:“就你的办法可靠,别人的就不可靠?”
“不是我的可靠,这是别人的研究成果。为什么说其它的方法不可靠呢?因为一般他们都会分析,在什么条件下可以避免亚稳态,然后想各种办法去满足这些条件,就做出了形形色色的同步方案。关键在于,避免亚稳态的条件分析可能是没问题的,但产生这些条件的电路本身却是不可靠的,或者只是在某些特定条件下是可靠的。你说,他的方法怎么能可靠呢?这个以后你如果看到了,可以仔细研究研究。”
“好!”貌似有道理,虽然我并不完全同意,却没法反驳,因为实在是知识有限。又问道:“那衍生的方法是什么意思?”
他答道:“就是抓住双触发器这个关键,针对特殊情况进行处理。比如,如果输入异步信号的脉冲宽度小于一个本地时钟周期,会怎么样?”
这个难不倒我,就是快时钟域到慢时钟域的信号,我答道:“如果直接用双触发器同步,有可能采不到!”
“是的。可以考虑用这个电路进行同步,在经典电路上衍生一下。”说着,他给我看一个电路。
aa.jpg
他解释道:“前面加一个触发器FF1用异步信号作为时钟触发。输入由低变高时,FF1输出1。而在异步输入为0同时FF3输出为1时,FF1的CLR异步清零信号有效,FF1输出0。这样同步输出肯定能检测到异步输入并且保证同步输出信号宽度至少大于2个时钟周期。”
“这个电路挺好啊!”
我话音未落,他话锋一转,道:“但这个电路是不推荐使用的。”
不推荐还跟我说,这不是瞎耽误工夫吗?我问道:“为什么?”
他指着FF1的时钟输入脚,答道:“这个电路使用了异步设计技术,由数据信号同时驱动时钟脚和异步复位端,并且耗费了时钟资源,所以是不推荐的。”
我不太理解,问道:“异步设计技术怎么了?这不是挺好的吗?能实现功能就行呗!”
他答道:“异步设计技术有机会再给你细讲。这个你看,如果异步输入信号有毛刺,会怎么样?是不是会误触发产生错误信号?”
“是,原来如此!”我听明白了,原来异步设计的问题是这样的。又问道:“那怎么办呢?”
“推荐解决方案,一是把异步输入信号在源时钟域进行展宽,可以使用计数器等电路,使其宽度大于2个本地时钟周期。”他答道。
我道:“这个容易实现。”
他没理我,继续道:“第二个解决方案是这个电路。”
bb.jpg
解释道:“这个电路可以适用于两个时钟频率关系未知,也就是不知道跨时钟域的异步输入是比一个本地时钟周期宽还是窄,都可以使用。异步输入信号平时是0,同步输出信号也是0。FF1由源时钟驱动,输入变高,FF1输出变高。FF1的Q输出反馈通过与门和或门保证了在FF5输出为0时,只要FF1输出变高,FF1输出就一直保持高。直到FF3同步输出变成1后,FF5输出变成1,与门输出0。这时只要输入为0,FF1输出即为0。FF2、FF3 处理亚稳态同步到目的时钟即本地时钟。FF4、FF5把输出再同步回源时钟。明白吗?”
“大概明白了。”我虽然看得比较晕,但还是假装明白了,再慢慢琢磨吧。突然想起个问题,我问道:“这些异步信号宽度都是随便改的吗?”
他答道:“嗯,一般情况下,单根的异步都是作为状态或控制用的,并且频率都很低,宽度变化没什么影响。如果遇到特殊情况就再说了。”
他停下想了想,欲言又止。
我想,应用情况千差万别,不太可能用一个万能的方法处理所有问题,但只要抓住问题的本质,了解根本原理,要找到合适的、可靠的处理方法就不难了。
发表于 2015-8-19 11:42:44 | 显示全部楼层
比前两个复杂一点点
发表于 2015-8-19 17:45:42 | 显示全部楼层
帖子内容不错!
但是论坛禁止发布任何QQ群号、微信公众号。
请注意一下
 楼主| 发表于 2015-8-19 18:41:05 | 显示全部楼层
回复 3# jackzhang

明白,但是人家是有版权的,我只是转载,抱歉。。
发表于 2015-8-19 20:05:38 | 显示全部楼层
回复 1# GGgangge


    顶一下
发表于 2015-8-20 09:53:17 | 显示全部楼层
这个有点复杂,留待以后用
发表于 2015-8-20 10:02:30 | 显示全部楼层
讲的不错,期待后续内容。
发表于 2015-8-20 17:49:45 | 显示全部楼层
写的挺好的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 01:32 , Processed in 0.028413 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表