在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 11228|回复: 8

[求助] 怎么判断输入方波信号的上升沿

[复制链接]
发表于 2013-3-6 10:26:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
输入一个方波信号,与时钟信号,方波信号与时钟信号之间的关系是不确定的,但是之间的周期相差比较大。现在怎么来判断这个方波上升沿啊
 楼主| 发表于 2013-3-6 10:29:06 | 显示全部楼层
signal clk_r1 : std_logic;
process(clk)
begin
     if rising_edge(clk) then
          clk_r1 <= Square_wave;
    end if;
end process;

pulse_signal <= clk and (not clk_r1);
发表于 2013-3-6 11:29:15 | 显示全部楼层
不好意思,不知道哦。。。
发表于 2013-3-6 21:38:24 | 显示全部楼层
楼主自问自答吗
但是如果信号和时钟关系不定的话,是不是当作异步处理,再多加一级锁存,否则pulse_signal可能是个很窄的脉冲
发表于 2013-3-11 10:04:16 | 显示全部楼层
把时钟作为采样时钟  方波信号作为被采样信号 , 将方波信号延迟两排 ,如 :
always@(posedge clk or negedge reset)
begin
  if(!reset)
   begin
     reg_signal1<=1'b0;
     reg_signal2<=1'b0;
   end
  else
     begin
       reg_signal1<=signal;
       reg_signal2<=reg_signal1;
     end
end

上升沿 即是   (!reg_signal2 && reg_signal1) == 1;
发表于 2013-3-20 13:56:52 | 显示全部楼层
一楼正解
发表于 2013-3-21 11:40:47 | 显示全部楼层
要判断方波的上升沿,首先要保证系统时钟频率要比方波信号的频率高。
然后用系统时钟将输入的方波信号寄存在一个两位的寄存器中(MSB:signal_i_d,LSB:signal_i),寄存器的值为10(或01),说明是上升沿(或下降沿)
发表于 2013-3-26 21:19:18 | 显示全部楼层
把方波当做采样对象嘛,两级锁存用异或的方式就可以判断了
发表于 2013-3-28 11:42:38 | 显示全部楼层
要区分快采慢 还是 慢采快,区别对待。快采慢很容易,两级触发器级联处理;慢采快,先展宽后,再两级触发器级联处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 23:10 , Processed in 0.025083 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表