当前位置:首页 > FPGA > 正文内容

单比特和多比特的信号处理

浩雨4年前 (2022-08-18)FPGA6039

信号跨时钟域传输时,两个时钟的上升沿相位差没有固定关系,所以采样时钟很容易出现建立保持时间违例而采到亚稳态。


使用两级同步器处理:

两级同步器能降低亚稳态发生的概率只是使信号变为稳态再往下传输,保证安全但并不保证正确。

image.png

如上图,A信号建立保持时间,导致B为亚稳态,但是由于有F3的存在,使其有足够的时间恢复稳态,所以C信号为稳态,对下游是安全的。


单比特数据CDC处理方法:

1、单比特CDC -- 慢到快

跨时钟信号的宽度 > 采样时钟的两个周期 -> 两级同步

【直接使用两级同步即可】

跨时钟信号的宽度 < 采样时钟的两个周期 -> 先脉冲扩展,再两级同步

【先脉冲扩展,把脉冲信号的宽度扩展为 大于 采样时钟的两个周期,再使用两级同步】

2、单比特CDC -- 快到慢

这种情况下,跨时钟信号的宽度(最小为快时钟的一个周期)肯定 小于 采样时钟(慢)的两个周期

跨时钟信号的宽度 < 采样时钟的两个周期 -> 先脉冲扩展,再两级同步

3、快慢不确定

握手处理:

A时钟域向B时钟域发送req信号,保持为高
B时钟域对req打两拍采样到1,再返回ack信号
A时钟域对ack打两拍采样到1,拉低req

image.png


多比特跨时钟域

多比特跨时钟域打两拍存在的问题:两个信号同时变化有延迟,导致采样时钟采样错误,本来应该是同时拉高,但是跨过来之后错开了

image.png

多比特数据CDC处理方法:

1、多比特信号合并为单比特信号

如果需要跨时钟域的信号存在逻辑关系,可以合并为单比特信号再跨时钟域传输

2、格雷码

把多比特信号转为格雷码再进行跨时钟域传输。保证同一时刻只有1bit变化

二进制码转为格雷码:二进制码右移一位,和原值异或

assign gray = (bin << 1) ^ bin

格雷码转为二进制码:bin[i] = 格雷码右移i位做 位异或

bin[i] = ^(gray >> i)

3、使用单比特握手信号

使用握手信号req和ack
A时钟域和B时钟域握手,握手期间保证传输的多bit数据稳定不变(稳定的数据可以随便跨时钟域)

4、使用异步FIFO

数据通过FIFO传输
读写指针(格雷码)跨时钟域传输


参考自:https://blog.csdn.net/m0_49597336/article/details/120095977

扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://world.myfpga.cn/index.php/post/263.html

分享给朋友:

“单比特和多比特的信号处理” 的相关文章

基础实验十三,DS18B20温度传感器

基础实验十三,DS18B20温度传感器

//==========================================================================// Author     : ChanRa1n// Description: Training for Intel FPGA/...

多路选择器

多路选择器

多路选择器:在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路。二选一多路选择器 --- 模块框图in_1:输入信号in_2:输入信号sel:控制选择信号out:输出信号二选一多路选择器 --- 波形图in_1、in_2、sel 的波形是随机的。out 的波形根据控制选通信号而定。当 se...

3-8译码器

3-8译码器

译码:译码是编码的逆过程,在编码时,每一种二进制的代码,都赋予了特殊的含义,即都表示了一个确定的信号或者对象。把代码状态的特定含义翻译出来的过程叫做译码,实现译码操作的电路称为译码器。译码器:一类多输入多输出的组合逻辑电路器件,其可以分为:变量译码和显示译码两类3-8译码器 模块框图:输出信号定义为...

半加器

半加器

半加器:两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法器电路。即两个一位二进制数的加法运算电路。半加器 模块框图:sum:结果位count:进位半加器 真值表:半加器 波形图:代码部分:选择器代码:在Src文件夹中新建 half_adder.v文件module half_adder...

CDC跨时钟域信号处理

CDC跨时钟域信号处理

保证时序电路的时序要求:建立时间:在有效的时钟沿到来之前,输入端的输入信号需要保持稳定不变的最小时间保持时间:在有效的时钟沿到来之后,输入端的输入信号需要保持稳定不变的最小时间CDC问题1:亚稳态亚稳态原因:亚稳态解决方法:对于单信号来说,使用 Double FF来进行信号同步CDC问题2:数据收敛...

按键消抖

按键消抖

        按键消抖主要针对的是机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,—个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。        因而在闭合及断开的瞬间均伴随有一连串的抖动,为了保证系统能正确识别按键的开关,就必须对按键的抖动进行处理,这就是按键消抖...