0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA学习-边沿检测技术

FPGA设计论坛 来源:未知 2022-11-26 10:20 次阅读
所谓边沿检测,就是检测输入信号即上升沿或者下降沿的检测。
边沿检测的电路很好实现:上一时刻为低电平,而当前时刻为高电平,此时就为上升沿;上一时刻为高电平,而当前时刻为低电平,此时就为上升沿。
通过边沿采样技术实现上升沿捕获进而实现外部信号的上升沿触发。

边沿检测电路的实现方法;

1、always @ (posedge signal)

FPGA不便于处理此类触发信号,除非外部输入信号作为全局时钟使用。另外众所周知由于电路不能能避免抖动现象,所以用这个检测方法是明显不合理的。

2、一级D触发器实现; 我们先看下代码,

module shizhong
(
input clk,
input rst_n,
input spi_cs,
output mcu_write_done
);
reg spi_cs_r0;
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
spi_cs_r0 <= 1; 
end
else
begin
spi_cs_r0 <= spi_cs;        
end
end

assign mcu_write_done = (~spi_cs_r0 & spi_cs) ? 1'b1 : 1'b0; //posedge

endmodule

代码综合后RTL视图如下:
正常工作,没有复位的情况下,工作流程如下:
(1)D触发器经过时钟clk的触发,输出spi_cs信号,保存了t0时刻的信号。
(2)同时由spi_cs直接输出到与门,保留了当前时刻t1的触发信号
(3)经过与门输出信号pos_edge,neg_edge
a) 只有t0时刻为高,且t1时候为低的时候,与门输出高,此时为下降沿。
b) 只有to时候为低,且t1时候为高的时候,与门输出高,此时为上升沿。

一级D触发器在寄存器比较时,前一时刻通过D触发器已经统一到FPGA的时钟域,而当前时刻直接从外部输入,与FPGA整体逻辑电路不在同一时钟域,为提高系统的稳定性我们可以采用第三种方法即二级D触发器。

3、二级D触发器;我们仍然先看代码:

module shizhong
(
input clk,
input rst_n,
input spi_cs,
output mcu_write_done
);
reg spi_cs_r0, spi_cs_r1;
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
spi_cs_r0 <= 1; spi_cs_r1 <= 1;
end
else
begin
spi_cs_r0 <= spi_cs; spi_cs_r1 <= spi_cs_r0;
end
end

assign mcu_write_done = (~spi_cs_r1 & spi_cs_r0) ? 1'b1 : 1'b0;

endmodule

代码综合后RTL视图如下:
正常工作,没有复位的情况下,工作流程如下:
(1)一级D触发器经过时钟clk的触发,输出当前spi_cs信号,保存了t0时刻的信号。送往与门。
(2)二级D触发器经过时钟clk的触发,输出上一时刻spi_cs信号,保存了t1时刻的信号。通过非们送往与门。
(3)经过与门输出信号pos_edge,neg_edge
a) 只有t0时刻为高,且t1时候为低的时候,与门输出高,此时为下降沿。
b) 只有to时候为低,且t1时候为高的时候,与门输出高,此时为上升沿。
利用CLK打两拍,实现了上一时刻信号和本时刻信号和FPGA整体逻辑电路统一到同一时钟域。
这里要加两级的触发器的另一个原因,因触发器跳转产生滞后信号只能在时钟的上升沿,而被检测信号tigger并不一定是在一级触发器跳转的时钟上升沿到来,这样一级触发器所产生的滞后信号与tigger相差就达不到一个CLK周期,所以产生的脉冲信号就小于一个CLK周期了,不利于后面电路对其的应用。
边沿检测应用:
(1)将时钟边沿使能转换为边沿检测使能,使时钟同步化。
(2)捕获信号的突变(UART,SPI等信号使能突变)
(3)逻辑分析仪中信号的边沿检测。
实现指标及存在缺陷:
(1)增大CLK信号可以增强边沿检测的效率,但不能滤去跳变的杂波。
(2)减少CLK可以有效滤去跳变的杂波,但不能及时检测到边沿跳变。
(3)增加DFF能更好的滤除杂波,寄存信号,但同时检测延时大。





精彩推荐



至芯科技12年不忘初心、再度起航11月12日北京中心FPGA工程师就业班开课、线上线下多维教学、欢迎咨询!
FPGA学习-CRC校验
FPGA学习-你真的理解IIC吗?
扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看





原文标题:FPGA学习-边沿检测技术

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    602987

原文标题:FPGA学习-边沿检测技术

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA加速深度学习模型的案例

    FPGA(现场可编程门阵列)加速深度学习模型是当前硬件加速领域的一个热门研究方向。以下是一些FPGA加速深度学习模型的案例: 一、基于FPGA
    的头像 发表于 10-25 09:22 214次阅读

    FPGA做深度学习能走多远?

    今天给大侠带来在FPAG技术交流群里平时讨论的问题答疑合集(十四),以后还会多推出本系列,话不多说,上货。 FPGA技术交流群目前已有十多个群,QQ和微信均覆盖,有需要的大侠可以进群,一起交流
    发表于 09-27 20:53

    边沿jk触发器具有什么功能

    边沿JK触发器是一种数字逻辑电路,广泛应用于数字电路设计中。它具有多种功能,包括同步操作、存储数据、实现时序逻辑等。以下是对边沿JK触发器功能的分析: 同步操作 边沿JK触发器是一种同步触发器,它在
    的头像 发表于 08-28 09:50 686次阅读

    边沿触发器的动作特点是什么?

    边沿触发器是一种数字逻辑电路,其动作特点主要体现在以下几个方面: 触发方式:边沿触发器的动作是由输入信号的边沿变化引起的。当输入信号从低电平变为高电平或从高电平变为低电平时,触发器的状态会发生改变
    的头像 发表于 08-09 18:17 899次阅读

    边沿触发器的状态变化由什么控制

    边沿触发器(Edge-Triggered Flip-Flop)是一种数字逻辑电路,其状态变化由输入信号的边沿控制,即由输入信号从低电平变为高电平或从高电平变为低电平的瞬间触发。边沿触发器广泛应用
    的头像 发表于 08-09 17:29 580次阅读

    基于深度学习的无人机检测与识别技术

    随着无人机技术的快速发展,无人机在军事、民用、商业等多个领域的应用日益广泛。然而,无人机的广泛使用也带来了诸多挑战,如空域安全、隐私保护等问题。因此,开发高效、准确的无人机检测与识别技术显得尤为重要。本文将深入探讨基于深度
    的头像 发表于 07-08 10:32 1207次阅读

    基于AI深度学习的缺陷检测系统

    在工业生产中,缺陷检测是确保产品质量的关键环节。传统的人工检测方法不仅效率低下,且易受人为因素影响,导致误检和漏检问题频发。随着人工智能技术的飞速发展,特别是深度学习
    的头像 发表于 07-08 10:30 1364次阅读

    基于深度学习的小目标检测

    在计算机视觉领域,目标检测一直是研究的热点和难点之一。特别是在小目标检测方面,由于小目标在图像中所占比例小、特征不明显,使得检测难度显著增加。随着深度学习
    的头像 发表于 07-04 17:25 856次阅读

    FPGA学习笔记-关于FPGA资源

    FPGA学习。 在学习中才发现,FPGA远不是门电路那么简单。FPGA中有各种需要的资源,比如门电路、存储单元、片内RAM、嵌入式乘法器、
    发表于 05-22 18:27

    FPGA学习笔记-入门

    大概10年前,大学同学建议我学习DSP。当因为工作忙,也只是简单学习了DSP的一些基础知识,没有进一步深入学习和时间。结果现在,好像DSP已经不再是主流了,现在有了FPGA。 现在想想
    发表于 04-09 10:55

    FPGA初步学习印象

    了。FPGA出现后,也想学习学习这方面的知识。抱着先简单学习下的态度,在网上找资料看看。感觉FPGA,就像是利用芯片内部资源,自由组合门电路
    发表于 04-09 09:46

    FPGA学习资料分享

    本帖最后由 1653149838.791300 于 2024-3-31 13:24 编辑 FPGA学习首先是要熟悉掌握使用硬件描述语言,这方面可以通过书籍或者这方面论坛,这里个人分享一个比较好
    发表于 03-31 13:23

    stm32外部中断的边沿检测时,对上升沿或者下降沿是否有要求?

    请问各位大佬,stm32外部中断的边沿检测时,对上升沿或者下降沿是否有要求,必须小于或者大于多少时间,或者在多少时间内必须上升或者下降多少V才算触发。在spec中只看到了最小是10ns就可以,同时边沿
    发表于 03-20 08:31

    fpga学习需要具备哪些课程

    FPGA(Field Programmable Gate Array)学习需要具备一系列的课程知识和实践技能
    的头像 发表于 03-14 15:51 1185次阅读

    学习FPGA必须知道的社区

    学习FPGA必须知道的社区
    的头像 发表于 01-03 17:51 391次阅读
    <b class='flag-5'>学习</b><b class='flag-5'>FPGA</b>必须知道的社区