跨时钟域握手信号方法

握手信号方法

使用握手信号是最古老的在两个不同域之间传输数据的方式。
下图是由两个时钟域分割成的两个单独的系统
在这里插入图片描述
使用握手信号”xack"和“yreq",“系统X”将数据发送给“系统Y”。
下面是使用握手信号传输数据的过程。
1)发送器“系统X”将数据放到数据总线上并发出“xreq”(请求)信号,表示有效数据已经发到接收器”系统Y"的数据总线上。
2)把”xreq"信号同步到接收器的时钟域“yclk"上。
3)接收器在识别”xreq"同步的信号“yreq2"后,锁存数据总线上的信号。
4)接收器发出确认信号”yack",表示其已经接受了数据。
5)接收器发出的“yack"信号同步到发送时钟”xclk"上。
6)发送器在识别同步的“xack2"信号后,将下一个数据放到数据总线上。

握手信号序列的时序如下图所示

在这里插入图片描述
从图中可以看出,安全地将一个数据从发送器传输到接收器需要5个时钟周期

握手信号的要求

数据应该在发送时钟域内稳定至少两个时钟上升沿。
请求信号”xreq"的宽度应该超过两个上升沿时钟,否则从高速时钟域低速时钟域传递可能无法捕捉到该信号。

握手信号的特点

跨时钟域传输单个数据的延迟比使用FIFO传输相同的数据要大得多

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值