摘 要
摘要
EDA 技术的应用引起了电子产品系统开发的革命性变革。利用先进的 EDA
工具,基于硬件描述语言,可以进行系统级数字逻辑电路的设计。本文简述了 VHDL
语言的功能及其特点,并以 4 位串行手机键盘电子密码锁设计为例,介绍了一种
在 QuartusⅡ6.0 开发软件下,基于 VHDL 硬件描述语言的复杂可编程逻辑器件
(CPLD)的新型电子密码锁设计方法,阐述了其工作原理和软硬件设计方法。该密
码锁通过扫描电路、键盘译码电路、弹跳消除电路、控制电路和七段译码电路等
实现了密码输入、数码清除、密码激活、电锁解除、密码更改和误码报警等功能。
本论文对该密码锁的程序进行了功能和时序仿真,结果表明该密码锁的功能满足
设计要求,能够实现正常开锁、上锁和修改密码。该密码锁体积小、功耗低、易
于维护和升级,有很好的市场前景。
关键词:EDA,VHDL,FPGA,QuartusⅡ,电子密码锁
I
ABSTRACT
ABSTRACT
Electronic product and system development are being changed revolutionarily with
EDA technology. We can design all kinds of digital logical circuits with advanced EDA
tools and VHDL. The paper introduces the function and characteristic of programming
of VHDL language briefly. Taking the design of the serial 4-bit electron coded lock for
example, this paper introduces a new way to design electron coded lock with CPLD and
QuartusⅡ6.0 as development software and VHDL as hardware description language. Its
operating principles and the designing methods of hardware and software are explained
in this article. This coded lock can perform the following functions, such as code input,
code clear, code activating, code releasing, code correcting and wrong code alarming by
scanning circuit, keyboard decode circuit, bounce eliminating circuit, control circuit.
The functional and timing simulations are made. The results show that the design
specification of the electronic coded lock is met and the unlock/lock and code correcting
can be realized .This new electron coded lock has small size,
low power. Its
maintenance and upgrade are very convenient. And it has a better application prospect.
Keywords: EDA , VHDL , FPGA, QuartusⅡ, Electron coded lock
II
目录
目录
第 1 章 引言...................................................................................................................1
1.1 课题背景...........................................................................................................1
1.2 国内外研究现状...............................................................................................2
1.3 课题主要研究工作...........................................................................................2
第 2 章 EDA 技术与 VHDL 语言简介........................................................................ 3
2.1 EDA 技术......................................................................................................... 3
2.1.1 EDA 技术的发展................................................................................... 3
2.1.2 EDA 技术的基本设计方法................................................................... 5
2.2 VHDL 简介.......................................................................................................6
2.2.1 VHDL 语言.............................................................................................6
2.2.2 VHDL 语言的特点.................................................................................9
第 3 章 CPLD/FPGA 硬件平台..................................................................................10
3.1 可编程逻辑器件的发展历史及概述.............................................................10
3.2 FPGA/CPLD 概述......................................................................................... 11
3.3 CPLD 工作原理............................................................................................. 12
3.4 FPGA 工作原理............................................................................................. 13
第 4 章 系统的原理设计.............................................................................................14
4.1 系统设计要求.................................................................................................14
4.2 系统设计方案.................................................................................................14
4.2.1 密码锁输入电路的设计.......................................................................17
4.2.2 密码锁控制电路的设计.......................................................................23
4.2.3 密码锁显示电路的设计.......................................................................24
4.3 密码锁的整体组装设计.................................................................................25
III
目录
第 5 章 系统的程序实现.............................................................................................26
5.1 键盘输入去抖电路的 VHDL 源程序........................................................... 26
5.2 密码锁输入电路的 VHDL 源程序............................................................... 29
5.3 密码锁控制电路的 VHDL 源程序............................................................... 34
5.4 密码锁显示电路的 VHDL 源程序............................................................... 38
第 6 章 系统仿真分析及硬件验证.............................................................................39
6.1 系统仿真分析.................................................................................................39
6.1.1 键盘输入去抖电路的仿真...................................................................39
6.1.2 密码锁输入电路的仿真.......................................................................40
6.1.3 密码锁控制电路的仿真.......................................................................41
6.1.4 密码锁显示电路的仿真.......................................................................43
6.2 系统硬件验证.................................................................................................44
第 7 章 小结.................................................................................................................48
参考文献.........................................................................................................................51
致谢.................................................................................................................................52
IV
第 1 章 引言
第 1 章 引言
1.1 课题背景
自古以来,锁具都是人们心目中的“铁将军”,随着社会物质财富的日益增长
和人们生活水平的不断提高,人们对它要求也越来越高,即要安全可靠,又要使
用方便。传统的机械锁由于其密码量少,构造简单,安全性差,结构上的局限已
难以满足当前社会管理和防盗要求,特别是在人员经常变动的公共场所,如办公
室、宾馆、仓库等地方。电子密码锁是集计算机技术、电子技术、数字密码技术
为一体的机电一体化高科技产品,由于其保密性高,使用灵活性好,安全系数高,
受到了广大用户的亲呢。而目前大部分电子密码锁采用单片机进行设计,电路比
较复杂,性能不够灵活,其成本高且可靠性较差。因此,密码锁的安全性和实用
性一直是锁具的制造者长期以来研究的主题。
电子密码锁是在实际应用中使用得极其广泛的一种数字电路,它的主要功能
是用来对某些物品进行加密保护,目的是避免无权人员使用某些设施或者进行越
权操作,例如银行自动柜员机、自动售货机、门卡系统或者保险柜中都含有这种
数字密码锁。在电子技术飞速发展的今天,具有防盗报警等功能的电子密码锁代
替弹子锁和密码量少、安全性差的机械式密码锁已是必然趋势。电子密码锁具有
机械锁无可比拟的优越性,它不但可以完成锁本身的功能,还可以兼有多种功能,
如记忆、识别、报警等,电子密码锁以其安全性高、成本低、功耗低、易操作等
优点受到越来越多人的欢迎。通常不同系统中的电子密码锁具有不同的功能和操
作过程,但基本是相同的,首先输入密码,然后系统进行密码验证,最后根据密码
验证的结果来进行不同的操作。
运用大规模、超大规模可编程逻辑器件与 EDA(电子设计自动化)技术已经
成为现代数字技术发展的潮流,20 世纪 90 年代,集成电路产业销售额增长最快的
产业是现场可编程逻辑集成电路。HDL 非常适用于可编程逻辑器件的应用设计。
尤其在大容量 CPLD 和 FPGA 的应用设计中,若采用以往的布尔方程或门级描述
方式,很难快速有效地完成。VHDL 能提供高级语言结构,方便地描述大型电路,
快速地完成设计。它支持设计单元库的创建,以存储设计中重复使用的元件。它
是一种标准语言,它的设计描述可被不同的工具所支持,可用不同器件来实现。
1
1.2 国内外研究现状
据有关资料介绍,电子密码锁的研究从 20 世纪 30 年代就开始了,在一些特
殊场所早就有所应用。这种锁是通过键盘输入一组密码,完成开锁过程。研究这
种锁的初衷,就是为提高锁具的安全性。由于电子锁的密钥量(密码量)极大,可以
与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记
住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越
多的人所欣赏、电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC 卡锁,生
物锁等。但较实用的还是按键式电子密码锁。
20 世纪 80 年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可
靠性提高,成本较高,只适合使用在安全性要求较高的场合,且需要有电源提供
能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。
目前,在西方发达国家,电子密码锁己被广泛应用于智能门禁系统中,通过
多种更加安全,更加可靠的技术实现大门的管理。在我国电子密码锁的成本还很
高,应用还不广泛。希望通过不断的努力,使电子密码锁在我国也能得到广泛应
用。目前市场上的几类密码锁都存在不同程度的缺陷:操作繁琐;密码输入不易;
密码量少;无法实现声音报警功能;也无法拒绝非法用户多次尝试。
1.3 课题主要研究工作
近年来,电子密码锁的使用越来越广泛,目前使用的电子密码锁大部分是基
于单片机用分离元件实现的,其电路比较复杂、性能不够灵活、成本较高且可靠
性和安全性差。
基于此,为了克服当前市面上的密码锁的不足以满足用户的不同需求,本设
计采用先进的 EDA 技术和 VHDL 语言,在 QuartusⅡ环境下, 采用 CPLD(复杂可
编程逻辑芯片)为核心器件的新型电子密码锁的设计方法,该电子密码锁具有密
码预置、误码报警和万能密码等功能、体积小、功耗底、价格便宜、安全可靠,
维护和升级都十分方便;具有较好的应用前景。
本课题要完成的主要任务是基于 VHDL 语言的电子密码锁的设计和具体的实
现,重点完成各个模块的设计,并保证整个系统的稳定性、可靠性和扩展性,充
分考虑后续阶段的开发。
2
第 2 章 EDA 技术与 VHDL 语言简介
第 2 章 EDA 技术与 VHDL 语言简介
2.1 EDA 技术
2.1.1
EDA 技术的发展
EDA 是电子设计自动化(Electronic Design Automation)的缩写,在 20 世纪
90 年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试
(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA 技术就是以计算机
为工具,设计者在 EDA 软件平台上,用硬件描述语言 VHDL 完成设计文件,然后
由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,
直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA 技术的出
现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。
人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产品
的进步。现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,
而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技
术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米
阶段,可以在几平方厘米的芯片上集成数千万个晶体管;后者的核心就是 EDA 技
术。EDA 是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化
技术最新成果而研制成的电子 CAD 通用软件包,主要能辅助进行三方面的设计工
作:IC 设计、电子电路设计以及 PCB 设计。没有 EDA 技术的支持,想要完成上
述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进
步又必将对 EDA 技术提出新的要求。
回顾近 30 年电子设计技术的发展历程,可将 EDA 技术分为三个阶段。
七十年代为 CAD 阶段,这一阶段人们开始用计算机辅助进行 IC 版图编辑和
PCB 布局布线,取代了手工操作,产生了计算机辅助设计的概念。
八十年代为 CAE 阶段,与 CAD 相比,除了纯粹的图形绘制功能外,又增加
了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,以实
现工程设计,这就是计算机辅助工程的概念。CAE 的主要功能是:原理图输入,
逻辑仿真,电路分析,自动布局布线,PCB 后分析。
3
九十年代为 ESDA 阶段。尽管 CAD/CAE 技术取得了巨大的成功,但并没有
把人从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化程
度还不高,各种 EDA 软件界面千差万别,学习使用困难,并且互不兼容,直接影
响到设计环节间的衔接。基于以上不足,人们开始追求贯彻整个设计过程的自动
化,这就是 ESDA 即电子系统设计自动化。
ESDA 代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员
按照"自顶向下"的设计方法,对整个系统进行方案设计和功能划分,系统的关键电
路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完
成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。这样的设计
方法被称为高层次的电子设计方法。
下面介绍与 ESDA 基本特征有关的几个概念。
(1) “自顶向下”的设计方法
10 年前,电子设计的基本思路还是选择标准集成电路“自底向上”(Bottom-Up)
地构造出一个新的系统,这样的设计方法就如同一砖一瓦地建造金字塔,不仅效
率低、成本高而且还容易出错。
高层次设计给我们提供了一种“自顶向下”(Top-Down)的全新的设计方法,
这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。
在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,
在系统一级进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物
理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是
在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作的
浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
(2) ASIC 设计
现代电子产品的复杂度日益加深,一个电子系统可能由数万个中小规模集成
电路构成,这就带来了体积大、功耗大、可靠性差的问题,解决这一问题的有效
方法就是采用 ASIC(Application Specific Integrated Circuits)芯片进行设计。ASIC 按
照设计方法的不同可分为:全定制 ASIC,半定制 ASIC,可编程 ASIC(也称为可
编程逻辑器件)。
设计全定制 ASIC 芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺
4