基于VHDL语言的电子密码锁的设计最终定稿.doc
《基于VHDL语言的电子密码锁的设计最终定稿.doc》由会员分享,可在线阅读,更多相关《基于VHDL语言的电子密码锁的设计最终定稿.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、- - - word.zl- -基于VHDL语言的电子密码锁设计组长: 柳 8 组员:永兴 1 邝七月 9 庄美琳 3 王常汉 1系统的原理设计1数码输入:每按下一个数字键,就输入一个数值,并在显示器的最右方显示该数,同时将先前输入的数依次左移一位。2数码去除:按下此键会去除前面所有的输入值,成为“0000。(3) 激活电锁:按下此键可将密码锁上锁。(4) 解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。作为通用电子密码锁,主要由三个局部组成:数字密码输入电路、密码锁控制电路和密码锁显示电路。作为电子密码锁的输入电路,可供选择的方案有数字机械式键盘和触摸式数字键盘等多种。虽然机械式
2、键盘存在一些诸如机械产生的弹跳消除问题和机械局部的接触等问题,但是和触摸式的43键盘相比,机械式键盘具有低本钱、可靠性高、构成电路简单、技术成熟和应用广泛等特点,因此将其应用到通用数字电子密码锁中还是比拟适宜的。本设计中采用一个43的通用数字机械键盘作为该设计的输入设备。数字电子密码锁的显示信息电路可采用LED数码管显示和液晶屏幕显示两种。液晶屏幕显示具有高速显示、高可靠性、易于扩展和升级等优点,但是普通液晶显示屏存在亮度低、对复杂环境的适应能力差等缺点,在低亮度的环境下还需要参加其他辅助的照明设备,驱动电路设计相对复杂,因此本设计的显示电路仍使用通用的LED数码管。根据以上选定的输入设备和显
3、示器件,并考虑到实现各项数字密码锁功能的具体要求,密码锁构造框图如图4-1所示。图4-1 密码锁构造框图键盘: 用户对系统输入密码,采用43数字机械式键盘实现显示器: 用来显示输入的密码,采用4个LED数码管实现时钟脉冲器:用来产生方波信号CPLD控制局部:核心局部,实现分频、部逻辑、数字比拟、数据存储、译码等功能整个电子密码锁系统的总体组成框图如图4-2所示。(1) 密码锁输入电路包括时序产生电路、键盘扫描电路、键盘弹跳消除电路、键盘译码电路等几个小的功能电路。(2) 密码锁控制电路包括按键数据的缓冲存储电路,密码的去除、存储、激活电锁电路(存放器去除信号发生电路),密码核对(数值比拟电路)
4、,解锁电路(开/关门锁电路)等几个小的功能电路。(3) 七段数码管显示电路主要将待显示数据的BCD码转换成数码器的七段显示驱动编码数据选择电路,BCD对七段显示器译码电路,七段显示器扫描电路。图4-2 电子密码锁系统总体框图密码锁输入电路的设计图4-4是电子密码锁的输入电路框图,由键盘扫描电路、弹跳消除电路、键盘译码电路、按键数据缓存器,加上外接的一个43矩阵式键盘组成。 图4-4密码锁的输入电路框图 1矩阵式键盘的工作原理矩阵式键盘是一种常见的输入装置,在日常的生活中,矩阵式键盘在计算机、手机、微波炉等各式电子产品上已经被广泛应用。图4-5是一个43矩阵式键盘的面板配置图,其中数字09作为密
5、码数字输入按键,“*作为“上锁功能按键,“#作为“解锁/去除功能按键输入数字小于4位时按下此键表示去除键,输人数字等于4位时表示解锁键。123456789*0#KY3.0KX2.0经上拉电阻接VCC1101111010110111011101110图4-543矩阵式键盘的面板配置键盘上的每一个按键其实就是一个开关电路,当某键被按下时,该按键的接点回呈现0的状态,反之,未被按下时呈现逻辑1的状态。扫描信号由KY3KY0进入键盘,变化的顺序依次为11101101101101111110。每一次扫描一排,依次地周而复始,例如现在的扫描信号为1011,代表目前正在扫描7、8、9这一排的按键,如果这排当
6、中没有按键被按下的话,那么由KX2KX0读出的值为111;反之当7这个按键被按下的话,那么由KX2KX0读出的值为011。根据上面所述原理,我们可得到各按键的位置与数码关系如表4-1所示。表4-1 按键位置与数码关系KY3KY0111011101110110111011101101110111011011101110111KX2KX0011101110011101110011101110011101110按键号123456789*0#假设从KX2KX0读出的值皆为1时,代表该列没有按键被按下,那么不进展按键译码的动作,反之,如果有按键被按下时,那么应将KX2KX0读出的值送至译码电路进展编码。
7、2密码锁输入电路各主要功能模块的设计(1) 时序产生电路本时序产生电路中使用了三种不同频率的工作脉冲波形:系统时钟脉冲(它是系统部所有时钟脉冲的源头,且其频率最高)、弹跳消除取样信号、键盘扫描信号。当一个系统中需要使用多种操作频率的脉冲波形时,最方便的方法之一就是利用一个自由计数器来产生各种需要的频率。也就是先建立一个N位计数器,N的大小根据电路的需求决定,N的值越大,电路可以分频的次数就越多,这样就可以获得更大的频率变化,以便提供多种不同频率的时钟信号。假设输入时钟为CLK,N位计数器的输出为QN-1.0,那么Q(0)为CLK的2分频脉冲信号,Q(1)为CLK的4分频脉冲信号,Q(2)为CL
8、K的8分频脉冲信号Q(N-1)为CLK的2N分频脉冲信号;Q(5 DOWNTO 4)取得的是一个脉冲波形序列,其值依次为000110110001周期性变化,其变化频率为CLK的25分频,也就是32分频。我们利用以上规律即可得到各种我们所需要频率的信号或信号序列。(2) 键盘扫描电路扫描电路的作用是用来提供键盘扫描信号(表1中的KY3KY0)的,扫描信号变化的顺序依次为11101101101101111110依序地周而复始。扫描时依次分别扫描四列按键,当扫描信号为1110时扫描KY3这一排按键;当扫描信号为1101时,扫描KY2这一排按键;当扫描信号为1011时扫描KY1这一排按键;当扫描信号为
9、0111时,扫描KY0这一排按键;每扫描一排按键就检查一次是否有键被按下,如果这排没有按键被按下就忽略,反之,如果出现被按下的键那么立刻进展按键编码的动作,且将编码的结果储存于存放器中。(3) 弹跳消除电路由于本设计中采用的矩阵式键盘是机械开关构造,因此在开关切换的瞬间会在接触点出现信号来回弹跳的现象,对于电子密码锁这种灵敏度较高的电路这种弹跳将很可能会造成误动作输入,从而影响到密码锁操作的正确性。本设计中采用延时的软件方法消除抖动,假设采样信号检测到输入由“1”变到“0”或由“0变为“1”,先延时2个周期,仍旧检测到是“0”或“1”,那么说明按键状态确实发生了变化,否那么当作抖动处理,不予理
10、会;这样就消除了抖动。(4) 键盘译码电路上述键盘中的按键可分为数字按键和文字按键,每一个按键可能负责不同的功能,例如去除数码、退位、激活电锁、开锁等,详细功能参见表4-3。数字按键主要是用来输入数字的,但是键盘所产生的输出,也就是扫描回复信号,是无法直接拿来用做密码锁控制电路的输入的;另外,不同的按键数字按键和功能按键具有不同你功能,所以必须有键盘译码电路来规划每个按键的输出形式,以便执行相应的动作。表4-3 键盘参数表扫描位置KY3KY0键盘输出KX2KX0相对应的键盘按键键盘译码电路输出按键功能11100111F=0001数码输入1012F=0010数码输入1103F=0011数码输入1
11、1010114F=0100数码输入1015F=0101数码输入1106F=0110数码输入10110117F=0111数码输入1018F=1000数码输入1109F=1001数码输入0111011*F=0100激活电锁1010F=0000数码输入110#F=0001去除/解除电锁注:当没有任何数字按键被按下时,键盘译码输出“1111;当某功能按键尚未定义其功能时,按键译码输出“1000。键盘译码电路主要负责的工作是:首先判断是否有键按下;假设被按下的是数字按键,那么解码成相对应的BCD码,假设被按下的是功能按键,那么解码成四位数的码字,有密码锁控制电路做相应的动作。(5)按键存储电路因为每次扫
12、描会产生新的按键数据,可能会覆盖前面的数据,所以需要一个按键存储电路,将整个键盘扫描完毕后的结果记录下来。按键存储电路可以使用移位存放器构成。本设计将采用串行输入/串行输出Serial In/Serial Out移位存放器硬件作为按键存储电路。所谓的串行输入/串行输出移位存放器,即数据一个接着一个依序进来,输出时采用先进先出的顺序,同样是一个接着一个依序输出。根据以上设计思路,密码锁输入电路的VHDL程序见后的KEYBOARD.VHD程序,其中调用的程序元件DEBOUNCING.VHD为键盘输入去抖电路的VHDL源程序。3.密码锁控制电路的设计1数字按键输入的响应控制(1) 如果按下数字键,第
13、一个数字会从显示器的最右端开场显示,此后每新按一个数字时,显示器上的数字必须左移一格,以便将新的数字显示出来。(2) 假设要更改输入的数字,可以按去除键去除所有输入的数字,再重新输入四位数。(3) 由于这里设计的是一个四位的电子密码锁,所以当输入的数字键超过四个时,电路不予理会,而且不再显示第四个以后的数字。2功能按键输入的响应控制(1) 去除键:去除所有的输入数字,即做归零动作。(2) 激活电锁键:按下此键时可将密码锁的门上锁。(上锁前必须预先设定一个四位的数字密码)(3) 解除电锁键:按下此键会检查输入的密码是否正确,假设密码正确那么开锁。(4)密码核对:在密码更改,开锁之前必须先核对密码
14、。(6) 密码变更:按下此键将目前输入的数字设定为新的密码。4密码锁显示电路的设计该设计的输出电路由显示缓存器、多路选通器、时钟发生器、扫描信号发生器、七段译码器组成,其构造和模块划分如图4-11所示。显示缓存器多路选通器时钟发生器七段译码器扫描信号发生器图4-11 输出局部构造框图其中显示缓存器是1个存储量为16位的存放器,它用于存储LED显示的容。所以4个数码管就需要16位的存储器。多路选通器用于从显示缓存器中选择出某一个LED的容用于显示。扫描信号用于选择片选信号,片选信号依次并循环地选通各个LED管时钟发生器,通过对全局时钟的分频得到扫描模块所需的时钟.七段译码模块把4位BCD码译成便
15、于显示的七段码。该显示电路的工作过程如下:存放器所存储的数据经由数据选择器送到译码电路,将其转换成七段显示器的显示码,转送到七段显示器,数据选择与显示管选择必须同步.由于设计的是4位数的数字密码锁,1位十进制数需要4个二进制位表示,所以存放器必须是16位的。因为是以扫描的方式轮流被点亮的,因此存放器上的数据必须一组一组地分开传送,每次送4个位。由于密码锁显示电路的设计比拟简单,这里直接采用四个4-7译码器来实现。密码锁的整体组装设计将前面各个设计好的功能模块进展整合,可得到一个完整的电子密码锁系统的整体组装设计原理图,如图4-12所示。图4-12密码锁的整体组装设计原理图源代码- - word
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VHDL 语言 电子 密码锁 设计 最终 定稿
限制150内