欢迎来到天天文库
浏览记录
ID:38431846
大小:1.24 MB
页数:73页
时间:2019-06-12
《电子密码锁的设计与分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章电子密码锁的设计与分析4.1系统设计要求4.2系统设计方案4.3主要VHDL源程序4.4系统仿真/硬件验证4.5设计技巧分析4.6系统扩展思路4.1系统设计要求设计一个具有较高安全性和较低成本的通用电子密码锁,其具体功能要求如下:(1)数码输入:每按下一个数字键,就输入一个数值,并在显示器上的最右方显示出该数值,同时将先前输入的数据依序左移一个数字位置。(2)数码清除:按下此键可清除前面所有的输入值,清除成为“0000”。(3)密码更改:按下此键时会将目前的数字设定成新的密码。(4)激活电
2、锁:按下此键可将密码锁上锁。(5)解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。4.2系统设计方案作为通用电子密码锁,主要由三个部分组成:数字密码输入电路、密码锁控制电路和密码锁显示电路。作为电子密码锁的输入电路,可供选择的方案有数字机械式键盘和触摸式数字键盘等多种。根据以上选定的输入设备和显示器件,并考虑到实现各项数字密码锁功能的具体要求,整个电子密码锁系统的总体组成框图如图4.1所示。(1)密码锁输入电路包括时序产生电路、键盘扫描电路、键盘弹跳消除电路、键盘译码电路等几个小的功
3、能电路。(2)密码锁控制电路包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路(寄存器清除信号发生电路),密码核对(数值比较电路),解锁电路(开/关门锁电路)等几个小的功能电路。(3)七段数码管显示电路主要将待显示数据的BCD码转换成数码器的七段显示驱动编码。图4.1数字电子密码锁系统总体框图4.2.1密码锁输入电路的设计图4.2是电子密码锁的输入电路框图,由键盘扫描电路、弹跳消除电路、键盘译码电路、按键数据缓存器,加上外接的一个3×4矩阵式键盘组成。图4.2密码锁的输入电路框图1
4、.矩阵式键盘的工作原理矩阵式键盘是一种常见的输入装置,在日常的生活中,矩阵式键盘在计算机、电话、手机、微波炉等各式电子产品上已经被广泛应用。图4.3是一个3×4矩阵式键盘的面板配置图,其中数字0~9作为密码数字输入按键,*作为“上锁”功能按键,#作为“解锁/清除”功能按键。图4.33×4矩阵式键盘的面板配置表4.1按键位置与数码关系2.密码锁输入电路各主要功能模块的设计1)时序产生电路本时序产生电路中使用了三种不同频率的工作脉冲波形:系统时钟脉冲(它是系统内部所有时钟脉冲的源头,且其频率最高)、
5、弹跳消除取样信号、键盘扫描信号。2)键盘扫描电路扫描电路的作用是用来提供键盘扫描信号(表4.1中的KY3~KY0)的,扫描信号变化的顺序依次为1110-1101-1011-0111-1110......依序地周而复始。3)弹跳消除电路由于本设计中采用的矩阵式键盘是机械开关结构,因此在开关切换的瞬间会在接触点出现信号来回弹跳的现象,对于电子密码锁这种灵敏度较高的电路这种弹跳将很可能会造成误动作输入,从而影响到密码锁操作的正确性。从图4.4中可以观察出弹跳现象产生的原因,虽然只是按下按键一次然后放掉
6、,然而实际产生的按键信号却不止跳动一次,经过取样信号的检查后,将会造成误判断,以为键盘按了两次。如果调整抽样频率(如图4.5所示),可以发现弹跳现象获得了改善。图4.4弹跳现象产生错误的抽样结果图4.5调整抽样频率后得到的抽样结果弹跳消除电路的实现原理如图4.6所示,先将键盘的输入信号D_IN做为电路的输入信号,CLK是电路的时钟脉冲信号,也就是取样信号,D_IN经过两级D触发器延时后再使用RS触发器处理。图4.6弹跳消除电路的内部实现原理图此处RS触发器的前端连接和非门的处理原则是:(1)因为
7、一般人的按键速度至多是10次/秒,亦即一次按键时间是100ms,所以按下的时间可估算为50ms。以取样信号CLK的周期为8ms计,则可以取样到6次。(2)对于不稳定的噪声,在4ms以下则至多抽样一次。(3)在触发器之前,接上AND-NOT之后,SR的组态如表4.2所示。表4.2RS触发器真值表4)键盘译码电路上述键盘中的按键可分为数字按键和文字按键,每一个按键可能负责不同的功能,例如清除数码、退位、激活电锁、开锁等,详细功能参见表4.3。表4.3键盘参数表5)按键存储电路因为每次扫描会产生新的按
8、键数据,可能会覆盖前面的数据,所以需要一个按键存储电路,将整个键盘扫描完毕后的结果记录下来。按键存储电路可以使用移位寄存器构成。4.2.2密码锁控制电路的设计密码锁的控制电路是整个电路的控制中心,主要完成对数字按键输入和功能按键输入的响应控制。1.数字按键输入的响应控制(1)如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按一个数字时,显示器上的数字必须左移一格,以便将新的数字显示出来。(2)假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除键清除所有输入的数字
此文档下载收益归作者所有