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
    +关注

    关注

    1647

    文章

    22111

    浏览量

    621361

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 ?1784次阅读

    机器学习异常检测实战:用Isolation Forest快速构建无标签异常检测系统

    本文转自:DeepHubIMBA无监督异常检测作为机器学习领域的重要分支,专门用于在缺乏标记数据的环境中识别异常事件。本文深入探讨异常检测技术的理论基础与实践应用,通过Isolatio
    的头像 发表于 06-24 11:40 ?729次阅读
    机器<b class='flag-5'>学习</b>异常<b class='flag-5'>检测</b>实战:用Isolation Forest快速构建无标签异常<b class='flag-5'>检测</b>系统

    进群免费领FPGA学习资料!数字信号处理、傅里叶变换与FPGA开发等

    进群免费领FPGA学习资料啦!小编整理了数字信号处理、傅里叶变换与FPGA开发等FPGA必看资料,需要的小伙伴可以加小助手(微信:elecfans123)或进 QQ 群:9135011
    发表于 04-07 16:41

    数字电路—20、边沿触发器

    边沿触发器:靠CP脉冲上升沿或下降沿进行触发。
    发表于 03-26 14:52

    行业首创:基于深度学习视觉平台的AI驱动轮胎检测自动化

    全球领先的轮胎制造商 NEXEN TIRE 在其轮胎生产检测过程中使用了基于友思特伙伴Neurocle开发的AI深度学习视觉平台,实现缺陷检测率高达99.96%,是该行业首个使用AI平台技术
    的头像 发表于 03-19 16:51 ?533次阅读
    行业首创:基于深度<b class='flag-5'>学习</b>视觉平台的AI驱动轮胎<b class='flag-5'>检测</b>自动化

    外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?

    外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿
    发表于 03-11 06:05

    MRAM存储替代闪存,FPGA升级新技术

    优化的架构设计和成熟的制程技术,具备内置的硬擦除器、错误检测和校正机制,为用户提供了可靠的开发环境。用户可利用最新的Radiant工具,直接实现MRAM的编程接口,支持多种存储容量和数据速率。利用这些FPGA器件,用户可以受益于
    发表于 03-08 00:10 ?738次阅读

    【国产FPGA入学必备】国产FPGA权威设计指南+配套FPGA图像视频教程

    一、《国产FPGA权威设计指南》简介 为更好地服务广大FPGA工程师和高等学校师生,2025,紫光同创携手金牌方案提供商小眼睛科技,组织了数十位应用技术专家,共同编写《国产FPGA权威
    发表于 02-20 15:08

    基于FPGA的图像边缘检测设计

    今天给大侠带来基于 FPGA 的图像边缘检测设计,话不多说,上货。 设计流程如下:mif文件的制作→?调用 ip 核生成rom以及仿真注意问题→?灰度处理→?均值滤波:重点是3*3 像素阵列的生成
    的头像 发表于 02-10 11:30 ?775次阅读
    基于<b class='flag-5'>FPGA</b>的图像边缘<b class='flag-5'>检测</b>设计

    CAN差分波形的边沿如此缓慢怎么办?

    现场进行CAN通信故障排查时,常常遇见因边沿缓慢导致的通信错误,那边沿缓慢是由什么原因导致的呢?下面通过一个案例带大家一起看一看。现场测试数据图1是通过ZPS-CANFD采集的现场CAN网络的报文
    的头像 发表于 01-21 11:47 ?902次阅读
    CAN差分波形的<b class='flag-5'>边沿</b>如此缓慢怎么办?

    FPGA在AI方面有哪些应用

    随着人工智能技术的飞速发展,对计算性能的需求也日益增长。FPGA(现场可编程门阵列)作为一种高性能、低功耗、可灵活编程的硬件平台,正逐渐在 AI 领域崭露头角,展现出独特的优势,为 AI 应用的落地
    的头像 发表于 01-06 17:37 ?1565次阅读

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

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

    FPGA做深度学习能走多远?

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

    基于机器学习的IWR6843AOP跌倒和姿态检测实现

    电子发烧友网站提供《基于机器学习的IWR6843AOP跌倒和姿态检测实现.pdf》资料免费下载
    发表于 09-03 10:02 ?3次下载
    基于机器<b class='flag-5'>学习</b>的IWR6843AOP跌倒和姿态<b class='flag-5'>检测</b>实现

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

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