基于FPGA的电子密码锁的设计论文(带仿真).doc

上传人:laozhun 文档编号:3938464 上传时间:2023-03-28 格式:DOC 页数:38 大小:226KB
返回 下载 相关 举报
基于FPGA的电子密码锁的设计论文(带仿真).doc_第1页
第1页 / 共38页
基于FPGA的电子密码锁的设计论文(带仿真).doc_第2页
第2页 / 共38页
基于FPGA的电子密码锁的设计论文(带仿真).doc_第3页
第3页 / 共38页
基于FPGA的电子密码锁的设计论文(带仿真).doc_第4页
第4页 / 共38页
基于FPGA的电子密码锁的设计论文(带仿真).doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《基于FPGA的电子密码锁的设计论文(带仿真).doc》由会员分享,可在线阅读,更多相关《基于FPGA的电子密码锁的设计论文(带仿真).doc(38页珍藏版)》请在三一办公上搜索。

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

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

3、anical 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 the software approach. In pra

4、ctice, 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 the system features: users

5、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 times if not correct, the speak

6、er 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 constantly refined and improved, i

7、n particular the expansion of the system have a good design and practical value. Key words: FPGA , VHDL, electronic password lock , speaker目录摘要IABSTRACTII目录III1绪言11.1课题背景11.2课题研究的目的和意义11.3国内外概况21.4课题的主要研究工作32FPGA的相关介绍42.1可编程逻辑器件42.2FPGA的简介42.3FPGA的应用特点52.4FPGA的应用前景63基于FPGA设计的硬件描述语言VHDL83.1VHDL语言简介83

8、.2VHDL语言的特点83.3VHDL语言的优点83.4VHDL语言的基本结构93.5VHDL语言的应用104系统设计方案的研究114.1系统功能需求分析114.2系统实现方案的论证比较114.3系统方案的总体设计114.3.1系统原理框图114.3.2总体设计原理125系统硬件设计135.1系统的硬件模块实现135.2基于FPGA的设计135.2.1主控芯片EPF10K10LC84-4的介绍135.2.2FPGA逻辑功能结构及开发145.3键盘控制电路结构与原理145.4LED显示器结构与原理155.5报警电路176系统的软件设计186.1系统主控制流程框图186.2键盘扫描程序框图196.

9、3获取键值程序框图206.4解码、报警模块217系统的原理实现227.1系统的层次化设计227.2顶层图形设计227.3系统仿真演示结果23总结与展望24致谢25参考文献26附录281 绪言系统以利用可编程器件实现电子密码锁的设计为研究背景、现状以及发展方向,明确指出了电子密码锁面临的问题和所解决的方法。1.1课题背景基于FPGA的电子密码锁是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施,适用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工

10、厂、家庭等。 在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统1。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。在该系统的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。 目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差2。基于FPGA的电子密码锁已经是现代生活中经常用到的工具之一,用于各类保险柜、房门、防盗门

11、等等。用电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展,而且系统设计完善以后还可以将主控的FPGA固化成一片ASIC,那么这块ASIC就可以作为专用的数字密码锁芯片。而且由于硬件可升级,还可随时增加密码位数或增加新的功能,使得密码锁有更高的安全性、可靠性和方便性3。1.2 课题研究的目的和意义电子杂志、报刊经常刊登有密码开关、密码锁这样的电路,大多数是使用常用的数字电路,如CD4017,然后通过不同的连接方式实现密码控制功能。这种电路的特点就是密码修改只能通过改变电路的连接

12、来实现,密码很容易被破解,电路复杂,故障率高。本制作是针对这些电路而设计的,将以往的以单片机实现设计改为可编程器件FPGA利用VHDL编程实现电子密码锁的设计。这种设计移动方便。基于FPGA的电子密码锁具有保密强、灵活性高、适用范围广等特点,它在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,

13、为了发扬优点、克服弱点,本设计采用“任意设定数字密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新,在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出5秒报警声,当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按复位方可停止。本设计的FPGA电子密码锁的特点是:体积小、功耗低、价格便宜、安全可靠,维护和升级都十分方便,具有较好的应用前景。它与传统锁具的不同之处在于:它与可编程逻辑器件实现系统的设计,应用简洁清晰的VHDL语言实现设计编程思想,能够实现适时、智能控制管理功能,特别是在系统的扩展上有很好的优势。1.3 国内外概况随着我国对外开放的不断深入,

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

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

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

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

18、从设计、原型到最终生产所需要的时间可从数月至一年多不等。而且,如果器件工作不合适,或者如果应用要求发生了变化,那么就必须开发全新的设计。设计和验证固定逻辑的前期工作需要大量的NRE成本。NRE代表在固定逻辑器件最终从芯片制造厂制造出来以前客户需要投入的所有成本,这些成本包括工程资源、昂贵的软件设计工具、用来制造芯片不同金属层的昂贵光刻掩膜组以及初始原型器件的生产成本。这些NRE成本可能从数十万美元至数百万美元。 对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计。然后,可快速将设计编程到器件中,并立即在实际运行的电路中对设计进行测试。原型中使用的PLD器件与正式生产

19、最终设备(如网络路由器、DSL调制解调器、DVD播放器、或汽车导航系统)时所使用的PLD完全相同。这样就没有了NRE成本,最终的设计也比采用定制固定逻辑器件时完成得更快。 采用PLD的另一个关键优点是在设计阶段中客户可根据需要修改电路,直到对设计工作感到满意为止。这是因为PLD基于可重写的存储器技术要改变设计,只需要简单地对器件进行重新编程。一旦设计完成,客户可立即投入生产,只需要利用最终软件设计文件简单地编程所需要数量的PLD就可以了。 2.2 FPGA的简介 FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等

20、可编程器件的基础上进一步发展的产物9。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

21、3)FPGA内部有丰富的触发器和IO引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工

22、作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程10。2.3 FPGA的应用特点 随着电子技术的飞速发展, 基于FPG

23、A的设计向高集成度高速度和低价位方向不断迈进 其应用领域不断扩大这主要是由于FPGA以下技术特点的不断发展11。(1)集成度越来越高 如Lattice的ispLSI或AMD的MACH芯片等效逻辑门已达10 万门以上 Altera 的10K 系列也在25 万门以上具有1 万个以上的寄存器 40 kbit 嵌人式存储器 使得集成复杂信号处理算法成为可能 Raphael系列已达到100 万门以上集中了 FLEX10KFLEX6000 MAX7000的所有优点可进行单片设计Xilinx推出了上百万门的FPGA,它们可实现几乎任何形式的数字电路或数字系统的设计 FPGA在系统中直接应用率正直逼ASIC的

24、开发2.2 在系统编程(ISP)/在线路重配置(ICR)技术。 FPGA 越来越多地采用了先进的 JTAG ISP和ICR 技术。这种先进的编程方式已成为当今世界上各类可编程器件发展的趋势在 5V 工作电平下可随时对正在工作的系统上的 CPLD/FPGA 进行全部或部分地在系统编程 并可进行芯片内部资源的重新分配同时进行所谓菊花链式多芯片串行编程 其编程次数多达1万次 如Lattice 的ispLSI AMD的MACH以及Xilinx的XC9000系列 对于SRAM结构的FPGA其下载编程次数几乎没有限制 如Altera的FLEX10K系列 这种编程方式可轻易地实现红外编程 超声编程或无线编程

25、 或通过电话线远程在线编程 这些功能在工控 智能仪器表 通讯和军事上有特殊用途。(2) 嵌入式存贮技术 在 CPLD/FPGA 内部嵌人一定数量的存贮器 存贮器类型有双口SRAM ROM FIFO 可用于存贮信号处理的系数 中间结果等 这对设计电子系统的智能化功能提供了技术支持(3)时钟锁定和倍频技术 Altera 的 10K 系列采用了时钟锁定和倍频技术解决了时钟脉冲延迟和偏斜问题并使PLD 内部时钟更高 单个16 bit 乘法器速度可达100 MHz 以上 这正是大带宽高速实时信号的需要 CPLD/FPGA的时钟延迟可达纳秒级 结合其并行工作方式 在超高速应用领域和实时测控方面有非常广阔的

26、应用前景。(4)电子设计自动化 EDA 工具 EDA工具使得用户对设计的输入综合仿真非常方便 Altera的Max+PlusII给用户提供了丰富的宏库和LPM(参数模块库Library of Parameterized Modules)EDA 环境由 Unix/Windows 共存开发环境转换 事实上 通过符合国际标准的硬件描述语言 如 VHDL 或VERILOG HDL 来进行电子系统设计和产品开发由于开发工具的通用性 设计语言的标准化以及设计过程几乎与所用的 CPLD/FPGA 器件的硬件结构没有关系 所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性它几乎可用于任何型号的CPLD/

27、FPGA中 从而使得片上系统的产品设计效率大幅度提高,使其用更为广泛和方便。(5)开发周期短 由于FPGAN 内部资源丰厚及功能强大以及相应的EDA软件功能完善和强大仿真能力便捷而实时开发过程形象而直观兼之硬件因素涉及甚少,一些EDA专家指出未来的大系统FPGA设计仅是各类再应用逻辑与 IP 核 CORE 的拼装 TI 公司认为 一个ASIC 80 功能可用IP 核等现成逻辑合成 因此可在很短的时间内完成十分复杂的系统设计。2.4 FPGA的应用前景 在数字化的道路上,电子设计技术经历了并将继续经历许多重大的变革,从应用小规模集成电路SSI芯片构成电路系统,到广泛应用微控制器或单片机MCU 在

28、电子系统设计上发生了具有里程碑意义的飞跃 这一飞跃不但克服了 SSI 数字系统许多缺陷和设计困难 同时也为电子技术的应用开阔了更广泛的前景 ,随着社会经济的发展和技术进步及电子技术的迅猛发展 ,电子设计技术面临另一次更大意义的,即FPGA 复杂可编程逻辑器件 FieldProgrammable Gate Array-FPGA/现场可编程门阵列Complex Programmable logic Device-CPLD 在EDA 电子设计自动化 基础上的广泛应用. 从本质上说, 新的电子系统运转的物理机制又归回到原来的纯数字电路结构,但在更高层次上容纳了过去数字技术的优秀部分,扬弃了MCU系统的

29、应用模式,却包括了MCU的内部资源,使电子设计的技术操作和系统构成的整体发生质的飞跃,是一种更高层次的循环 ,如果说MCU在逻辑的实现上是无限的话,那么 CPLD/FPGA 不但包括了 MCU 这一特点 且可触及硅片电路线度的物理极限 并兼有串并行工作方式 高速 高可靠性以及宽口径实用性等多方面的特点,不仅如此,随着EDA技术的发展和FPGA 在深亚微米领域的进军。它们与MCU MPU DSP A/D D/A RAM和ROM 等独立器件间的物理与功能界限已日趋模糊 特别是软/硬 IP 芯核 Intelligence Property 产业的迅猛发展 嵌人式通用及标准 FPGA 器件很快就会出现

30、片上系统 SOC 也已近在咫尺 CPLD/FPGA以其不可替代的地位及伴随而来的极具知识经济特征的IP 芯核产业的崛起 正越来越受到电子技术工程师的密切关注 EDA 打破了软硬件之间最后的屏障 使软硬件工程师们有了真正的共同语言 使目前一切仍处于计算机辅助性设计 CAD 和规划的电子设计活动产生了实在的设计实体 电子设计专家指出 基于EDA的CPLD/FPGA的应用和技术推广是我国未来电子设计技术发展的主流 而基于 EDA 的 IP 芯核产业的推动应是我国在新世纪知识经济发展的重要切入点之一12。 无论怎样的问题和障碍,FPGA的应用热潮正逐步形成随着FPGA 集成水平的进一步提高芯核产业的进

31、一步扩大,可以相信用不了多久大部分的电子设计领域 MCU 、MPU、 DSP或AD/A 和 RAM 等必将以各种软硬核的形式FPGA 实现真正的单片系统。3 基于FPGA设计的硬件描述语言VHDL3.1 VHDL语言简介 目前数字系统的设计可以直接面向用户需求 ,根据系统的行为和功能要求 ,自上而下地逐层完成相应的描述、综合、优化、仿真与验证 ,直到生成器件 ,实现电子设计自动化。其中电子设计自动化EDA (即Electronic Design Automation)的关键技术之一就是可以用硬件描述语言(HDL)来描述硬件电路。VHDL(VHSIC Hardware Description L

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

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

34、工具自动地把VHDL描述转变成门电路级网表文件。3.3 VHDL语言的优点 与其他硬件描述语言相比,VHDL语言有如下优越之处15: (1)VHDL语言支持自上而下(TopDown)和基于库(LibraryBase)的设计方法,还支持同步电路、异步电路、FPGA以及其他随机电路的设计; (2)VHDL语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路,其高层次的行为描述可以与低层次的RTL描述和结构描述混合使用,还可以自定义数据类型,给编程人员带来较大的自由和方便; (3)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必关心最终设计实现的目标器件是什么;

35、 (4)VHDL具有电路仿真与验证功能,可以保证设计的正确性,用户甚至不必编写如何测试相量便可以进行源代码级的调试,而且设计者可以非常方便地比较各种方案之间的可行性及其优劣,不需做任何实际的电路实验; (5)VHDL语言可以与工艺无关编程; (6)VHDL语言标准、规范,易于共享和复用。3.4VHDL语言的基本结构 VHDL有五大元素组成,即实体、结构体、配置、程序包和库16。具体说明如下:(1)实体(ENTITY)程序是设计的基本模块和初级单元,在分层设计中,顶层有顶层实体,含在顶层实体中的较低层的描述为底层实体.配置把顶层实体和底层实体连接起来.实体说明语句仅对本实体与外部电路接口进行描述

36、.(2)结构体(ARCHITECTURE) 结构体也叫构造体,描述了实体的结构、行为、元件及内部连接关系,也就是说它定义了设计实体的功能,规定了设计实体的数据流程,制定了实体内部元件的连接关系。(3)配置(CONFIGURATION) 配制用于将元件实例与实体-结构成对绑定,决定了哪个结构体于实体关联。(4)程序包(PACKAGE)程序包是经常使用的数据类型和子程序的集合,可以认为是VHDL的工具箱,主要对程序包中的常量、数据类型和子程序进行格式描述,类似于C语言中的头文件。(5)库(LIBRARY)库具体对程序包声明的数据类型和子程序进行功能说明。3.5 VHDL语言的应用硬件描述语言已成为

37、当今以及未来电子设计自动化(EDA)解决方案的核心,特别是对于深亚微米复杂数字系统的设计,硬件描述语言具有独特的作用。VHDL在数字电子电路的设计中具有硬件描述能力强、设计方法灵活等优点17。利用硬件描述语言VHDL,数字电路系统可从系统行为级、寄存器传输级和门级三个不同层次进行设计,即上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接着,再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布局布线工具,把网

38、表转换为要实现的具体电路布线结构。目前,这种高层次设计(highleveldesign)的方法已被广泛采用。据统计,目前在美国硅谷约有90%以上的ASIC和FPGA采用硬件描述语言进行设计。VHDL的应用已成为当今以及未来EDA解决方案的核心,而且是复杂数字系统设计的核心18。4 系统设计方案的研究4.1系统功能需求分析本系统主要集中在以FPGA以核心外围扩展设计,整个电路主要电子锁具的组成框图是以可编程逻辑器件(FPGA)为核心,配以相应硬件电路,完成密码的设置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值,报警等功能。 FPGA接收键入的代码,并与存贮在闪存中的密码进行比较,如果密码

39、正确,则驱动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码,最多可输入三次;如果三次都不正确,则通过FPGA产生报警,FPGA将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给监控器,同时将接收来自接口的报警信息也发送给监控器。4.2 系统实现方案的论证比较方案一 :采样台湾凌阳科技有限公司推出的以凌阳自主研发的SPCE061A芯片为主控芯片,用一条下载线连接到计算机就可以实现在线仿真、在线调试、在线下载,低廉的价格保证了系统可靠开发;此外,61板具有SOC概念、DSP功能和语音特色,为电子密码锁的语音报警提供了方便,但是基于单片机设计的密码锁外围电路比较复杂,系统可靠性

40、差,密码的数量少,尤其是系统的程序不够稳定,功率较大,需要专门的电源供电,所以不采用这个方案。 方案二:设计一种基于FPGA的电子密码锁的设计,用FPGA设计的系统已经是现代生活中经常用到的工具之一,通过键盘输入密码,用FPGA作为主控芯片,用数码管显示输入的数字,如果出现错误便通过报警电路发出报警,主控芯片又可分为按键处理部分、控制部分和译码显示部分用电子密码锁代替传统的机械式密码锁。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展。而且系统设计完善以后还可以将主控的FPGA固化成一片ASIC,那么这块ASIC就可以作为专用的数字密码锁芯片。方案的论证

41、比较 在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差,而基于FPGA设计的电子密码锁克服了基于单片机设计密码锁的缺点。基于上述比较以上两种方案,根据系统设计要求,采用方案二。4.3系统方案的总体设计4.3.1 系统原理框图 本系统由主控芯片(FPGA)、键盘、显示电路、报警电路和开/关门电路组成,而主控芯片又可分为按键处理部分、控制部分和译码显示部分。系统原理框图如图4.1所示:FPGA主控部分译码显示按键处理键盘显示开/关门电路报警电路图4.1 系统框图4.3.2总体设计原理 实现系统大量逻辑电路的集成,在设计中使用了现场可编程逻辑门阵列器件(FPGA)。FPGA主要实现以下逻辑功能

42、:键盘处理、数码显示、设置密码、解码开门以及报警等控制功能。 本系统有13个按键,包括09共10个数字键和1个确认键,1个警报复位键,1个清0键。输入正确密码后,按确认键即可开门,在门开的状态下,第一次输入新密码后再确认密码可设置密码,输入的密码在八位数码管上显示,最后输入的数字显示在最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的零不用输入,因此密码可以为18位。初始密码为0,即上电后,按确认键即可开门。门开后可通过锁门按钮关门,门关上后要再次输入密码才能开门。在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出报警声,当连续三次出现密码错误时,则系统会长时间报警

43、不止,这时必须按警报复位键方可停止。5 系统硬件设计5.1 系统的硬件模块实现 整个电子密码锁系统可划分为键盘扫描、获取键值、数码显示、设置密码和解码开门等五个子模块。通过FPGA的处理,从而实现基于FPGA的电子密码锁的设计,系统实现框图如图5.1所示。5.2 基于FPGA的设计5.2.1 主控芯片EPF10K10LC84-4的介绍 FPGA器件选择Altera公司FLEX10K10系列的EPF10K10LC84-4芯片。FLEX10K器件是工业界第一个嵌入式的PLD(可编程逻辑器件),由于其具有高密度、低成本、低功率等特点,成为当今Altera PLD中应用广泛的器件系列19。FLEX10

44、K器件主要由EAB(嵌入式阵列块)、LAB(逻辑阵列块)、快速通道线和I/O单元4部分组成。设计输入(图形或VHDL(甚高速集成电路硬件描述语言)等)经过编译后产生的数据格式(网表),大多配置到LAB中。在很多时候,为了提高设计效率、减少LAB的占用等,希望将设计配置到EAB中。要将设计配置到EAB中是一个较为复杂的过程,在这个过程中必须遵守一定的规则,同时,又要对设计的状态、输入、输出20。 该芯片集成有1万个等效逻辑门,含有572个逻辑单元(LEs)、72个逻辑阵列块(LABs)、3个嵌入式阵列块(EAB s),并具有720个片内寄存器,可以在不占用内部资源的条件下实现6144 bit的片

45、内存储器;内部模块间采用高速、延时可预测的快速通道连接;逻辑单元间具有高速、高扇出的级联链和快速进位链;片内还有三态网络和6个全局时钟、4个全局清零信号以及丰富的I/O资源;每个I/O引脚可以选择为三态控制或集电极开路输出,可以通过编程控制每个I/O引脚的速度以及I/O寄存器的使用21。5.2.2 FPGA逻辑功能结构及开发 FPGA芯片FLEX10K在工作期间,将配置数据保存在SRAM中,而SRAM数据是易丢失的。SRAM单元必须在器件加电后装入配置数据,且配置完成后,它的存储器和I/O引脚必须被初化。初始化后,器件进入用户模式,开始系统运行。对于FLEX10K系列器件,Altera公司提供

46、了4种配置方案:EPC1(或EPC1441)EPPOM方式配置法、被动串行法、被动并行同步法、被动并行异步法。对器件进行配置时,我们先用被动串行法(passive serial)。这种方式是通过下载电缆对器件进行配置的,适合于调试阶段。当整个系统设计完成后,利用EPPOM方式对器件进行配置。这样固化在EPROM中的数据将在系统上电时对FPGA芯片配置,其中EPROM芯片选用EPC144122。 FPGA使用的开发软件为MAX+PLUS II。该软件是ALTERA公司开发的一个集设计输入、编译、仿真和编程为一体的超级集成环境;提供了自动逻辑综合工具,可以在多个逻辑层次上对高级设计描述进行综合、优

47、化,大大缩短了编译时间,加速了FPGA设计开发进程23。MAX+PLUS II支持各种HDL输入选项,包括VHDL、Verilog HDL和ALTERA的硬件描述语言AHDL;提供丰富的库单元供设计者调用,其中包括74个系列的全部器件和多种特殊的逻辑宏单元(macrofunction),以及新型的参数化的巨单元(magafunction)。FPGA设计经过4个基本阶段:设计输入、设计编译、设计验证和器件编程。首先,根据系统的逻辑功能生成顶层结构图。然后,分成几个小模块进行下一级设计。由此由上而下分析其逻辑功能,从底层进行设计编译,每一级都进行波形验证。当最后顶层模块的逻辑功能在波形仿真中满足系统时序要求时,才可进行器件编程24。 5.3 键盘控制电路结构与原理按键方式分为独立式和行列式两种,本设计采用行列式按键结构,是44键盘,本设计中只用了

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号