EDA课程设计(基于VHDL语言的8位数字密码锁设计)
  东华理工大学机械与电子工程学院
基于VHDL语言的8位数字密码锁设计
1、摘要:
    数字控制的电子密码锁已经广泛应用在办公室、公司、宾馆、小区住宅等场所。
    EDA技术的应用引起了电子产品系统开发的革命性变革。利用先进的EDA工具,基于硬件描述语言,可以进行系统级数字逻辑电路的设计。本文简述了VHDL语言的功能及其特点,并以8位串行数字锁设计为例,介绍了在QUARTUS II 6.0开发软件下,利用VHDL硬件描述语言设计数字逻辑电路的过程和方法。
    关键词: QUARTUS II 6.0 EDA 电子密码锁(电子设计自动化) VHDL语言 语言设计 串行 密码锁 硬件描述语言 数字逻辑电路
Based on VHDL language 8 digits combination lock design
    Digital control of electronic locks has widely used in office, companies, hotels, residential
area and etc.
EDA technology application caused a electronic product development system of the revolutionary transformation. Using advanced EDA tools, hardware based description language, can undertake system in digital logic circuit design. This paper describes the function and characteristics of VHDL language, and eight serial number lock design as an example, this paper introduces QUARTUS II 6.0 software development in of VHDL hardware design of digital logic circuit process and method.
Keywords: QUARTUS II 6.0, EDA (electronic design automation), electronic locks and VHDL language, language design, serial, locks and hardware description language, digital logic circuit
2、引言:
    电子密码锁系统主要由电子锁体、电子密匙等部分组成,一把电子密匙里能存放多组开锁密码,用户在使用过程中能够随时修改开锁密码,更新或配制钥匙里开锁密码。一把电
子锁可配制多把钥匙。语音方面的广泛应用,使得具有语音播放的电子密码锁使用起来更加方便。语音密码锁的体积小、保密性能好、使用方便,是用在保险箱、电话或是房门上不可少的部分。
数字集成技术和电子设计自动化(E1ectronic Design AutomationEDA)技术的发展迅速,数字系统设计的理论和方法也在相应地变化和发展着。应用可编程逻辑器件(Programmable Logic DevicePLD)实现数字系统的设计,是目前利用EDA技术设计数字系统的潮流。利用基于EDA技术的设计方法,设计者只需对系统功能进行描述,就可在EDA工具的帮助下完成系统设计。这种设计方法以数字系统设计软件为工具,将测试码或测试序列测试验证后,将系统实现在PLD芯片或专业集成电路上,这样最大程度地缩短了设计和开发时间,降低了成本,提高了系统的可靠性。本文详细介绍了基于EDA技术数字密码锁的设计过程。
3、密码锁系统的设计
1、设计要求:
数字密码锁的密码为8位十进制数字,密码可以设置和修改;开锁时间定为30秒;可用七段显示器显示开锁倒计时时间值;开锁计时时间30秒到,锁没开则用蜂鸣器报警,开锁时允许修改输入错误的密码数字。具体要求如下:
(1)分析功能要求,设计系统构成模块,画出方框图。
(2)编写模块的Verilog HDL语言的设计程序
(3)Quartus II 软件或其他EDA软件上完成设计和仿真
(4)根据实验装置上的CPLD/FPGA芯片,在是配时选择相应的芯片,将设计生成配置文件或JEDEC文件,然后将配置文件或JEDEC文件下载到实验装置上运行,操作实验装置上设定设定的功能开关,验证设计功能。
2、设计分析
此系统可以分为密码输入删除控制模块、寄存模块、比较并延时模块、扫描显示模块几部分。数字密码锁系统框图如图所示。
密码输入与删除控制模块设计考虑:
1)编码器:对数据开关K1...K10的电平信号,分别代表数字1...9,采用热码方式编码。
2)设置与删除密码操作及显示按设计要求处理。
3)信号设置
Set密码确认信号——8位密码输入完成,按set键则密
送锁存器锁存,比较模块得数据A、密码显示电路清零。
Back:数字删除按键——每按一次删除最后输入的数字。
Lock:密码锁状态显示信号——lock=0(LED灯灭)表示锁未开
lock=1LED灯亮)表示锁已开。
Close:关锁信号——当密码送寄存器锁存后,按下close
则密码锁lock=0,锁被锁上。
Check:密码检验信号——lock=0状态下,从数据开关输
8位开锁密码后按下check,则开锁密码送寄存模块锁存为B。如果A=B,则D 触发器置“1”,锁被打开,否则lock保持为0.
万能密码:可以预设一个8位十进制数,如:“00000007”。
数字密码锁系统框图:
               
1D
C1
                  1                                      LOCK
                           
扫描显示模块
密码输入/删除
控制模块
  A          B
  寄存模块
      A = B
比较模块
开锁延时
                Close
                       
                                    Sd
                                                          Set
在atm倒着输密码
                                                          Check
                                                            Back
                          K1  k2  ..............k10
四、软件设计
按设计要求,下面给出Verilog HDL语言编写的数字密码锁参考程序。
/*signal define
n0,n1,n2,n3,n4,n5,n6,n7,n8,n9:  data swiching signal;
back:  delete signal;
cheak:  verify code signal;
set:    code ok;
close:    turn off lock;
lock:    state display;
warn:    warning signal;
count:  counter signal
a1,a2,a3,a4,a5,a6,a7,a8:        coding output display; */
module
lockcode(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,back,cheak,set,close,lock,
        warn,a1,a2,a3,a4,a5,a6,a7,a8,m1,m2,m3,m4,m5,m6,m7,m8,
        a,b,c,d,e,f,g,clk);
parameter N=10;
input n0,n1,n2,n3,n4,n5,n6,n7,n8,n9;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。