基于FPGA的电子密码锁的设计论文(带仿真)_第1页
基于FPGA的电子密码锁的设计论文(带仿真)_第2页
基于FPGA的电子密码锁的设计论文(带仿真)_第3页
基于FPGA的电子密码锁的设计论文(带仿真)_第4页
基于FPGA的电子密码锁的设计论文(带仿真)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、i 摘要摘要 基于fpga设计的电子密码锁是一个小型的数字系统,与普通机械锁相比, 具 有许多独特的优点: 保密性好, 防盗性强, 可以不用钥匙, 记住密码即可开锁等。 目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器 与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能 较差。本文介绍一种基于现场可编程门阵列fpga 器件的电子密码锁的设计方法 采用vhdl语言对系统进行描述,并在flex10k10lc84-4上实现。 系统所实现的功能:用户给电子密码锁设定一个密码,当使用本机键盘开锁 时,该密码与用户设定的密码比较,如果密码正确,则开锁;

2、如果密码不正确, 则允许用户重新输入密码,最多可输入三次,若三次都不正确,则扬声器报警, 直到按复位键才允许再次输入代码。 通过仿真调试,利用可编程器件 fpga 的电子密码锁的设计基本达到了预期 目的。当然,该系统在一些细节的设计上还需要不断的完善和改进,特别是对系 统的扩展有很好的实用和设计的价值。 关键词:关键词:现场可编程门阵列, 硬件描述语言, 电子密码锁, 扬声器 ii abstract fpga-based design of the electronic code lock is a small digital system, electronic password lock

3、compared with ordinary mechanical locks, with many unique advantages: good privacy, security and strong, can not key to remember passwords to unlock, and so on. at present the use of the electronic code lock on most of scm technology to scm as the main devices, encoders and decoders of health and th

4、e software approach. in practice, since the process easy run to fly, the reliability of the system can be poor. based on this paper, a field programmable gate arrays fpga devices electronic password lock design, vhdl language used to describe the system and achieve flex10k10lc84-4. implementation of

5、 the system features: users of electronic password lock to set a password, when using the keyboard unlock the machine, the user password and set the password, if the correct password, then unlock if the password is not correct, allows users to enter a password, can enter up to three times, three tim

6、es if not correct, the speaker alarm, until the reset button only allowed to re-enter the code. the simulation tests using programmable devices fpga electronic password lock the basic design to achieve the expected goal. of course, some of the details of the system in the design of the need to const

7、antly refined and improved, in particular the expansion of the system have a good design and practical value. key words: fpga , vhdl, electronic password lock , speaker iii 目目录录 摘要 .i abstract .ii 目录 .iii 1 绪言.1 1.1 课题背景.1 1.2 课题研究的目的和意义.1 1.3 国内外概况.2 1.4 课题的主要研究工作.3 2fpga 的相关介绍.4 2.1 可编程逻辑器件.4 2.2f

8、pga 的简介.4 2.3fpga 的应用特点.5 2.4fpga 的应用前景.6 3 基于 fpga 设计的硬件描述语言 vhdl .8 3.1vhdl 语言简介.8 3.2vhdl 语言的特点 .8 3.3vhdl 语言的优点.8 3.4 vhdl 语言的基本结构.9 3.5vhdl 语言的应用.10 4 系统设计方案的研究.11 4.1 系统功能需求分析.11 4.2 系统实现方案的论证比较.11 4.3 系统方案的总体设计.11 4.3.1 系统原理框图.11 4.3.2 总体设计原理.12 5 系统硬件设计.13 5.1 系统的硬件模块实现.13 5.2 基于 fpga 的设计.13

9、 5.2.1 主控芯片 epf10k10lc84-4 的介绍.13 5.2.2fpga 逻辑功能结构及开发.14 5.3 键盘控制电路结构与原理.14 5.4led 显示器结构与原理.15 5.5 报警电路.17 6 系统的软件设计.18 6.1 系统主控制流程框图.18 6.2 键盘扫描程序框图.19 6.3 获取键值程序框图.20 6.4 解码、报警模块.21 7 系统的原理实现.22 7.1 系统的层次化设计.22 7.2 顶层图形设计.22 7.3 系统仿真演示结果.23 iv 总结与展望 .24 致谢 .25 参考文献 .26 附录 .28 1 1 绪言绪言 系统以利用可编程器件实现

10、电子密码锁的设计为研究背景、现状以及发展方向, 明确指出了电子密码锁面临的问题和所解决的方法。 1.1 课题背景课题背景 基于fpga的电子密码锁是新型现代化安全管理系统,它集微机自动识别技术 和现代安全管理措施为一体,它涉及电子,机械,计算机技术,通讯技术,生物 技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施,适 用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工 厂、家庭等。 在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它 早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统1。它 在工作环境安全、人事考勤管理等行

11、政管理工作中发挥着巨大的作用。在该系统 的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、 餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。 目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编 码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠 性能较差2。基于 fpga 的电子密码锁已经是现代生活中经常用到的工具之一,用 于各类保险柜、房门、防盗门等等。用电子密码锁代替传统的机械式密码锁,克 服了机械式密码锁密码量少、安全性能差的缺点。由于采用的是可编程逻辑器件 fpga,使得系统有相当大的灵活性,随时可以进行硬件升

12、级、扩展,而且系统设 计完善以后还可以将主控的 fpga 固化成一片 asic,那么这块 asic 就可以作为 专用的数字密码锁芯片。而且由于硬件可升级,还可随时增加密码位数或增加新 的功能,使得密码锁有更高的安全性、可靠性和方便性3。 1.2 课题研究的目的和意义课题研究的目的和意义 电子杂志、报刊经常刊登有密码开关、密码锁这样的电路,大多数是使用常 用的数字电路,如 cd4017,然后通过不同的连接方式实现密码控制功能。这种电 路的特点就是密码修改只能通过改变电路的连接来实现,密码很容易被破解,电 路复杂,故障率高。本制作是针对这些电路而设计的,将以往的以单片机实现设 计改为可编程器件 f

13、pga 利用 vhdl 编程实现电子密码锁的设计。这种设计移动 方便。基于 fpga 的电子密码锁具有保密强、灵活性高、适用范围广等特点,它 在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在 2 被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记) ,难以被窃 (除非自己泄露) 。但是密码不能太简单,太简单了就容易被他人在键盘上试探出 来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂, 太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此, 为了发扬优点、克服弱点,本设计采用“任意设定数字密码”技术使得被授权人 可以根据自己

14、的需要或喜好设定密码,常用常新,在输入密码的过程中,当用户 键入错误密码时,系统就会报警,由扬声器发出 5 秒报警声,当连续三次出现密 码错误时,则系统会长时间报警不止,这时必须按复位方可停止。 本设计的 fpga 电子密码锁的特点是:体积小、功耗低、价格便宜、安全可 靠,维护和升级都十分方便,具有较好的应用前景。它与传统锁具的不同之处在于: 它与可编程逻辑器件实现系统的设计,应用简洁清晰的 vhdl 语言实现设计编程 思想,能够实现适时、智能控制管理功能,特别是在系统的扩展上有很好的优势。 1.3 国内外概况国内外概况 随着我国对外开放的不断深入,高档建筑发展很快,高档密码锁具市场的前 景乐

15、观。我国密码锁具行业对密码锁具高新技术的投入正逐年增大,高档密码锁 的市场需求也逐年增加4。在安防工程中,锁具产品是关系到整个系统安全性的重 要设备,所以锁具产品的优劣也关系了整个安防工程的质量和验收。 目前,市场上比较先进的智能电子密码锁分别有:ic 卡电子密码锁、射频卡 式电子密码锁、红外遥控电子密码锁、指纹识别电子密码锁和瞳孔识别电子密码 锁等。ic 卡电子密码锁成本低,体积小,卡片本身无须电源等优点占领了一定的 市场份额,但是由于有机械接触,会产生接触磨损,而且使用不太方便,在一定 程度上限制了它的应用;射频卡式电子密码锁是非接触式电子密码锁,成本也不 太高,体积跟 ic 卡密码锁相当

16、,卡片使用感应电源,重量很轻,技术成熟,受到 了广泛的欢迎,但是与 ic 卡电子密码锁相比,成本偏高;指纹识别电子密码锁和 瞳孔识别电子密码锁可靠性很高,安全性是目前应用系统中最高的,但是成本高 昂,还没进入大众化使用阶段5。 在国外,美国、日本、德国的电子密码锁保密性较好,并结合感应卡技术, 生物识别技术,使电子密码锁系统得到了飞跃式的发展。这几个国家的密码锁识 别的密码更复杂,并且综合性比较好,已经进入了成熟期,出现了感应卡式密码 锁,指纹式密码锁,虹膜密码锁,面部识别密码锁,序列混乱的键盘密码锁等各 种技术的系统,它们在安全性,方便性,易管理性等方面都各有特长,新型的电 子密码锁系统的应

17、用也越来越广6。 3 1.4 课题的主要研究工作课题的主要研究工作 课题主要解决系统硬件和软件两方面的问题。硬件方面要解决 fpga 可编程 器件与其外围电路的接口设计的问题;软件方面主要问题是利用 vhdl 语言完成 基于 fpga 的电子密码锁的编程问题。除此之外,程序还要完成基本的密码开锁 功能,并通过扬声器长时间鸣叫报警。本设计是由 fpga 可编程逻辑器件编程实 现的控制电路,具体有按键指示、输入错误提示、密码有效指示、控制开锁、控 制报警等功能。它具有安全可靠、连接方便、简单易用、结构紧凑、系统可扩展 性好等特点。 4 2 fpga 的相关介绍的相关介绍 2.1 可编程逻辑器件可编

18、程逻辑器件 在数字电子系统领域,存在三种基本的器件类型:存储器、微处理器和逻辑 器件。存储器用来存储随机信息,如数据表或数据库的内容。微处理器执行软件 指令来完成范围广泛的任务,如运行字处理程序或视频游戏。逻辑器件提供特定 的功能,包括器件与器件间的接口、数据通信、信号处理、数据显示、定时和控 制操作、以及系统运行所需要的所有其它功能7。 逻辑器件可分为两大类,即固定逻辑器件和可编程逻辑器件。正如其命名一 样,固定逻辑器件中的电路是永久性的,它们完成一种或一组功能,一旦制造完 成,就无法改变。另一方面,可编程逻辑器件(pld)是能够为客户提供范围广泛 的多种逻辑容量、特性、速度和电压参数的标准

19、成品部件 而且此类器件可 在任何时间改变,从而完成许多种不同的功能8。 对于固定逻辑器件,根据器件复杂性不同,从设计、原型到最终生产所需要 的时间可从数月至一年多不等。而且,如果器件工作不合适,或者如果应用要求 发生了变化,那么就必须开发全新的设计。设计和验证固定逻辑的前期工作需要 大量的nre成本。nre代表在固定逻辑器件最终从芯片制造厂制造出来以前客户 需要投入的所有成本,这些成本包括工程资源、昂贵的软件设计工具、用来制造 芯片不同金属层的昂贵光刻掩膜组以及初始原型器件的生产成本。这些nre成本 可能从数十万美元至数百万美元。 对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、

20、仿真 和测试其设计。然后,可快速将设计编程到器件中,并立即在实际运行的电路中 对设计进行测试。原型中使用的pld器件与正式生产最终设备(如网络路由器、 dsl调制解调器、dvd播放器、或汽车导航系统)时所使用的pld完全相同。这 样就没有了nre成本,最终的设计也比采用定制固定逻辑器件时完成得更快。 采用pld的另一个关键优点是在设计阶段中客户可根据需要修改电路,直到对 设计工作感到满意为止。这是因为pld基于可重写的存储器技术要改变设计, 只需要简单地对器件进行重新编程。一旦设计完成,客户可立即投入生产,只需 要利用最终软件设计文件简单地编程所需要数量的pld就可以了。 2.2 fpga 的

21、简介的简介 fpga 是英文 field programmable gate array 的缩写,即现场可编程门阵列, 它是在 pal、gal、epld 等可编程器件的基础上进一步发展的产物9。它是作为专 用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不 足,又克服了原有可编程器件门电路数有限的缺点。 5 fpga 采用了逻辑单元阵列 lca(logic cell array)这样一个新概念,内部 包括可配置逻辑模块 clb(configurable logic block) 、输出输入模块 iob(input output block)和内部连线(interconn

22、ect)三个部分。fpga 的基本 特点主要有: 1)采用 fpga 设计 asic 电路,用户不需要投片生产,就能得到合用的芯片。 2)fpga 可做其它全定制或半定制 asic 电路的中试样片。 3)fpga 内部有丰富的触发器和 io 引脚。 4)fpga 是 asic 电路中设计周期最短、开发费用最低、风险最小的器件之一。 5)fpga 采用高速 chmos 工艺,功耗低,可以与 cmos、ttl 电平兼容。 可以说,fpga 芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 目前 fpga 的品种很多,有 xilinx 的 xc 系列、ti 公司的 tpc 系列、altera

23、公司的 fiex 系列等。 fpga 是由存放在片内 ram 中的程序来设置其工作状态的,因此,工作时需要 对片内的 ram 进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,fpga 芯片将 eprom 中数据读入片内编程 ram 中,配置完成后,fpga 进入工作状态。掉电后,fpga 恢复成白片,内部逻辑关系消失,因此,fpga 能够 反复使用。fpga 的编程无须专用的 fpga 编程器,只须用通用的 eprom、prom 编程 器即可。当需要修改 fpga 功能时,只需换一片 eprom 即可。这样,同一片 fpga, 不同的编程数据,可以产生不同的电路功能。因此,

24、fpga 的使用非常灵活。 fpga 有多种配置模式:并行主模式为一片 fpga 加一片 eprom 的方式;主从 模式可以支持一片 prom 编程多片 fpga;串行模式可以采用串行 prom 编程 fpga; 外设模式可以将 fpga 作为微处理器的外设,由微处理器对其编程10。 2.3 fpga 的应用特点的应用特点 随着电子技术的飞速发展, 基于fpga的设计向高集成度高速度和低价位方向 不断迈进 其应用领域不断扩大这主要是由于fpga以下技术特点的不断发展11。 (1)集成度越来越高 如lattice的isplsi或amd的mach芯片等效逻辑门已达10 万门以上 altera 的

25、10k 系列也在25 万门以上具有1 万个以上的寄存器 40 kbit 嵌人式存储器 使得 集成复杂信号处理算法成为可能 raphael系列已达到100 万门以上集中了 flex10kflex6000 max7000的所有优点可进行单片设计xilinx推出了上百万门的 fpga,它们可实现几乎任何形式的数字电路或数字系统的设计 fpga在系统中直接 应用率正直逼asic的开发2.2 在系统编程(isp)/在线路重配置(icr)技术。 6 fpga 越来越多地采用了先进的 jtag isp和icr 技术。这种先进的编程方 式已成为当今世界上各类可编程器件发展的趋势在 5v 工作电平下可随时对正在

26、 工作的系统上的 cpld/fpga 进行全部或部分地在系统编程 并可进行芯片内部资 源的重新分配同时进行所谓菊花链式多芯片串行编程 其编程次数多达1万次 如 lattice 的isplsi amd的mach以及xilinx的xc9000系列 对于sram结构的fpga 其下载编程次数几乎没有限制 如altera的flex10k系列 这种编程方式可轻易地实 现红外编程 超声编程或无线编程 或通过电话线远程在线编程 这些功能在工控 智能仪器表 通讯和军事上有特殊用途。 (2) 嵌入式存贮技术 在 cpld/fpga 内部嵌人一定数量的存贮器 存贮器类型有双口sram rom fifo 可用于存贮

27、信号处理的系数 中间结果等 这对设计电子系统的智能化功能提 供了技术支持 (3)时钟锁定和倍频技术 altera 的 10k 系列采用了时钟锁定和倍频技术解决了时钟脉冲延迟和偏斜问 题并使pld 内部时钟更高 单个16 bit 乘法器速度可达100 mhz 以上 这正是大带 宽高速实时信号的需要 cpld/fpga的时钟延迟可达纳秒级 结合其并行工作方式 在超高速应用领域和实时测控方面有非常广阔的应用前景。 (4)电子设计自动化 eda 工具 eda工具使得用户对设计的输入综合仿真非常方便 altera的max+plusii给用户 提供了丰富的宏库和lpm(参数模块库library of pa

28、rameterized modules)eda 环境 由 unix/windows 共存开发环境转换 事实上 通过符合国际标准的硬件描述语言 如 vhdl 或verilog hdl 来进行电子系统设计和产品开发由于开发工具的通 用性 设计语言的标准化以及设计过程几乎与所用的 cpld/fpga 器件的硬件结构 没有关系 所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性它几乎 可用于任何型号的cpld/fpga中 从而使得片上系统的产品设计效率大幅度提高, 使其用更为广泛和方便。 (5)开发周期短 由于fpgan 内部资源丰厚及功能强大以及相应的eda软件功能完善和强大仿 真能力便捷而实

29、时开发过程形象而直观兼之硬件因素涉及甚少,一些eda专家指 出未来的大系统fpga设计仅是各类再应用逻辑与 ip 核 core 的拼装 ti 公司 认为 一个asic 80 功能可用ip 核等现成逻辑合成 因此可在很短的时间内完成十 分复杂的系统设计。 7 2.4 fpga 的应用前景的应用前景 在数字化的道路上,电子设计技术经历了并将继续经历许多重大的变革,从应 用小规模集成电路 ssi 芯片构成电路系统,到广泛应用微控制器或单片机 mcu 在电子系统设计上发生了具有里程碑意义的飞跃 这一飞跃不但克服了 ssi 数字 系统许多缺陷和设计困难 同时也为电子技术的应用开阔了更广泛的前景 ,随着

30、社会经济的发展和技术进步及电子技术的迅猛发展 ,电子设计技术面临另一次更 大意义的,即 fpga 复杂可编程逻辑器件 fieldprogrammable gate array-fpga/现 场可编程门阵列 complex programmable logic device-cpld 在 eda 电子设计自动 化 基础上的广泛应用. 从本质上说, 新的电子系统运转的物理机制又归回到原来 的纯数字电路结构,但在更高层次上容纳了过去数字技术的优秀部分,扬弃了 mcu 系统的应用模式,却包括了 mcu 的内部资源,使电子设计的技术操作和系统构成 的整体发生质的飞跃,是一种更高层次的循环 ,如果说 mc

31、u 在逻辑的实现上是 无限的话,那么 cpld/fpga 不但包括了 mcu 这一特点 且可触及硅片电路线 度的物理极限 并兼有串并行工作方式 高速 高可靠性以及宽口径实用性等多方面 的特点,不仅如此,随着 eda 技术的发展和 fpga 在深亚微米领域的进军。它们 与 mcu mpu dsp a/d d/a ram 和 rom 等独立器件间的物理与功能界限已日趋 模糊 特别是软/硬 ip 芯核 intelligence property 产业的迅猛发展 嵌人式通用及标 准 fpga 器件很快就会出现片上系统 soc 也已近在咫尺 cpld/fpga 以其不可 替代的地位及伴随而来的极具知识经

32、济特征的 ip 芯核产业的崛起 正越来越受到 电子技术工程师的密切关注 eda 打破了软硬件之间最后的屏障 使软硬件工程师 们有了真正的共同语言 使目前一切仍处于计算机辅助性设计 cad 和规划的电子 设计活动产生了实在的设计实体 电子设计专家指出 基于 eda 的 cpld/fpga 的 应用和技术推广是我国未来电子设计技术发展的主流 而基于 eda 的 ip 芯核产 业的推动应是我国在新世纪知识经济发展的重要切入点之一12。 无论怎样的问题和障碍,fpga 的应用热潮正逐步形成随着 fpga 集成水平 的进一步提高芯核产业的进一步扩大,可以相信用不了多久大部分的电子设计领 域 mcu 、m

33、pu、 dsp 或 ad/a 和 ram 等必将以各种软硬核的形式 fpga 实 现真正的单片系统。 8 3 基于基于 fpga 设计的硬件描述语言设计的硬件描述语言 vhdl 3.1 vhdl 语言简介语言简介 目前数字系统的设计可以直接面向用户需求 ,根据系统的行为和功能要求 ,自 上而下地逐层完成相应的描述、综合、优化、仿真与验证 ,直到生成器件 ,实现电 子设计自动化。其中电子设计自动化 eda (即 electronic design automation)的关键 技术之一就是可以用硬件描述语言(hdl)来描述硬件电路。vhdl(vhsic hardware description

34、language)是用来描述从抽象到具体级别硬件的工业标准语言 ,它 是由美国国防部在 20 世纪 80 年代开发的 hdl ,现在已成为 ieee 承认的标准 硬件描述语言。vhdl 支持硬件的设计、验证、综合和测试 ,以及硬件设计数据 的交换、维护、修改和硬件的实现 ,具有描述能力强、生命周期长、支持大规模设 计的分解和已有设计的再利用等优点13。 vhdl 主要用于描述数字系统的结构、行为和功能 ,其程序结构特点是将一 个电路模块或一个系统分成端口和内部功能算法实现两部分。对于一个电路模块 或者数字系统而言 ,定义了外部端口后 ,一旦内部功能算法完成后 ,其他系统可以 直接依据外部端口调

35、用该电路模块或数字系统 ,而不必知道其内部结构和算法。 vhdl 的特点使得电子系统新的设计方法“自顶向下”设计方法更加容易实 现14。可以先对整个系统进行方案设计 ,按功能划分成若干单元模块 ,然后对每个 单元模块进一步细分 ,直到简单实现的单元电路。 3.2 vhdl 语言的特点语言的特点 vhdl 语言主要用于描述数字系统的结构、行为、功能和接口,其具有以下特点: (1)作为 hdl 的第一个国际标准,vhdl 具有很强的可移植性; (2)具有丰富的模拟仿真语句和库函数; (3)vhdl 有良好的可读性,接近高级语言,容易理解; (4)系统设计与硬件结构无关; (5)支持模块化设计; (

36、6)用 vhdl 完成的一个确定设计,可以利用 eda 工具自动地把 vhdl 描述转变 成门电路级网表文件。 3.3 vhdl 语言的优点语言的优点 与其他硬件描述语言相比,vhdl 语言有如下优越之处15: 9 (1)vhdl 语言支持自上而下(topdown)和基于库(librarybase)的 设计方法,还支持同步电路、异步电路、fpga 以及其他随机电路的设计; (2)vhdl 语言具有多层次描述系统硬件功能的能力,可以从系统的数学 模型直到门级电路,其高层次的行为描述可以与低层次的 rtl 描述和结构描述混 合使用,还可以自定义数据类型,给编程人员带来较大的自由和方便; (3)vh

37、dl 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也 不必关心最终设计实现的目标器件是什么; (4)vhdl 具有电路仿真与验证功能,可以保证设计的正确性,用户甚至不 必编写如何测试相量便可以进行源代码级的调试,而且设计者可以非常方便地比 较各种方案之间的可行性及其优劣,不需做任何实际的电路实验; (5)vhdl 语言可以与工艺无关编程; (6)vhdl 语言标准、规范,易于共享和复用。 3.4 vhdl 语言的基本结构语言的基本结构 vhdl 有五大元素组成,即实体、结构体、配置、程序包和库16。具体说明如下: (1)实体(entity) 程序是设计的基本模块和初级单元,在分层设计

38、中,顶层有顶层实体,含在顶层 实体中的较低层的描述为底层实体.配置把顶层实体和底层实体连接起来.实体说 明语句仅对本实体与外部电路接口进行描述. (2)结构体(architecture) 结构体也叫构造体,描述了实体的结构、行为、元件及内部连接关系,也就 是说它定义了设计实体的功能,规定了设计实体的数据流程,制定了实体内部元 件的连接关系。 (3)配置(configuration) 配制用于将元件实例与实体-结构成对绑定,决定了哪个结构体于实体关联。 (4)程序包(package) 程序包是经常使用的数据类型和子程序的集合,可以认为是 vhdl 的工具箱, 主要对程序包中的常量、数据类型和子程

39、序进行格式描述,类似于 c 语言中的头 文件。 (5)库(library) 库具体对程序包声明的数据类型和子程序进行功能说明。 10 3.5 vhdl 语言的应用语言的应用 硬件描述语言已成为当今以及未来电子设计自动化(eda)解决方案的核心,特 别是对于深亚微米复杂数字系统的设计,硬件描述语言具有独特的作用。vhdl 在数字电子电路的设计中具有硬件描述能力强、设计方法灵活等优点17。 利用硬件描述语言 vhdl,数字电路系统可从系统行为级、寄存器传输级和 门级三个不同层次进行设计,即上层到下层(从抽象到具体)逐层描述自己的设 计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电

40、子设 计自动化(eda)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块 组合,经过自动综合工具转换到门级电路网表。接着,再用专用集成电路(asic) 或现场可编程门阵列(fpga)自动布局布线工具,把网表转换为要实现的具体电路 布线结构。目前,这种高层次设计(highleveldesign)的方法已被广泛采用。据统计, 目前在美国硅谷约有 90%以上的 asic 和 fpga 采用硬件描述语言进行设计。 vhdl 的应用已成为当今以及未来 eda 解决方案的核心,而且是复杂数字系统设 计的核心18。 11 4 系统设计方案的研究系统设计方案的研究 4.1 系统功能需求分析系统功能需求分

41、析 本系统主要集中在以 fpga 以核心外围扩展设计,整个电路主要电子锁具的组 成框图是以可编程逻辑器件(fpga)为核心,配以相应硬件电路,完成密码的设 置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值,报警等功能。 fpga 接收键入的代码,并与存贮在闪存中的密码进行比较,如果密码正确,则驱 动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码,最多可输 入三次;如果三次都不正确,则通过 fpga 产生报警,fpga 将每次开锁操作和此时 电磁执行器的驱动电流值作为状态信息发送给监控器,同时将接收来自接口的报 警信息也发送给监控器。 4.2 系统实现方案的论证比较系统实现方案

42、的论证比较 方案一方案一 :采样台湾凌阳科技有限公司推出的以凌阳自主研发的 spce061a 芯 片为主控芯片,用一条下载线连接到计算机就可以实现在线仿真、在线调试、在 线下载,低廉的价格保证了系统可靠开发;此外,61 板具有 soc 概念、dsp 功能 和语音特色,为电子密码锁的语音报警提供了方便,但是基于单片机设计的密码 锁外围电路比较复杂,系统可靠性差,密码的数量少,尤其是系统的程序不够稳 定,功率较大,需要专门的电源供电,所以不采用这个方案。 方案二方案二:设计一种基于 fpga 的电子密码锁的设计,用 fpga 设计的系统已经 是现代生活中经常用到的工具之一,通过键盘输入密码,用 f

43、pga 作为主控芯片, 用数码管显示输入的数字,如果出现错误便通过报警电路发出报警,主控芯片又 可分为按键处理部分、控制部分和译码显示部分用电子密码锁代替传统的机械式 密码锁。由于采用的是可编程逻辑器件 fpga,使得系统有相当大的灵活性,随时 可以进行硬件升级、扩展。而且系统设计完善以后还可以将主控的 fpga 固化成一 片 asic,那么这块 asic 就可以作为专用的数字密码锁芯片。 方案的论证比较方案的论证比较 在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差,而基于 fpga 设计 的电子密码锁克服了基于单片机设计密码锁的缺点。基于上述比较以上两种方案, 根据系统设计要求,采用

44、方案二。 4.3 系统方案的总体设计系统方案的总体设计 4.3.1 系统原理框图系统原理框图 本系统由主控芯片(fpga) 、键盘、显示电路、报警电路和开/关门电路组成, 而主控芯片又可分为按键处理部分、控制部分和译码显示部分。系统原理框图如 12 图 4.1 所示: 4.3.2 总体设计原理总体设计原理 实现系统大量逻辑电路的集成,在设计中使用了现场可编程逻辑门阵列器件 (fpga)。fpga 主要实现以下逻辑功能:键盘处理、数码显示、设置密码、解 码开门以及报警等控制功能。 本系统有 13 个按键,包括 09 共 10 个数字键和 1 个确认键,1 个警报复位键, 1 个清 0 键。输入正

45、确密码后,按确认键即可开门,在门开的状态下,第一次输入 新密码后再确认密码可设置密码,输入的密码在八位数码管上显示,最后输入的 数字显示在最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的 零不用输入,因此密码可以为 18 位。初始密码为 0,即上电后,按确认键即可 开门。门开后可通过锁门按钮关门,门关上后要再次输入密码才能开门。在输入 密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出报警声, 当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按警报复位键 方可停止。 fpga 主控部分 译码显示按键处理键盘 显示 开/关门电路报警电路 图 4.1 系统框 图

46、13 5 系统硬件设计系统硬件设计 5.1 系统的硬件模块实现系统的硬件模块实现 整个电子密码锁系统可划分为键盘扫描、获取键值、数码显示、设置密码和 解码开门等五个子模块。通过 fpga 的处理,从而实现基于 fpga 的电子密码锁 的设计,系统实现框图如图 5.1 所示。 5.2 基于基于 fpga 的设计的设计 5.2.1 主控芯片主控芯片 epf10k10lc84-4 的介绍的介绍 fpga 器件选择 altera 公司 flex10k10 系列的 epf10k10lc84-4 芯片。 flex10k 器件是工业界第一个嵌入式的 pld(可编程逻辑器件),由于其具有高密度、 低成本、低功

47、率等特点,成为当今 altera pld 中应用广泛的器件系列19。flex10k 器件主要由 eab(嵌入式阵列块)、lab(逻辑阵列块)、快速通道线和 i/o 单元 4 部 分组成。设计输入(图形或 vhdl(甚高速集成电路硬件描述语言)等)经过编译后产 生的数据格式(网表),大多配置到 lab 中。在很多时候,为了提高设计效率、减少 lab 的占用等,希望将设计配置到 eab 中。要将设计配置到 eab 中是一个较为复 杂的过程,在这个过程中必须遵守一定的规则,同时,又要对设计的状态、输入、输出 20。 该芯片集成有 1 万个等效逻辑门,含有 572 个逻辑单元(les)、72 个逻辑阵

48、 列块(labs)、3 个嵌入式阵列块(eab s),并具有 720 个片内寄存器,可以在 不占用内部资源的条件下实现 6144 bit 的片内存储器;内部模块间采用高速、延时 可预测的快速通道连接;逻辑单元间具有高速、高扇出的级联链和快速进位链; 片内还有三态网络和 6 个全局时钟、4 个全局清零信号以及丰富的 i/o 资源;每个 i/o 引脚可以选择为三态控制或集电极开路输出,可以通过编程控制每个 i/o 引脚 的速度以及 i/o 寄存器的使用21。 14 5.2.2 fpga 逻辑功能结构及开发逻辑功能结构及开发 fpga 芯片 flex10k 在工作期间,将配置数据保存在 sram 中

49、,而 sram 数据是易丢失的。sram 单元必须在器件加电后装入配置数据,且配置完成后, 它的存储器和 i/o 引脚必须被初化。初始化后,器件进入用户模式,开始系统运行。 对于 flex10k 系列器件,altera 公司提供了 4 种配置方案:epc1(或 epc1441) eppom 方式配置法、被动串行法、被动并行同步法、被动并行异步法。对器件进 行配置时,我们先用被动串行法(passive serial)。这种方式是通过下载电缆对器 件进行配置的,适合于调试阶段。当整个系统设计完成后,利用 eppom 方式对器 件进行配置。这样固化在 eprom 中的数据将在系统上电时对 fpga

50、芯片配置, 其中 eprom 芯片选用 epc144122。 fpga 使用的开发软件为 max+plus ii。该软件是 altera 公司开发的一 个集设计输入、编译、仿真和编程为一体的超级集成环境;提供了自动逻辑综合 工具,可以在多个逻辑层次上对高级设计描述进行综合、优化,大大缩短了编译 时间,加速了 fpga 设计开发进程23。max+plus ii 支持各种 hdl 输入选项, 包括 vhdl、verilog hdl 和 altera 的硬件描述语言 ahdl;提供丰富的库单 元供设计者调用,其中包括 74 个系列的全部器件和多种特殊的逻辑宏单元 (macrofunction),以及

51、新型的参数化的巨单元(magafunction)。fpga 设计经 过 4 个基本阶段:设计输入、设计编译、设计验证和器件编程。首先,根据系统 的逻辑功能生成顶层结构图。然后,分成几个小模块进行下一级设计。由此由上 而下分析其逻辑功能,从底层进行设计编译,每一级都进行波形验证。当最后顶 层模块的逻辑功能在波形仿真中满足系统时序要求时,才可进行器件编程24。 5.3 键盘控制电路结构与原理键盘控制电路结构与原理 按键方式分为独立式和行列式两种,本设计采用行列式按键结构,是 44 键 盘,本设计中只用了其中的 11 个按键。行列式按键是指直接用 i/o 口线通过动态 扫描构成的按键电路。每个按键通

52、过动态扫描需要八根 i/o 口线,每根 i/o 口线上 的按键工作状态不会影响其他 i/o 口线的工作状态。它的电路配置灵活,软件结构 简单,占用的 i/o 资源少。 首先固定输出 4 行为高电平(接到电源),然后输出 4 列为低电平,在读入输出 的 4 行的值,通常高电平会被低电平拉低,如果读入的 4 行均为高电平,那么肯 定没有按键按下,否则,如果读入的 4 行有一位为低电平,那么对应的该行肯定 有一个按键按下,这样便可以获取到按键的行值。同理,获取列值也是如此,先 15 输出 4 列为高电平,然后在输出 4 行为低电平,再读入列值,如果其中有哪一位 为低电平,那么肯定对应的那一列有按键按

53、下。 获取到行值和列值以后,组合成一个 8 位的数据,根据实现不同的编码在对 每个按键进行匹配,找到键值后在 7 段码管显示。 按键控制电路如图 5.2 所示: 图 5.2 44 键盘结构原理图 5.4 led 显示器结构与原理显示器结构与原理 led 显示块是由发光二极管显示字段的显示器件。在单片机应用系统中通常 使用的是 7 段 led。这种显示块共有共阴极与共阳极两种,本设计将采用共阳极。 共阳极 led 显示块的发光二极管与阳极并接25。 数码管显示块中共有 8 个发光二极管,其中 7 个发光二极管构成七笔字形 “8” ,1 个发光二极管构成小数点。7 段显示块与 fpga 接口非常容

54、易。只要将一 个 8 位并行输出与显示块的发光二极管引脚相连即可。8 位并行输出口输出不同的 字节数据即可获得不同的数字或字符,如表 5.1 所示。通常将控制发光二极管的 8 位字节数据称为段选码。共阳极与共阴极的段选码互为补数。 16 表 5.1 led 显示块功能表 显示字 符 共阴极段选 码 共阳极段选 码 显示字符共阴极段选 码 共阳极段 选码 0 3fh c0h c 39h c6h 1 06h f9h d 5eh a1h 2 5bh a4h e 79h 86h 3 4fh b0h b 7ch 83h 4 66h 99h f 71h 8eh 5 6dh 92h p 73h 8ch 6

55、7dh 82h u 3eh c1h 7 07h f8h l 31h ceh 8 7fh 80h y 6eh 91h 9 6fh 90h a 77h 88h 17 5.5 报警电路报警电路 图 5.3 报警电路 18 6 系统的软件设计系统的软件设计 6.1 系统主控制流程框图系统主控制流程框图 当用户输入密码后,按确认键即可开门,在门开的状态下,输入新密码,再 按确认键可设置密码,输入的密码在八位数码管上显示,最后输入的数字显示在 最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的零不用输入, 因此密码可以为 18 位。初始密码为 0,即上电后,按确认键即可开门。 本系统 控制流程如

56、图 6.1 所示: 否 否 否 否 否 是 是 是 是 是 开始 键盘输入 是数字键? 门已开? 输入一位密码 开门 存入新密码,清显 示 密码正确? 不正确次数 达到三? 不正确次数加一 报警 有锁门信号? 清显示,关门 图 6.1 系统控制图 程 19 6.2 键盘扫描程序框图键盘扫描程序框图 开始 时钟上升沿触发? 列为高电平? 逐列扫描 图 6.2 键盘扫描程序框图 20 6.3 获取键值程序框图获取键值程序框图 开始 时钟上升沿? 按键按下? 判断行 和列 输出 左移 清 0? 右移清零 图 6.3 键值程序框图 21 6.4 解码、报警模块解码、报警模块 开始 门已开? 输入密码后

57、确认 密码正确? 开门,不响警报 计数器+1,仍关 门 不正确次 数 大于 3? 复位? 计数器清 0,警报停 止 报警 图 6.4 解码报警模块 22 7 7 系统的原理系统的原理实现实现 7.7.1 系统的层次化设计系统的层次化设计 基于 fpga 的数字系统的层次化设计,一般都要经过 4 个阶段: 设计输入、 编译、仿真验证、下载器件。本设计采用的是自下而上的设计方法 , 逐层完成相 应的描述、编译、仿真与验证 , 即先建立一些低层次的设计 , 再将它们组合在一 起 , 最后形成一个单一的顶层设计文件。一般的 vhdl 综合工具都有多种输入方 式 ,主要有: 各种文本输入、原理图输入和波

58、形输入。对于不同层次的模块, 应采 用不同的输入方式进行描述。由于 vhdl 擅长描述模块的逻辑功能 , 而原理图 擅长描述硬件连接关系,所以在底层设计中,对底层所有模块使用 vhdl 语言进 行描述,在顶层设计中,使用原理图输入方法。当各个模块分别编译成功后 ,则创 建一个个元件符号。再用图形编辑器将各元件模块组装起来 ,这就是本设计中最顶 层的图形设计文件。 7.2 顶层图形设计顶层图形设计 本设计在 quartus环境下的顶层图形设计文件如图 7.1 所示。 图 7.1 顶层图形 原理图输入完成后还要选定器件,锁定引脚,然后就可以进行综合了。如果 综合没有错误的话就可以对芯片进行配置了,

59、配置完成后 fpga 芯片就成了一片 密码锁芯片。再与其它的电路相连就构成一个完整的数字密码锁。 23 7.3 系统仿真演示结果系统仿真演示结果 图 7.2 系统仿真演示结果 24 总结与展望总结与展望 本系统的整个设计期间,在指导老师的教育下和同学的帮助下,经过自己的 努力,我接触到了很多不同的问题,也遇到了很多困难,努力运用不同的方案去 解决问题,获得了一些有价值的心得体会: 在基于 fpga 的系统设计中,不同电路系统的设计往往采用自顶向下的设计 方法,亦即将一个大的系统分解成单元电路。这样做的好处是可以先调试各个单元 电路,在每个单元电路设计完成后 ,采用专门的仿真工具进行功能仿真,确

60、定每个 单元电路都没有问题后再连接顶层图形文件,这样整个系统的调试就轻松得多, 可节省不少设计时间。 由于考虑到体积、成本等因素,本装置在性能上功能上还存在不足,还有待于 进一步提高: (1)增加语音播报功能,可以提高装置的灵敏度,同时方便用户的操作。 (2)可在装置中增加一个语音芯片,将蜂鸣报警改为语音说明指示,可以根据 输入的密码数字播报,同时可以扩展锁的安全防盗报警功能。 本系统的特色与创新点: (1)从测试结果分析可知,本装置采用较低成本的器件设计制作,且误差较小, 完全满足用户的基本要求。 (2)本装置结构简单、体积小、性能稳定,操作容易、使用方便,可以安装在 不同的门上,具有一定推

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论