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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2078|回复: 6

[求助] 关于信号跨时钟域的疑惑

[复制链接]
发表于 2020-6-18 15:29:28 | 显示全部楼层 |阅读模式

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

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

x
最近突然想到一个问题:对于单bit信号,不论是从快时钟跨到慢时钟,还是慢时钟跨到快时钟,接收数据的那个时钟域的采样点都可能处于数据跳变边沿,即有可能发生亚稳态,那么此时的状态沿后级寄存器传输,就可能造成判断错误,那么打拍不就没用了吗?
另外,即使单bit信号是一个电平信号,在最开始采样的那一刻也可能出现亚稳态,那么这个错误依然会对后级有影响?该怎么理解打拍的作用了?
 楼主| 发表于 2020-6-18 15:30:17 | 显示全部楼层
求大神来解答一下,表示很疑惑,不明白。
发表于 2020-6-18 15:53:19 | 显示全部楼层
要点:一个DFF进入metastable后,它不会一直处于metastable状态,会有一个回复时间,必然处于0/1的稳定状态。对于现在的0.13um及以下工艺,这个回复时间在1ns以下(小于一个时钟周期)。

具体可以看如下课程的第9课:
https://ke.qq.com/course/package/24207
发表于 2020-6-18 16:44:15 | 显示全部楼层
你考虑的是对的,所以打拍要打两拍,也就是所谓的两级同步化处理。而且这也只是降低了亚稳态的概率。并不是完全避免了亚稳态。
发表于 2020-9-1 16:29:35 | 显示全部楼层
(1)亚稳态保持或消散问题
有个东西叫MTBF的时间计算公式,一般亚稳态消散会在一个采样时钟时钟周期的一个时钟周期由一定概率消散,两级DFF就大大降低了最后进入采样级的概率的。大概两级能保证几十年的采样运行不会是的最后一级采样到亚稳态。
(2)出现亚稳态后的数据有效性问题
亚稳态出现时,表示传播的电压值在中间值,既不是1的电压范围也不是0的电压范围;最后消散后为0还是1,是不确定的。所以对于异步跨时钟域电路的设计,要求电路的功能设计是对亚稳态出现后由tolerance的。比异步FIFO里面会用到gray code等
(3)快慢采样时钟的问题
根据Tx,Rx之间的时钟,信号的不同,是有很多不同的同步器的,根据design的不同,会选择不同的同步器,最后会做CDC的静态检测以保证同步器是否插入正确,CDC的动态检测以保证同步器插入后,功能是否正确。
发表于 2020-9-1 16:37:43 | 显示全部楼层
       看到过一种说法是打拍只是降低了亚稳态的概率,并不是消除,也不能保证第二个寄存器采集到的数据准确,也就是说在第一个寄存器出现亚稳态时,用第二个寄存器去采大概率会随机采集到一个0 或者1,防止这个不定态一直传递下去对后面造成不可知影响。之所以是打两拍而不是三拍四拍是因为两拍就已经把概率极大的降下来了,再加寄存器取到的收益很小又耗费了资源,不合算。
发表于 2020-9-1 17:43:36 | 显示全部楼层
打两拍只是大大降低了亚稳态,并不能保证第二个寄存器的输出一定跟原信号是一致的,但可以得到明确的0或者1。具体使用中,对于电平信号,当前时钟周期没有采集到正确的值,下一个周期采到就行了,异步传输本来就不可能保证两个时钟域内信号完完全全的等价;至于脉冲信号,不管是快才慢的道理和电平信号类似,慢采快的话必须对原信号进行展宽,本来就不能直接采样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 08:25 , Processed in 0.021140 second(s), 7 queries , Gzip On, Redis On.

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