您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 基于D触发器的机械去抖动电路设计
天水师范学院TIANSHUINORMALUNIVERSITY《数字电子技术与逻辑设计》设计报告题目:基于D触发器的机械去抖动电路设计学院:电子信息与电气工程学院专业:电子信息工程班级:14级电信一班姓名:王亮亮汪小娟学号:20141060152201410601512015年12月30日2目录1.设计背景………………………………………………………22.设计要求………………………………………………………23电路组成框图………………………………………………….34.设计内容……………………………………………………….4.4.1二选一门电路……………………………………………………..4.4.2数字去抖动电路设计……………………………………………..54.3初值可预置型计数器设计………………………………………..74.4500HZ和1KHZ的分频…………………………………………104.58421BCD译码的verilog语言……………………………………………….134.6蜂鸣器…………………………………………………………....14.4.7动态扫描计数器与位选,选择器…………………………………………..14.4.8十六进制7段显示译码器程序……………………………………………..155.整体设计电路图…………………………………………..166.引脚分配情况…………………………………………………177.调试……………………………………………………………178.实验心得体会…………………………………………………189.参考文献………………………………………………………183基于D触发器的机械去抖动电路设计1.设计背景作为机械开关的键盘,在按键操作时,由于机械触点的弹性及电压突跳等原因,在触点闭合或开启的瞬间会出现电压抖动。为保证按键触发的准确性,在按键电压信号抖动的情况下不能进行状态输入。为此必须进行抖动处理。消抖部分的信号一般有硬件和软件两种方法。硬件就是加抖动电路,这样可以从根本上解决按键抖动问题。还可以用可编程逻辑器件设计相应的逻辑和时序电路,这里介绍一种使用D触发器构成的电路,能去除含电子抖动的任意形式及几乎任意频率的信号,且能从电路上控制输出信号的脉宽。这是一种更实用、功能更完善的电路。这种电路基本上就是滤波器,它可以将信号中的毛刺、随机噪声信号或电子抖动信号都“滤除”,只让真正的数据信号通过此电路。总之就是将输入电平的杂波分量滤除,能准确的判断电平变换。因此消除始终抖动是必要的2.设计要求(1)在Quartus||下完成设计,根据课本第6章图6—40,设计一个机械键去抖动电路(图中工作时钟CLK为几百HZ)。参照第8章图8—28所示的同步可预置型计数器设计一个14进制计数器。计数器时钟端CLK接去抖动电路的KEY—OUT。(2)当每一次按键,如果计数器只加1,表明去抖动电路良好;如果计数值增加大于1,表明键的抖动尚未消除。(3)最终要能直观地比较出加抖动电路和没加去抖动电路的不同效果。43.电路组成框图该电路只要有二选一门电路、初值可预置型14进制计数器、显示译码器、数码管、500HZ的分频如下图所示。4.设计内容单个模块的设计4.1二选一门电路二选一门电路数字消抖动电路1KHZ、500KHZ的分频初值可预置型14进制计数器显示译码器数码管5该数据选择器有两个输出信号(A和B)和一个控制输入(S)一个输出(OUT)。当S为1的时候OUT选择A,当S为0的时候OUT选择B简单的表达具体化:输入输出ABSOUT00000101100011010010011010111111二选一门电路4.2数字去抖动电路设计输入输出SOUT1A0B6如图所示的电路由4个D触发器和1个4输入与门构成。电路有一个工作时钟CLK。4个D触发器链接成同步时序方式,即将它们的时钟输入端都连在一起。工作时与时钟同步工作,输入信号以移位串行方式向前传递。其信号输入口是KEY—OUT。分析此电路可以发现,其“滤波”功能的关键是这样的,当信号被串入电路后,能在KEY—OUT输出脉冲信号的条件是,必须在4个D触发器的输出端Q都同时为1,次与门才输出高电平。由于干扰抖动信号是一群宽度狭窄的随机信号,在串入时,很难十分整齐地同时使与门输出为1,而只有正常信号才足够的宽度通过此电路,从而起到了“滤除”的功能。如果增加D触发器的数量,可以一定程度上提高滤波性能。仿真结果如图所示74.3初值可预置型计数器设计与其他类型计数器相比,计数初值可预置型计数器的适用面更宽。如图所示译码器模块CNT4BIT余右面的4位锁存器构成了一个4为二进制计数器图中比较器COMP2本质上就是一个4输入与门,功能是当计数值为1110时,输出一个高电平进位信号,它控制多路选择器MUX4的数据通道的选择信号端S,当比较器COMPF的输出端R为0即为低电平时4路选择器MUX4会选通A0此后随着时钟连续出现,进行正常的累计加数。一旦计数器计到1110时,则输出端R为1即为高电平。选择器会选通A1,如果预置数不改变,则计数器将从初始值开始累计加数。仿真结果如图所示8图中元件CNT4BIT是由verilog源代码编写以下为其程序:图中元件MUX4是由verilog源代码编写以下为其程序:9图中元件DFF4是4位寄存器,寄存器在数字电路中,是用来存放二进制数据或代码的电路。寄存器是有具有存储功能的触发器组合起来的。一个触发器可以存储移位二进制代码,存放N位二进制代码的寄存器,需要用N个触发器来构成。从逻辑结构上看,移位寄存器有以下两个显著特征:(一)移位寄存器是由相同的寄存单元所组成的。一般来说是,寄存单元的个数就是移位寄存器的位数,每个寄存单元的输出与其相邻的下一个寄存单元的输入之间的连接方式也不同。(二)所有寄存单元共用一个时钟,在公共时钟的作用下,各个寄存单元的工作时同步的。在没输入一个时钟脉冲,寄存器的数据就像上或向下移动一位。10图中元件COMPF是由verilog源代码编写以下为其程序:4.4500HZ和1KHZ的分频50MHZ—TO—4MHZ分频的verilog源代码以下为其程序11对Half_Int_Divd的封装如图所示4MHZ—TO—500HZ和4MHZ—To—1KHZ的分频的封装12在封装一次可得134.68421BCD译码的verilog语言封装可得如图所示144.6蜂鸣器工作原理CO与1KHZ为进位输入,其中1KHZ相当于一个高电平即为1,由CO控制蜂鸣器,使低电平时蜂鸣器报警。1KHZCOBEEP1011104.7动态扫描计数器与位选,选择器154.8如下位十六进制7段显示译码器程序165.整体设计电路图原理;该电路是由二选一门电路、初值可预置型14进制计数器、显示译码器、数码管、500HZ的分频组成的。拨码开关控制抖动电路,当拨码开关为1时,二选一门电路会选通加抖动的电路当每按一次键可预置型计数器计数值只增加1,门电路会选通没加抖动的电路当每按一次键可预置型计数器计数值增加大于1。可预置计数器人为规定初值,比如说4,当每一次进位后它从4开始依次增加。当增加到13时,给输入一个按键就会进位,此时数码管上会显示初值4.蜂鸣器也会此时报警。从计数器出来的计数值会通过总线输出段码显示在数码管上。.测试中出现的问题刚开始时选通两位数码管显示时,数码管出现同样的两个数。解决方法是用verilog编写了一个程序,图4.6所示,把它放在显示译码器模块之前就解决了两位一样的情况。176.引脚分配情况7.调试在设计中毫无疑问,会遇到许多问题,这就需要不断的调试,通过实践反复的测试,结合理论,不断改善,才能得到预期的结果。188.实验心得体会在做数电设计的实验前,我以为不会难做,就像以前做实验一样,做完实验,然后两下子就将实验报告做完.直到做完测试实验时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅.在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时间.比如做计数器,你要清楚它的verilog语言,如果你不清楚,在做实验时才去摸索,这将使你极大地浪费时间,使你事倍功半.做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做.做实验时,老师还会根据自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在生活中的应用是那么的广泛.通过这次测试技术的实验,使我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅9.参考文献《数字电子技术基础》(编著:潘松陈龙).
本文标题:基于D触发器的机械去抖动电路设计
链接地址:https://www.777doc.com/doc-2533771 .html