跨时钟域脉冲信号检测(慢时钟检测快时钟脉冲信号)

本文探讨了在毕业设计中处理跨时钟域脉冲信号的问题,特别是低频AD采集信号与高频处理信号间的同步。采用双端BRAM存储数据,并通过信号处理完成后的状态机跳转实现慢时钟与快时钟的同步。解决方案包括在快时钟检测到脉冲时拉高signal_a,在慢时钟检测到高电平后拉低,并利用D触发器消除亚稳态,确保状态机正常跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于跨时钟域信号的处理过程,有关脉冲信号的检测刚好用在我的毕业设计当中。
由于我毕设中关于雷达信号处理过程中,从AD采集的信号时钟频率低,信号处理的频率高。一般处理这种情况使用的是异步FIFO,但我为了方便计算帧数用的双端的BRAM储存数据,当采集满了发送脉冲跳转状态开始信号处理。
快时钟采集满时钟很好处理,但是当信号处理完成后需要跳转状态机到初始态,状态机是慢时钟跳转状态,而DSP_OVER信号是满时钟,而且频率相差时间较长,因此需要对他进行慢时钟同步。

解决方案如下:
clka是快时钟,clkb是慢时钟。
主要思路如下:
当快时钟采集到pulse_a_in脉冲时候signal_a 信号拉高。
我们需要signal_a 信号一直拉高,直到clkb时钟采集到高电平后再拉低。
然后用clkb时钟一直采集signal_a ,用signal_b来记录。
然后为了消除亚稳态我们需要用D触发器打两拍进行消除亚稳态。

代码还是比较好懂的,这个经过实际上板子测试确认跳转状态正常。

module  F2S_Sync_Pulse(
                                        input              clk_a,//fast clock
                                        input              clk_b,//slow clock
                                        input              rst_n,
                                        input            pulse_a_in,
                                        output           pulse_b_out,
                      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值