搜索
bottom↓
回复: 4

第二章 何为脉冲边沿检测法(更新)

[复制链接]

出0入0汤圆

发表于 2014-3-23 10:33:13 | 显示全部楼层 |阅读模式
首先要说一下脉冲边沿检测法的应用:
捕获信号的突变(按键捕获,SDRAM响应标志捕获等)
这里要先说一下按键消抖时所用到的脉冲边沿检测法,如图所示:


上两图是三个按键时做的一个脉冲边沿检测,一个是代码,一个是RTL视图。注意:按键是低电平有效,所以复位时,等于3’b111。
为了防止触发信号(sw_n)的波动,消除抖动,加上几级触发器,使信号更稳定,这里我加了两级的触发器。
当一个按键触发按下时,如从111111...到111000...再到松开按键111000...111...正如第一幅图所示,有按键被按下了,不管你按下多长时间,我就会检测到按键有被按下的状态,这时该如何用代码来表示呢?就是用这个脉冲边沿检测法,来采集到信号被触发的那一刻,即从1变0的过程。有了这个标志,接下来要做的就是剔除消抖,一般按键的抖动时间大约为20ms,就用计数器计数到20ms的时候,key_an为1‘b1,计数清零。
还有一点你们常常会听到打慢一拍同步,究竟是一个啥意思?就是用触发器锁存一下,打慢一拍就是用一个触发器,打慢两拍就是用两级触发器,如此类推...
以下是我做项目时用到的脉冲边沿检测法,如图所示:


简单的说一下,这里我是想捕获SDRAM的写响应完成标志,做了两级的触发器锁存,相信大家看了按键消抖这部分时,已经对脉冲边沿检测有了一个很高的认识,这是对以后编写自己模块时用到的一个算是思想吧,不错,挺管用。
注意:最后一幅图是两级的触发器,经过优化,RTL视图显示为一个,其实是两个的。由此,你可以想象一下,为什么他要优化,省略了一个触发器,其实你用三个或更多的触发器作为锁存,他都会帮你优化成为一个而已,这个就是我上面所说的,你可以用几级触发器,为了信号的稳定,建议用多个。
更新点:
为了让大家更能够理解和明白脉冲边沿检测法,我对上面捕获SDRAM的写响应完成标志sdram_rd_ack做了详细的说明。其实并不是所有标志信号都要用脉冲边沿检测法,这里所说的标志信号是有可能产生连续的信号时,例如我这个sdram_rd_ack在另外一个模块是这样定义的,如图所示:


为什么说他是连续的信号呢?也就是用数学的方式解答为他在一定范围内连续,如本来是高电平111111......,然后遇到逻辑判断产生低电平111111000111111......这时,我只是想捕获他出现低电平时那个变化的信号,就可以用这个脉冲边沿检测法来捕获,这里原理跟按键消抖同出一辙,只是换了环境,换了方式表达而已。再或者极端的话,就出现如1111110111111......我的意图也是想捕获这个跳变的信号也可以用到这种方法。但是我要强调的一点是,他已经能成为这个你想捕获到的那个信号时,就不要再用脉冲边沿检测法了,这是多余的,如图所示:


这个标志信号也是另外一个模块送过来的,他本身就是你要捕获的那个信号,通俗的话就是说,他已经就是一个点了,是某一个时间点出现的一种情况,不是一段连续信号,这个你懂我的意思吗?

本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-3-23 20:26:54 | 显示全部楼层
很仔细的读了楼主的帖子,有一点看不懂,想向楼主请教一下。楼主的按键检测代码的实现过程我已经都明白了。但是我不明白为什么要输出一个key_an信号,这个信号是怎么反应三个按键的状态的?

出0入0汤圆

发表于 2014-3-23 20:48:15 | 显示全部楼层
谢谢楼主分享

出0入0汤圆

 楼主| 发表于 2014-3-23 23:04:23 | 显示全部楼层
cxhy 发表于 2014-3-23 20:26
很仔细的读了楼主的帖子,有一点看不懂,想向楼主请教一下。楼主的按键检测代码的实现过程我已经都明白了。 ...

key_an是反映一个按键的,不是三个按键,你理解错了吗?就是你不按时111...再按着是变成111000...再放手时,又变成111000000111...这个key_an就是检测到你按下的那一刻

出0入0汤圆

 楼主| 发表于 2014-3-23 23:04:50 | 显示全部楼层

一起学习,一起玩转FPGA
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 02:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表