【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第二章)按键消抖实验例程 - FPGA开发者技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

Mill 关注 私信
[文章]

【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第二章)按键消抖实验例程

适用于板卡型号:
紫光同创PG2L50H_MBG324开发平台(盘古PGX-Nano)

一:盘古盘古PGX-Nano开发板简介
PGX-Nano 是一套以紫光同创 FPGA 为核心的开发板,选用紫光同创 logos2 系列 28nm 工艺的 FPGA(PG2L50H_MBG324)。集成下载器芯片,极大的便利 了用户的使用。 板卡搭载一颗容量为 2MB 的 SRAM 用于数据缓存,DAC 芯片用于产生模 拟信号进行测试验证,esp32 模组进行 WIFI、蓝牙透传;预留了丰富的扩展 IO 用于用户验证、测试外接模块电路功能,一组串口进行串行通信;同时为用户提 供基础的硬件电路资源,例如 led 灯、按键、拨码开关等。


二:实验目的

对按键PB0进行按键消抖





三:实验原理
机械式弹片按键,在按下或松开时会有机械抖动,导致在按下或松开时按键的状态不稳定,在快速的变化,在使用按键输入信号时如果采集了抖动时的状态,会导致工程出现不可控的变化,故而我们需要将这段时间的抖动信号给滤除掉,故此实验称之为按键消抖;

前后抖动时间约为5~10ms,取按键抖动区间开始标识,持续10-20ms后标识归零,在抖动区间内输出保持,非消抖区间,按键状态输出。





四:实验源码设计


这个module的设计中新增加一种语法:parameter;在verilog中parameter是对常量进行定义,将parameter定义放在module的接口中是可进行模块传递,传递方式请看后面模块例化;





五:实验现象
1、首先按照下图步骤使用debug核抓取数据,需要保持板卡在上电状态。
(debug核的快速使用可参考PDS快速使用手册,文档位置:1_Demo_document工具使用篇2_PDS快速使用手册)


2、此时点击PB0,观察到消抖前按键信号有明显的抖动,消抖后按键信号保持稳定。

更多回帖

×
发帖