概述
握手信号方法
使用握手信号是最古老的在两个不同域之间传输数据的方式。
下图是由两个时钟域分割成的两个单独的系统
使用握手信号”xack"和“yreq",“系统X”将数据发送给“系统Y”。
下面是使用握手信号传输数据的过程。
1)发送器“系统X”将数据放到数据总线上并发出“xreq”(请求)信号,表示有效数据已经发到接收器”系统Y"的数据总线上。
2)把”xreq"信号同步到接收器的时钟域“yclk"上。
3)接收器在识别”xreq"同步的信号“yreq2"后,锁存数据总线上的信号。
4)接收器发出确认信号”yack",表示其已经接受了数据。
5)接收器发出的“yack"信号同步到发送时钟”xclk"上。
6)发送器在识别同步的“xack2"信号后,将下一个数据放到数据总线上。
握手信号序列的时序如下图所示
从图中可以看出,安全地将一个数据从发送器传输到接收器需要5个时钟周期。
握手信号的要求
数据应该在发送时钟域内稳定至少两个时钟上升沿。
请求信号”xreq"的宽度应该超过两个上升沿时钟,否则从高速时钟域向低速时钟域传递可能无法捕捉到该信号。
握手信号的特点
跨时钟域传输单个数据的延迟比使用FIFO传输相同的数据要大得多。
最后
以上就是纯真红酒为你收集整理的跨时钟域握手信号方法握手信号方法的全部内容,希望文章能够帮你解决跨时钟域握手信号方法握手信号方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复