0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

跨时钟域知识点梳理

Hack电子 来源:IC打工魂 2023-05-29 10:42 次阅读

随着实习面试的临近、秋招的逐步靠近,愈发觉得知识需要成系统,让它们串接起来。不然,太容易忘了

1、单比特信号

1.1电平同步

当我们需要在两个时钟域间传输一个电平信号,这里的电平信号表示信号能够维持一定的时间(如在原时钟域内至少维持两个周期),可以采用两个触发器打拍。

类似下面这种,持续一定时间,能在亚稳态稳定后采样到稳定的值,即第一个周期可能同步失败,但第二个周期有机会采样稳定的值,不发生亚稳态

wKgaomR0EVyAP5R_AAHWq4uaNko452.png

1.2、脉冲同步

当信号在发送端时钟域内只能持续一个周期时,可以称为脉冲信号。要注意的是,发送的是脉冲,收到的也应该是脉冲。

为了让脉冲能够被接收端采样,可以将脉冲信号在发送时钟域内变成电平信号。即采样到in_pulse为1,则翻转Q,将脉冲变成边沿。

只要脉冲有足够的间隔,就能保证接收端能够边沿检测,从而输出一个接收时钟周期的脉冲

wKgaomR0EVyANaeOAAAitsrSYDk246.png

1.3 握手

很显然,上面两种方式不存在接收方对发送方的反馈。

也可以使用握手协议,确保一笔一笔的完成传输,只有完成一笔传输,才会改变数据。

见:握手信号传输跨时钟域数据

wKgZomR0EVyAYiCkAACQWJ5j4q8062.png

1.4 展宽

当信号宽度不够,可以使用展宽的方法,如在发送域打拍,然后取或

wKgZomR0EVyAUYb_AADInV57AzU035.png

2、多bit

2.1 异步FIFO

使用异步FIFO传输数据--格雷码计数器实现

使用异步FIFO传输数据--对以前的强烈批判

2.2 多路复用

DMUX数据有效会搭配一个标志信号data_ready,对标志信号进行同步,将同步后的标志信号作为MUX的选通信号。

在发送时钟域内,标志信号和数据是同步的,在同步器内,标志信号同步有延迟。这样即使数据和标志信号在接收时钟上升沿附近变化,data_ready可能发生亚稳态,亚稳态结束后,同步后的标志信号可以正常工作。而数据在这些延迟内,能够达到稳定,即接收方采样的data是不变的,当然不会违反建立保持时间

这要求当data_ready=1时,data要保持

wKgZomR0EVyADD-TAACDdrvRnq0475.png

换种方式,我们可以将标志信号作为于触发器使能端。道理是类似的,en=0,并不会使能触发器的采样

wKgaomR0EVyAfABZAABDAgXl6Ww033.png

2.3 握手

和单bit类似,协议让数据维持足够的时间

wKgZomR0EV2Aetj-AAPF2tH_Qqc794.png

2.4 双口RAM

双口RAM可以同时读写

wKgaomR0EV2AVo1MAADYe3Jnstc366.png

增加读写控制逻辑,很像异步FIFO,不多说

wKgaomR0EV2AMRkbAAD9jr7J1bU223.png

3、收敛

当出现信号的合流时,如下图所示,dataa和datab将经过组合逻辑变成1bit。由于组合逻辑的延迟不同,可能出现毛刺,可能传输到错误的信号,

wKgaomR0EV2AchJTAAA45ryQWd0082.png

解决办法就是发送方再打拍

wKgZomR0EV2ACzM5AABVkwmJn94577.png

还要注意的是,两级同步后,也应该避免多比特使用组合逻辑,原因在于亚稳态恢复的数据不确定

wKgaomR0EV2AaRThAACZwKaxerk093.png

4、发散

当信号要作用于接收方的不同逻辑时,即有多个扇出,由于传播延时和不同的亚稳态解决时间meta-stable settling time,输出也可能不同。

因此只能先同步然后使用,避免分别同步使用

wKgZomR0EV2AAXG5AADGIK_Q7Z0804.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 脉冲
    +关注

    关注

    19

    文章

    853

    浏览量

    94778
  • fifo
    +关注

    关注

    3

    文章

    369

    浏览量

    43086
  • 信号
    +关注

    关注

    11

    文章

    2643

    浏览量

    75403
  • Mux
    Mux
    +关注

    关注

    0

    文章

    37

    浏览量

    23226
  • 时钟域
    +关注

    关注

    0

    文章

    49

    浏览量

    9455

原文标题:跨时钟域梳理

文章出处:【微信号:Hack电子,微信公众号:Hack电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    梳理自恢复保险丝的知识点

    ,电路就可以恢复正常工作了。若是故障没有排除,或是故障再次出现,重新通电后,自恢复保险丝仍然会再次启动保护。 这里有几点自恢复保险丝的知识点梳理一下:1、自恢复保险丝不同于传统一次性熔断保险丝,可以
    发表于 06-14 15:59

    时钟时钟约束介绍

    ->Core Cock Setup:pll_c0为(Latch Clock) 这两个是时钟时钟,于是根据文中总结:对于
    发表于 07-03 11:59

    如何处理好FPGA设计中时钟问题?

    时钟处理是 FPGA 设计中经常遇到的问题,而如何处理好时钟间的数据,可以说是每个 FP
    发表于 09-22 10:24

    三种时钟处理的方法

      时钟处理是FPGA设计中经常遇到的问题,而如何处理好时钟间的数据,可以说是每个FPG
    发表于 01-08 16:55

    关于cdc时钟处理的知识点,不看肯定后悔

    关于cdc时钟处理的知识点,不看肯定后悔
    发表于 06-21 07:44

    如何处理好FPGA设计中时钟间的数据

    时钟处理是FPGA设计中经常遇到的问题,而如何处理好时钟间的数据,可以说是每个FPGA初
    发表于 07-29 06:19

    关于STM32的时钟系统的知识点

    本人所知的关于STM32的时钟系统的知识点展示出来。先贴上STM32F1系列的时钟树1、时钟源由时钟树可以,对于STM32来说,
    发表于 08-06 06:28

    学习STM32F407的必备知识点电源,复位和时钟系统

    第14章 STM32F407的电源,复位和时钟系统本章教程继续为大家讲解学习STM32F407的必备知识点电源,复位和时钟系统。掌握这三方面的知识点对后面的学习大有裨益。目录第14章
    发表于 08-10 06:57

    关于RTC时钟知识点

    在做智能手环时候使用到了关于RTC时钟的,今天我们来复习一下关于他的知识点。文章中我是参考的有STM32f411的中文参考手册,需要的话我会上传这个pdf版。实时时钟(RTC)养成查资料的好习惯
    发表于 08-11 08:27

    学习STM32H7的必备知识点电源,复位和时钟系统

    第14章 STM32H7的电源,复位和时钟系统本章教程继续为大家讲解学习STM32H7的必备知识点电源,复位和时钟系统。掌握这三方面的知识点对后面的学习大有裨益。目录第14章 STM3
    发表于 08-18 07:46

    如何处理好时钟间的数据呢

    时钟处理是什么意思?如何处理好时钟间的数据呢?有哪几种
    发表于 11-01 07:44

    STM32时钟分频系数的知识点汇总,绝对实用

    STM32时钟分频系数的知识点汇总,绝对实用
    发表于 12-15 07:01

    STM32时钟树的基础知识点汇总,绝对实用

    STM32时钟树的基础知识点汇总,绝对实用
    发表于 02-14 07:49

    FPGA时钟处理简介

    (10)FPGA时钟处理1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA时钟
    发表于 02-23 07:47

    看看Stream信号里是如何做时钟握手的

    逻辑出身的农民工兄弟在面试时总难以避免“时钟”的拷问,在诸多时钟的方法里,握手是一种常见
    发表于 07-07 17:25