7.跨时钟域处理

引用b站大佬rong晔手册

1.单bit信号

电平检测:通过寄存器打两拍进行同步,也就是所谓的电平同步器。
问题,输入信号必须保持两个接收时钟周期,每次同步完,输入信号要恢复到无效状态。所以,如果是从快到慢,信号很有可能被滤除。适用于慢时钟域向快时钟域。

两级触发器可防止亚稳态传播的原理:假设第一级触发器的输入不满足其建立保持时间,它
在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚
稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时
间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入
端的数据满足其建立保持时间。


边缘检测:在电平同步器的基础上,通过输出端的逻辑组合,可以完成对于信号边沿的提取, 识别上升沿,下降沿以及双边沿,并发出相应的脉冲。

特点:比起电平同步器,更适合要求脉冲输出的电路。但同样,输入信号必须保持两个接收时钟周期。
适用于慢时钟域向快时钟域。

脉冲同步:先将原时钟域下的脉冲信号,转化为电平信号(使用异或门),再进行同步,同步完成之后再把新时钟域下的电平信号转化为脉冲信号(边沿检测器的功能)。
这就从快时钟域的取出一个单时钟宽度脉冲,在慢时钟域建立新的单时钟宽度脉冲。结合了之前所提到的两种同步器。
问题:输入脉冲的时间间距必须在两个接收时钟周期以上,否则新的脉冲会变宽,这就不再是单时钟脉冲了。
适用于快时钟域向慢时钟域。

2.多bit异步信号:

1:可以采用保持寄存器加握手信号的方法(多数据,控制,地址);
2:特殊的具体应用电路结构,根据应用的不同而不同;
3:异步 FIFO。(最常用的缓存单元是 DPRAM)

握手:设备 1 将 valid 信号置 1,告诉设备 2,数据准备就绪了,请查收
           设备 2 此刻正处于忙碌状态无法接收数据,设备 2 将 ready 信号保持为 0
           设备 2 空闲了,将 ready 信号置 1 接收设备 1 的数据
           设备 1 看到设备 2 的 ready 为 1,它知道设备 2 已经接收好数据了,将 valid 置 0 同时撤销数据,准备下一次发送。可以看到因为有握手控制,可以确保数据的正确传输,不会丢失。

跨时钟域的握手设计就是利用握手控制这种优势,从而避免因为跨时钟域引起的数据传输错误。
 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值