一种基于FPGA的多路视频通道控制系统设计
其中,clk为13.5 MHz频率的时钟信号,clk_cnt为采样时间间隔计数器,当clk_cnt为135 000时采样1次,即每隔10 ms采样1次。寄存器shuru_temp存储前一次开关信号状态,shum存储当前开关信号状态。如果shuru_temp的值等于shtlm的值,则计数器test_cnt自动加l。如果连续4次采样值相等,即test_cnt=4时去抖动输出才随输入变化。
用电平拨动开关信号作为输入,制作了一个脉冲信号用于识别开关动作,其代码如下:
代码中寄存器level_contrl_TEMP存储level_contrl延时256个时钟周期后的信号,然后用level_eontrl_TEMP中存储的信号与level_co-ntrl的值相异或产生所需要的脉冲信号。
调试中发现,去抖动后的信号经常混有持续时间很短的高频脉冲干扰信号,因此设计中使用两级D触发器延时来彻底消除高频脉冲干扰,其程序代码如下:
评论