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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3207|回复: 6

[求助] 把输入的脉冲变宽

[复制链接]
发表于 2013-2-4 15:16:51 | 显示全部楼层 |阅读模式

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

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

x
如何使我的输出是对输入脉冲的拓宽,而且频率不变,有没有不是通过延时的简便方法?就是:输入1M的方波(占空比不是一半,高电平占的少),现在让高电平变宽,但是频率不变,最好不要用延时设计的逻辑!有什么方法实现???
发表于 2013-2-4 22:22:51 | 显示全部楼层
计数器。
 楼主| 发表于 2013-2-5 13:35:02 | 显示全部楼层




    谢了哦,我只是用延时,然后或以下,只是想知道还有什么跟好的方法,但是如果上升沿检测不到那就是问题了,因为我的高电平非常窄的!
 楼主| 发表于 2013-2-5 13:46:19 | 显示全部楼层


除非你窄到小于一个时钟周期,要不是能检测到的。
chen851112 发表于 2013-2-5 13:37




    感觉和100M的一个周期一样窄,但是我觉得用100M来检测它的上升沿还是不保险,所以我就干脆用延时了,感觉自己写的代码太小儿科了!!!!!!!!!
发表于 2013-2-28 15:28:01 | 显示全部楼层
可以用PLL改占空比
发表于 2013-3-6 22:39:47 | 显示全部楼层
看看这个方案可行吗?
因为时钟可能采样不到输入信号的高电平,所以用脉冲上沿触发输出脉冲的上沿,然后用时钟计数,完成delay时间后,将输出脉冲复位到0。
要注意的是,输入脉冲上沿是否和clk是异步关系。
以下是参考的code
input   clk, pulse_in, reset;
output pulse_out;
reg clear ;
reg   pulse_in_rise_sync_q, pulse_in_rise_sync_qq;

always @(posedge pulse_in or posedge clear) begin
    if (clear)      pulse_in_rise <= 1'b0;
    else     pulse_in_rist <= 1'b1;
end

always @(posedge clk or posedge reset) begin
    if (reset) begin
        pulse_in_rise_q <= 1'b0;
        pulse_in_rise_qq <= 1'b0;
    end
    else begin
        pulse_in_rise_q <= pulse_in_rise;
        pulse_in_rise_qq <= pulse_in_rise_q;
    end
end

always @(posedge clk or negedge pulse_in_rise_qq) begin
    if (~pulse_in_rise_qq)
        cnt <= 0;
    else
        cnt <= cnt +1 ;
end

always @(posedge clk or posedge reset) begin
    if (reset) clear <= 1'b0;
    else clear <= cnt == expect_numer
end
发表于 2013-3-8 13:40:29 | 显示全部楼层
窄脉冲同步到慢时钟域有一种办法
用窄脉冲控制触发器的异步复位端,只要窄脉冲出现,触发器就会一直处于复位状态,将这个信号作为输出即可。
当然,也不能让触发器一直复位,可以将前面的输出信号经过慢时钟打几拍后,再反馈到触发器的D端。
这样可以完成脉冲信号的检测和扩宽。
具体可参照一下其他文档,论坛上有的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-15 04:09 , Processed in 0.028645 second(s), 9 queries , Gzip On, MemCached On.

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