logo资料库

电子密码锁(基于VHDL语言).doc

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
1设计内容与要求
1.1设计内容
1.2设计要求
2 VHDL概述
3设计过程
3.1总体设计框图
在本设计采用的是VHDL编程,通过文本编辑方式建立模块,通过原理图方式将生成的图形符号连接,然后再下
3.2模块设计
3.3整体电路设计
电子密码锁的整体电路图如图7所示。
图7 整体电路
4 QuartusⅡ软件仿真
5心得体会
参考文献
附录
摘 要 CPLD(复杂可编程逻辑器件)和 FPGA(现场可编程门阵列)都是可编程逻辑器件, 它们是在 PAL、GAL 等逻辑器件基础上发展起来的。在现代电子系统中,数字系统所占 的比例越来越大。系统发展的越势是数字化和集成化,CPLD/FPGA 作为可编程 ASIC(专 用集成电路)器件,它将在数字逻辑系统中发挥越来越重要的作用。 随着科学技术的不断发展,人们对日常生活中的安全保险的要求越来越高。为满足人 们对锁的使用要求,增加其安全性,用密码代替钥匙的数字电子密码锁应运而生。电子密 码锁具有安全性高、成本低、功耗低、易操作等优点。本设计正是一种能够通过输入预设 密码而解锁的 FPGA 设计与实现,介绍了利用 VHDL 硬件描述语言输入方式,设计数字 电路的过程。 关键词:FPGA VHDL 硬件描述语言 电子密码锁 数字电路
目 录 1 设计内容与要求................................................................................................... 1 1.1 设计内容.......................................................................................................... 1 1.2 设计要求.......................................................................................................... 1 2 VHDL 概述...............................................................................................................1 3 设计过程................................................................................................................. 2 3.1 总体设计框图.................................................................................................. 2 3.2 模块设计.......................................................................................................... 3 3.3 整体电路设计.................................................................................................. 5 4 QuartusⅡ软件仿真...........................................................................................6 5 心得体会................................................................................................................. 9 参考文献...................................................................................................................10 附录............................................................................................................................ 11
武汉理工大学《能力拓展训练》课程设计说明书 电子密码锁 1 设计内容与要求 1.1 设计内容 设计一个简单的数字电子密码锁,密码为4 位。用数据开关K1~K10分别代表数字1, 2,…9,0,输入的密码用数码显示,最后输入的密码显示右边,即每输入一位数,密码 在数码管显示左移一位。同时可删除输入的数字,删除的是最后输入的数字,每删除一位, 密码在数码管的显示右移一位,并在左边空出的为上补充“0”。用一位输出电平的状态代表 所得开闭状态。为保证密码的主人能打开密码锁,设置一个万能密码。 1.2 设计要求 (1) 密码输入:每按下一个键,要求在数码管上显示,并依次左移; (2) 密码删除:每删除一位,数码管上的显示右移一位,在左边空出的位补充零; (3) 密码设置:当四位密码输入完毕,按下设置功能键进行设置; (4) 密码检验:输入密码,按下检验键。 2 VHDL 概述 VHDL 语言是一种用于电路设计的高级语言。最初是由美国国防部开发出来供美 军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。VHDL 的 英 文 全 写 是 : VHSIC ( Very High Speed Integrated Circuit ) Hardware Descriptiong Language,译成中文就是超高速集成电路硬件描述语言,因此它的应用主要是应用在 数字电路的设计中。目前,它在中国的应用多数是用在 FPGA/CPLD/EPLD 的设计中。 当然在一些实力较为雄厚的单位,它也被用来设计 ASIC。 VHDL 主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬 件特征的语句外,VHDL 的语言形式和描述风格与句法是十分类似于一般的计算机高 级语言。VHDL 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件, 一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部 分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后, 一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成 1
武汉理工大学《能力拓展训练》课程设计说明书 内外部分的概念是 VHDL 系统设计的基本点。与其他硬件描述语言相比,VHDL 具 有以下特点: (1)功能强大、设计灵活。VHDL 具有功能强大的语言结构,可以用简洁明确的源 代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接 生成电路级描述。VHDL 支持同步电路、异步电路和随机电路的设计,这是其他硬件 描述语言虽不能比拟的。VHDL 还支持各种设计方法,既支持自底向上的设计,又支 持自顶向下的设计;既支持模块化设计,又支持层次化设计。 (2)支持广泛、易于修改。由于 VHDL 已经成为 IEEE 标准所规范的硬件描述语言, 目前大多数 EDA 工具几乎都支持 VHDL,这为 VHDL 的进一步推广和广泛应用奠定 了基础。在硬件电路设计过程中,主要的设计文件是用 VHDL 编写的源代码,因为 VHDL 易读和结构化,所以易于修改设计。 (3)强大的系统硬件描述能力。VHDL 具有多层次的设计描述功能,既可以描述系 统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结 构描述,也可以采用三者混合的混合级描述。另外,VHDL 支持惯性延迟和传输延迟, 还可以准确地建立硬件电路模型。VHDL 支持预定义的和自定义的数据类型,给硬件 描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。 (4)独立于器件的设计、与工艺无关。设计人员用 VHDL 进行设计时,不需要首 先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后, 可以用多种不同的器件结构来实现其功能。 (5)很强的移植能力。VHDL 是一种标准化的硬件描述语言,同一个设计描述可以 被不同的工具所支持,使得设计描述的移植成为可能。 (6)易于共享和复用。VHDL 采用基于库(Library)的设计方法,可以建立各种 可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模 块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进 行交流和共享,减少硬件电路设计。 3 设计过程 3.1 总体设计框图 2
武汉理工大学《能力拓展训练》课程设计说明书 在本设计采用的是 VHDL 编程,通过文本编辑方式建立模块,通过原理图方式将生 成的图形符号连接,然后再下载,进行硬件的仿真。为达到密码锁的以上功能,可将电子 密码锁分为以下 3 个模块进行设计:开关编码显示模块、控制模块和动态显示模块。总体 设计框图如图 1 所示。 图1 总体设计框图 3.2模块设计 1、开关编码显示模块 此模块主要是用来输入开关编码,其中n[9..0]为按键输入端口, sout[3..0]为输出端口。 按键输入编码通过案件输入高低电平,每按一个键通过编码显示对应的数字。电路图的图 形文件如图2所示。 图2 开关编码电路 2、控制模块 此模块包括密码删除、修改与检验。电路图的图形文件如图 3 所示。 图3 密码锁控制电路 其中set为密码设置端口, check为密码检验端口, close为关锁端口, back为删除密 码端口, clk时钟输入端口, dn[3..0]为数字输入端口,sout[15..0]为16位输出端口,lock 3
武汉理工大学《能力拓展训练》课程设计说明书 密码锁状态显示端口。 在此电路中每输一位数,密码在数码管上左移一位。摄制删除密码back,每按下一次 back,删除最后输入的数字,左边空处补0。 设置密码确认信号set,当四位密码输入完毕,按下set,设置的密码被存储。 设置密码锁状态信号lock, lock=0表示锁未开,lock=1表示锁开,同时设置关锁信号 close,按下close,则锁关闭。 设置密码检验信号check,在lock=0下从数据开关书去四位开锁数字,按下check,若数据 等于设置的密码或万能密码,则lock=1。 输入数据的左移控制、删除、设置以及密码锁的关闭流程图如图4所示。 图4 控制模块流程图 3、动态显示模块 此模块包含BCD 译码和动态扫描电路。图形文件如图5所示。 4
武汉理工大学《能力拓展训练》课程设计说明书 图5 动态显示电路 输出显示电路通过一个二进制计数器对数码管进行片选,片选为0,输入的第0~3位在 第一个数码关上显示;片选为1输入的第4~7位在第二个数码关上显示,片选为2输入的第 8~11位在第三个数码关上显示,片选为3输入的第12~15位在第四个数码关上显示,进而实 现数码管的动态显示。 流程图如图6所示。 图6 动态显示电路流程图 3.3 整体电路设计 电子密码锁的整体电路图如图 7 所示。 5
武汉理工大学《能力拓展训练》课程设计说明书 图 7 整体电路 4 QuartusⅡ软件仿真 本次仿真所用软件是 Quartus II9.0 版。 打开 Quartus II9.0,建立新工程,完成器件选择,本次设计选择的是 EP2S15F484C3。再新建一个 VHDL HDL 文件,在该窗口输入三人表决器的源程序, 然后对源程序进行语法检查和编译,检查语法规范,没有问题则编译整个程序。新建一 个波形文件,在波形文件中加入所需观察波形的管脚,给输入管脚指定仿真波形,编辑待 仿真波形文件,如图所示,点击按钮,进行波形仿真。 在进行编程的过程中,对每一模块都要进行波形仿真, 1、输入开关编码的仿真的波形如图8所示。 6
分享到:
收藏