1、- 1 - 摘要:本课题设计的主要是基于CPLD/FPGA来实现电子密码锁的设计,主要包括 输入、控制和输出三大模块。其中输出部分由显示缓冲器、多路选通器、显示模 块、时钟发生器、扫描信号发生器组成。显示缓存器是一个存储量为16位的寄存 器,它用于存储LED显示的内容。多路选通器用于从显示缓存器中选择出某一个 LED的内容用于显示。扫描信号用于选择片选信号,片选信号依次并循环地选通 各个LED管时钟发生器,通过对全局时钟的分频得到扫描模块所需的时钟。显示 模块由七段译码器和七段显示器组成。 总体上输出部分电路的设计都是基于VHDL 语言来实现的。 关键词:电子密码锁 FPGA 硬件描述语言 E
2、DA - 2 - 目录 1 引言 3 2 概述 4 2.1 MAX+PLUS的概述 . 4 2.1.1 设计输入. 5 2.1.2 设计处理. 6 2.1.3 设计校验. 7 2.2 MAX+PLUS II 软件的设计流程 8 2.3VHDL 语言简介 . 9 2.3.1 CPLD/FPGA 11 2.3.2 VHDL 的优点 . 12 3 总体设计 13 3.1 系统框图 13 3.2 系统说明 14 3.2.1 系统原理. 14 3.2.2 各部分作用 14 3.3 总体电路说明 18 3.3.1 总体电路图. 18 3.3.2 总体原理说明 19 4 单元电路设计 20 4.1 单元电路
3、图 20 4.2 原理说明 29 5 总结 31 5.1 设计的优缺点 31 5.2 可以改进的地方 31 5.3 结语 31 参考文献 33 致谢 34 - 3 - 1 1 引言引言 随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。 锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗, 又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类 电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的 研究从 20 世纪 30 年代就开始了,在一些特殊场所早就有所应用。这种锁是通过 键盘输入一组密码完成开锁过程。研究这种锁的初衷,
4、就是为提高锁的安全性。 由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因 钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免 除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多, 例如数码锁,指纹锁,磁卡锁,IC 卡锁,生物锁等。但较实用的还是按键式电 子密码锁。 目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其 编码器与解码器的生成为软件方式。在实际应用中,由于程序容易跑飞,系统的 可靠性能较差。基于现场可编程逻辑门阵列 FPGA 器件的电子密码锁,用 FPGA 器件构造系统,所有算法完全由硬件电路来实现,使得系统
5、的工作可靠性大为提 高。 本课题设计的电子密码锁是基于 CPLD/FPGA。电子密码锁主要由输入部分, 控制部分和输出部分组成。其中输入部分包括 44 矩阵键盘、弹跳消除电路、 键盘译码电路、键盘扫描电路;控制部分包括按键存储电路、密码存储电路、比 较电路;输出部分包括多路选通器、七段译码器、扫描信号发生器。该密码锁具 有密码输入、密码清除、密码激活、电锁解除和密码更改等功能,用一片复杂可 编程逻辑芯片 CPLD 实现,因此它体积小、功耗低、价格便宜,维护和升级都十 分方便,具有较好的应用前景主要应用有:汽车锁,门锁,保险柜,仓库。 - 4 - 2 2 概述概述 2 2. .1 1 MAXMA
6、X+ +PLUSPLUS的的概述概述 Altera 公司的 MAX+PLUS开发系统是一个完全集成化、易学易用的可编程 逻辑器件软件设计环境,可以在多种平台上运行,具有操作灵活、支持器件多、 设计输入方法灵活多变的特点,是用户设计、开发以 Altera PLD 器件为核心的 软件开发工具。 MAX+PLUS是 Multiple Array Matrix and Programmable Logic User System 的缩写,软件版本分基本版、商业版和学生版,学生版软件在功能上与商业版类 似,仅在可使用的芯片上受到限制。MAX+PLUS的 9.x 版和 10.x 版均可安装在 WIN95 或 WIN98/2000 操作系统上, 其中 9.x 版需 32MB 内存、 1GB 以上硬盘, 10.x 版需 64MB 内存、2GB 以上硬盘。 MAX+PLUS的设计过程可用图 2-1 表示: 图 2-1 MAX+PLUS设计流程图 为使设计者快速掌握MAX + PLUS II软件的使用,我们首先介绍MAX + PLUS II软件的设计流程,它是由设计输入