图1 FPGA设计流程
3. 系统设计思路
本文设计的人数自动统计系统由两个光电传感器、两个按钮开关和一个电机控制的机械挡板构成。没有人通过时挡板处于闭合状态,当想要进入教室时,按下外部的按钮开关,电机正转挡板打开,当处于内部的光电开关检测到有人通过的信号时,电机反转挡板闭合,计数器加一,并通过数码管显示人数变化;相反,有人出教室时按下内部的按钮,挡板打开,当处于外部的光电开关检测到有人通过的信号后挡板闭合,计数器减一;当按下按钮相对应的传感器在3秒内没有检测到人通过,挡板闭合,计数器值不变化。该系统程序流程图如图2所示:
图2 程序流程图
4. 系统的总体设计
4.1 按键去抖动
在数字电路系统设计中,无论是输入信号还是输出信号总是不可避免的会产生一些不希望有的毛刺或者随机干预信号,他们的排除或者避免成为了数字系统设计者们必须面对的问题。
常用的排除毛刺的方法有:延时去毛刺;逻辑去毛刺;定时去毛刺[15]。延时去毛刺主要针对数据或者单边沿的毛刺,且延时时钟的周期需要与主通道的输入数据时序宽度或者时钟的周期有较好的配合。对于双边沿都有毛刺或者抖动的时钟信号,例如按键抖动就没有效果;定时去毛刺能用于消除来自不同情况的干扰、毛刺、和电平抖动,不过耗用资源比较多。
本系统采用逻辑方式去毛刺,电路由四个上升沿触发型D触发器和一个4输入与门构成,输入信号以移位串行方式向前传递。电路原理图如图3所示。
图3 去抖动电路
经过仿真图4可以观察,该电路已将所有的随机抖动脉冲全部滤除掉。
图4 去抖动仿真4.2 进、出模块方案一:
将两组光电开关的发射管和接收管分别放在教室门口两侧,通过检测两个光电开关的导通顺序来判断是进教室还是出教室[6]。方案一如图5所示。 FPGA教室人数自动统计系统的设计与实现(3):http://www.youerw.com/zidonghua/lunwen_9334.html