实验六:按键模拟控制实现
FPGA序列检测器实验(远程实验系统)
文章目录
- FPGA序列检测器实验(远程实验系统)
- 一、数字电路基础知识
- 1. 时钟与同步
- 2. 按键消抖原理
- 代码讲解:分频与消抖
- 3. 有限状态机(FSM)设计
- 代码讲解:状态机编码与转移
- 4. 边沿检测与信号同步
- 5. 模块化设计
- 二、实验数字电路整体思想
- 三、状态机转移表
- 序列检测器实验——状态转移表(预定转移表)
- 四、使用远程实验系统操作并观察实验现象
一、数字电路基础知识
1. 时钟与同步
- 时钟(clock)
FPGA中所有时序逻辑都依赖时钟信号。时钟的上升沿(或下降沿)驱动触发器(Flip-Flop)采样数据,确保电路按统一节奏工作。 - 同步与异步复位
复位信号(如nRST)用于初始化电路。同步复位在时钟沿同步释放,异步复位则只要nRST有效就立即生效。FPGA设计中常用异步复位、同步释放的结构保证可靠性。
2. 按键消抖原理
- 机械抖动现象
物理按键在按下或释放瞬间,因机械弹簧反弹、接触不良会产生短时间的高低电平反复变化,称为“抖动”或“毛刺”。 - 数字消抖思路
用多级寄存器采样按键信号,只有连续N次采样一致才判断为稳定。实验中采用3级采样判定:- 用两个寄存器级联延迟原始按键信号,再和原始信号一起判断:连续3个1输出1,连续3个0输出