新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 源同步信号跨时钟域采集的两种方法

源同步信号跨时钟域采集的两种方法

作者:时间:2012-05-08来源:网络收藏

异步FIFO

  再说异步FIFO法,其实这种没什么新奇,只不过充分利用异步FIFO的特性来完成跨域的数据交互。但是其中还是有几个非常关键的要点需要提醒设计者注意,无论如何FIFO的输入端数据和(包括控制,如有效使能等)必须符合FIFO的数据锁存有效建立和保持时间,这个最重要的条件除了需要靠数据源端来保证外,还需要靠数据锁存端(FPGA内部)设计者做好时序上的约束和分析,否则到源端再nice的波形恐怕都无法保证能够可靠的被FIFO锁存。

  异步FIFO的基本通讯时序波形如图5所示。我们关心的是FIFO的写入。由图中不难发现,写入wrclk的每个上升沿会判断写入请求信号wrreq是否有效,若是有效则FIFO会相应的锁存当前的写入数据data。简单来看,从基本时序上分析,wrclk的上升沿需要对准wrreq和data的中央,这是外部传输过来的源信号必须满足的基本关系。无论如何,即便是绞尽脑汁,也要想办法让这个基本关系得到保证,否则,后面的rdclk、rdreq配合的再默契恐怕都不能得到稳定的q输出。

  

  图5

  原型开发的前期,设计者必须首先验证写入信号的关系,哪怕是不惜动用示波器(⊙n⊙b汗,连示波器都没有不要混了),源端给到FPGA输入端口的信号很多时候不是那么尽善尽美的,实践出真知,测试结果说了算。当然了,实在没有先进武器又想打胜仗的朋友恐怕只有不停的用代码测试到最稳定的数据了,这有点碰运气的成分在里面,不是非常推荐。

  类似与开篇提到的应用,特权同学的实际信号采集如图6所示,把写入时钟Tx Clock和写入请求信号Enable Signal都先用时钟Rx Clock打了一拍,然后再输入FIFO中,而数据总线Data Bus则直接送往FIFO。这样从最终检测来看,能够保证时钟的上升沿对准数据和控制信号的中央,相对稳定和安全的把数据送往FIFO中。

  

  图6

  工程实践中往往不是一招一式的生搬硬套理论,一定要抓住最关键的设计要点,并采取各种有效的手段保证设计的实现。

脉冲点火器相关文章:脉冲点火器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭