集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1515|回复: 0

边沿检测

[复制链接]
zxw123 发表于 2021-8-13 17:24:30 | 显示全部楼层 |阅读模式
FPGA  培训专家   www.zxopen.com
至芯科技论坛 www.fpgaw.com
炼狱传奇-边沿检测之战
边沿检测,就是检测输入信号或者FPGA 内部逻辑信号的跳变,即对信号上
升沿或者下降沿的检测。
  想要学习边沿检测电路,我们首先应该学习下面这个经典的电路

我们来分析一下这个电路结构和工作原理
(1) 当系统处于复位状态即 rst_n 信号为低电平时, 寄存器 inst 清零端生效,
寄存器输出端 Q 清零。 由于 Q 端分别是 “与门” inst1 和 inst2 的输入端,
而系统输出端 neg_edge 和 pos_edge 都是寄存器输出端 Q 和输入信号
signial 相与的结果,所以无论此时输入信号 signial 如何变化, 系统
输出端 neg_edge 和 pos_edge 一直都是低电平,系统处于复位状态。
(2) 复位结束以后, 假设 signial 信号首先保持的是低电平, 在时钟的驱动下,
寄存器输出端 Q 等于 signial,也保持低电平,所以系统输出端 neg_edge
和 pos_edge 都是保持低电平。
(3) 假设输入信号 signial 在某个“当前周期”从低到高跳变,那么由于寄存
器的延时特性,寄存器输出端 Q 只有在“下一周期”才会出现跳变。
“与门”inst1 的“3 号”输入端由于是直接连接到了输入端 signial,
所以在“当前周期”下“3 号”端口的电平为 1,输出端 neg_edge=0,保
持低电平。
“与门” inst2 的 “1 号” 输入端通过 “非门” 直接连接到了输入端 signial,
所以在“当前周期”下“1 号”端口的电平为高,而“4 号”端口的电平
为 Q 端的取反,所以“4 号”端口的电平也为高,系统输出端 pos_edge
为高电平。
(4)  当“下一周期”到来以后 Q 端输出为 1,则“4 号”端口的电平
FPGA  培训专家   www.zxopen.com
至芯科技论坛 www.fpgaw.com
变为低,系统输出端 pos_edge 又恢复为低电平。也就是说当信号上升沿到来以
后,pos_edge 只能保持有且只有一个时钟的高电平,在这里我们叫做“尖峰脉
冲”
下降沿的检测原理与上述类似,在此不再赘述,通过这张图我们总结出以下
两点:
(1)当信号出现上升沿以后,pos_edge 会出现一个时钟周期的“尖峰脉
冲”。
(2)当信号出现下降沿以后,neg_edge 会出现一个时钟周期的“尖峰脉
冲”。
原理掌握以后,接下来我们看一下具体的代码实现


FPGA  培训专家   www.zxopen.com
至芯科技论坛 www.fpgaw.com
编写测试代码如下:

仿真波形如下:

有上图可以得知,key 按键出现下降沿以后,neg_edge 出现尖峰脉冲,key
按键出现上升沿以后,pos_edge 出现尖峰脉冲。

  

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-23 19:39 , Processed in 0.057040 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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