当前位置: 首页 > news >正文

FPGA外部触发信号毛刺产生及滤波

1、背景

        最近在某个项目中,遇到输入给FPGA管脚的外部触发信号因为有毛刺产生,导致FPGA接收到的外部触发信号数量多于实际值。比如:用某个信号源产生1000个外部触发信号(上升沿触发方式)给到FPGA输入IO,实际上FPGA内部逻辑判定接收到的触发信号数量大于1000个,且数量为随机性。因为毛刺的产生的个数具有随机性。

2、原理图设计

外部触发信号经过Buffer器件(74HCT125D)输入端整形后,输出端DIO1_IN连接到FPGA的输入管脚。

3、测试过程

        外部上升沿触发信号特征为:高电平脉宽为10us,上升沿时间为5us,故该触发信号对于数字IO输入信号而言,属于一个上升时间缓慢的输入信号。远远不满足输入信号的上升/下降转换时间指标要求。参见下图所示。

 实测发现,这个上升时间缓慢的输入信号会导致Buffer(74HCT125D)器件额外产生一个上升沿毛刺。以前没有遇到过这种情况,这次算是增加了一个经验。

 上图中,I_SYNC_DIO_IN1为FPGA管脚,用于接收经过BUFFER器件的外部触发信号。由上图可知,在ila触发时刻附近,I_SYNC_DIO_IN1先有一个上升沿毛刺,持续时间约30ns,然后才是真正的外部触发信号。

I_sync_dio_in1_rising_cnt为抓取已检测到的上升沿数量 - 滤波前。

S_sweep_trigin_cnt为抓取已检测到的上升沿数量 - 滤波后。

4、解决方法

1、增加软件滤波方式:已知上升沿毛刺持续时间为30ns,软件滤波窗口时间设定为300ns,滤波结果是OK的,参见上图S_sweep_trigin_cnt信号,为滤波后的结果。

2、更换硬件BUFFER器件:选型输入信号的上升/下降转换时间指标要求时间长的器件。

实际工程中,最终解决方案为:上述两种方式同时采用,从而确保功能的可靠性和抗干扰性。 

5、参考连接

1、CMOS器件的输入信号上升时间为什么不能太长?

2、https://www.icxbk.com/ask/detail/18132.html   stm32的单片机识别的高低电平?

相关文章:

FPGA外部触发信号毛刺产生及滤波

1、背景 最近在某个项目中,遇到输入给FPGA管脚的外部触发信号因为有毛刺产生,导致FPGA接收到的外部触发信号数量多于实际值。比如:用某个信号源产生1000个外部触发信号(上升沿触发方式)给到FPGA输入IO,实际…...

day38 滑动窗口

1. 滑动窗口 应用场景: 满足xxx条件(计算结果、出现次数、同时包含) 关键词:最长最短子串无重复等等 1)最长 左右指针在起始点,R 向右依次滑动循环; 如果: 窗内元素满足条件&#x…...

翻出了我当时学习的笔记来了html

php:高级语言 web应用程序 万维网 浏览器中查看 apache:服务器 mysql:数据库 html 标签 css:层叠样式表 javascript:客户端脚本 js jquery mysql数据库基础 php语法基础 面向对象(物件) smar…...

vuejs 设计与实现 - 快速diff算法

Vue.js 2 所采用的双端 Diff 算法。既然快速 Diff 算法如此高效,我们有必要了解它的思路。接下来,我们就着重讨论快速 Diff 算法的实现原理。 相同的前置元素和后置元素 快速 Diff 算法借鉴了纯文本 Diff 算法中预处理的步骤。 案例: 旧的…...

webpack基础知识七:说说webpack proxy工作原理?为什么能解决跨域?

一、是什么 webpack proxy,即webpack提供的代理服务 基本行为就是接收客户端发送的请求后转发给其他服务器 其目的是为了便于开发者在开发模式下解决跨域问题(浏览器安全策略限制) 想要实现代理首先需要一个中间服务器,webpac…...

nginx负载均衡(nginx结束)

本节主要内容 1、四层,七层代理的配置方法 2、负载均衡的算法 nginx负载均衡:反向代理来实现 反向代理有两种转发方式:1、四层代理 2、七层代理 Nginx的七层代理和四层代理 七层是最常见的反向代理方式,只能配置在nginx配置文…...

Git与Github常用方法

目录 1. Github基本使用方法2. Git使用方法3. git、VS code、Github联合使用方法4. Git配置Github远程仓库SSH密钥5 常见问题 1. Github基本使用方法 仓库(Repository):Github上用来存放代码的空间,包含代码、文档和其他文件。提…...

Centos7离线安装MySQL8

1、下载MySQL https://downloads.mysql.com/archives/community/ 2、下载完毕后,上传到Centos,解压 tar -xf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar 3、逐条执行安装命令 rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm rpm -ivh …...

AWD攻防学习总结(草稿状态,待陆续补充)

AWD攻防学习总结 防守端1、修改密码2、备份网站3、备份数据库4、部署WAF5、部署文件监控脚本6、部署流量监控脚本/工具7、D盾扫描,删除预留webshell8、代码审计,seay/fortify扫描,漏洞修复及利用9、时刻关注流量和积分信息,掉分时…...

扫雷(超详解+全部码源)

C语言经典游戏扫雷 前言一.游戏规则二.所需文件三.创建菜单四.游戏核心内容实现1.创建棋盘2.打印棋盘3.布置雷4.排查雷5.game()函数具体实现 五.游戏运行实操六.全部码源 前言 😀C语言实现扫雷是对基础代码能力的考察。通过本篇文章你将学会如何制作出扫雷&#xff…...

python生成exe脚本全过程

python生成exe脚本全过程 1、定义设计的GUI界面2、几个GUI界面常用函数2.1 tk.Label2.2 tk.StringVar2.3 tk.Entry2.4 tk.Button2.5 tk.Text2.6 tk.Scrollbar 3、实例3.1 需求3.2实现 4、如何使用pycharm生成可执行exe文件4.1安装pyinstaller4.2 生成exe文件 5、生成exe过程中遇…...

【机器学习1】什么是机器学习机器学习的重要性

什么是机器学习? 简而言之,机器学习就是训练机器去学习。 机器学习作为人工智能(Artificial Intelligence,AI)的一个分支,以其最基本的形式来使用算法通过从数据中获取知识来进行预测。 不同于人类通过分析大量数据手动推导规则和模型,机…...

立即开始使用 3D 图像

一、说明 这个故事介绍了使用这种类型的数据来训练机器学习3D模型。特别是,我们讨论了Kaggle中可用的MNIST数据集的3D版本,以及如何使用Keras训练模型识别3D数字。 3D 数据无处不在。由于我们希望构建AI来与我们的物理世界进行交互,因此使用3…...

鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统em

​ Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目…...

《向量数据库》——怎么安装向量检索库Faiss?

装 Faiss 以下教程将展示如何在 Linux 系统上安装 Faiss: 1. 安装 Conda。 在安装 Faiss 之前,先在系统上安装 Conda。Conda 是一个开源软件包和环境管理系统,可在 Windows、macOS 和 Linux 操作系统上运行。根据以下步骤在 Linux 系统上安装 Conda。 2. 从官网…...

学习pytorch 2 导入查看dataset

学习pytorch 2 2. dataset实战代码数据集 2. dataset实战 B站小土堆视频 代码 from torch.utils.data import Dataset from PIL import Image #import cv2 import osclass MyData(Dataset):def __init__(self, root_dir, label_dir):self.root_dir root_dirself.label_dir …...

三、kubeadm部署单Master节点kubernetes集群

kubeadm部署单Master节点kubernetes集群 一、kubernetes 1.21发布 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sGgnZuno-1691633861803)(kubeadm部署单Master节点kubernetes集群 1.21.0.assets/image-20220119160108054.png)] 1.1 介绍 2021年…...

js-6:typeof和instanceof的区别

1、typeof typeof操作符返回一个字符串,表示未经计算的操作数的类型。 operand表示对象或原始值的表达式,其类型将被返回。 从上面的例子可以看出,前6个都是基础数据类型,虽然typeof null为object,但这只是javascrip…...

SQL SERVER 异地备份到远程共享文件夹异常处理

SQL SERVER 异地备份到远程共享文件夹异常处理 SQL Server 异地备份到远程共享文件夹异常处理 - 灰信网(软件开发博客聚合) -- 允许配置高级选项 EXEC sp_configure show advanced options, 1 GO -- 重新配置 RECONFIGURE GO -- 启用xp_cmdshell EXEC sp…...

服务器数据恢复-RAID5上层Hyper-V虚拟机数据恢复案例

服务器数据恢复环境: 一台Windows Server服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在一台DELL存储中。该存储中有一组由4块硬盘组建的RAID5阵列,用来存放虚拟机的数据文件,另外还有一块大容量硬盘…...

第7章:支持向量机(SVM)

第7章:支持向量机(SVM) 树模型的决策边界是"轴对齐的阶梯",而 SVM 在说:“我要找那条与两类数据距离最大的分界线——不是随便一条能分开的线,而是最宽的那条街道的中心线。” 这个追求"最大间隔"的执念,催生了 20 世纪最优雅的分类算法之一。 0. 本…...

游戏洞察力 | 为什么塔防游戏总能赚钱?从玩法设计看品类底层逻辑

在上一篇内容中,我们深入剖析了塔防游戏的商业价值核心,发现其凭借低门槛、高覆盖的用户基础、可深度挖掘的策略空间以及强兼容的玩法框架,成为天然适配广告变现的优质手游品类,也理解了这一经典品类能够长期稳居市场的底层逻辑。…...

Linux内核中的网络协议栈详解

Linux内核中的网络协议栈详解 引言 网络协议栈是Linux内核中负责处理网络通信的核心组件,它实现了从物理层到应用层的完整网络协议,为应用程序提供了可靠的网络通信服务。Linux内核的网络协议栈支持多种协议,包括TCP/IP、UDP、ICMP等&#xf…...

OpenClaw技能市场巡礼:Qwen3-4B适配的十大实用模块

OpenClaw技能市场巡礼:Qwen3-4B适配的十大实用模块 1. 为什么需要关注OpenClaw技能市场? 第一次接触OpenClaw时,我被它"AI操控电脑"的概念吸引,但真正让我持续使用的却是它的技能市场(ClawHub)…...

OpenClaw模型微调指南:优化Qwen2.5-VL-7B特定场景图文识别准确率

OpenClaw模型微调指南:优化Qwen2.5-VL-7B特定场景图文识别准确率 1. 为什么需要微调Qwen2.5-VL-7B 去年我在做一个电商商品自动分类项目时,发现现成的多模态模型在识别特定品类商品时表现不佳。比如把"蓝牙耳机"识别成"助听器"&am…...

终极指南:Container Desktop - Windows容器开发的高效开源替代方案

终极指南:Container Desktop - Windows容器开发的高效开源替代方案 【免费下载链接】container-desktop Provides an alternative for Docker for Desktop on Windows using WSL2. 项目地址: https://gitcode.com/gh_mirrors/co/container-desktop 在Windows…...

揭秘OZON选品公司性价比:如何用最少的钱选出爆款?

在OZON平台上掘金,选品无疑是决定成败的第一步。然而,面对海量商品和瞬息万变的市场,许多卖家陷入了两难:要么投入大量时间和金钱盲目试错,要么依赖昂贵的选品工具,成本高企却收效甚微。今天,我…...

MDCL:不换设备,不降功率,电费减少三分之一——发射机技术内核(二)

上一篇讲了固态发射机的模块级效率已经到了90%——硬件层面的省电空间接近极限。但AM调制本身还藏着一个巨大的效率漏洞:载波。 载波的浪费 AM调制有一个教科书级别的效率缺陷:载波本身不携带任何信息。 在标准双边带AM中,所有音频信息都在…...

MCU固件Flash分区设计与优化实践

1. 项目概述在嵌入式系统开发中,MCU固件的Flash划分是一个看似基础却至关重要的环节。作为一名经历过多次"翻车"的嵌入式工程师,我深刻理解合理的Flash分区方案对项目稳定性、可维护性和功能扩展性的影响。今天我们就来聊聊几种常见的Flash划分…...

工商业储能柜的 OEM 定制需要关注哪些关键指标?

“同一款工商业储能柜,为什么不同工厂的报价差异能达到 30%?” 这是不少储能贸易商在筛选供应商时遇到的典型问题。随着国内峰谷电价差持续拉大,工商业储能需求快速释放,但面对市场上五花八柜的产品方案,贸易商往往难以…...