版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 ordin
3、ary 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 the software approach
4、. 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 the system features
5、: 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 times if not correct, t
6、he 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 constantly refined and imp
7、roved, in particular the expansion of the system have a good design and practical value. Key words: FPGA , VHDL, electronic password lock , speaker目目录录摘要 .IABSTRACT .II目录 .III1 绪言.11.1 课题背景.11.2 课题研究的目的和意义.11.3 国内外概况.21.4 课题的主要研究工作.32FPGA 的相关介绍.42.1 可编程逻辑器件.42.2FPGA 的简介.42.3FPGA 的应用特点.52.4FPGA 的应用前景
8、.63 基于 FPGA 设计的硬件描述语言 VHDL .83.1VHDL 语言简介.8 .83.3VHDL 语言的优点.8 VHDL 语言的基本结构.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 键盘控制电路结构与原理.
9、145.4LED 显示器结构与原理.155.5 报警电路.176 系统的软件设计.186.1 系统主控制流程框图.186.2 键盘扫描程序框图.196.3 获取键值程序框图.206.4 解码、报警模块.217 系统的原理实现.227.1 系统的层次化设计.227.2 顶层图形设计.227.3 系统仿真演示结果.23总结与展望 .24致谢 .25参考文献 .26附录 .281 绪言绪言系统以利用可编程器件实现电子密码锁的设计为研究背景、现状以及发展方向,明确指出了电子密码锁面临的问题和所解决的方法。基于FPGA的电子密码锁是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它
10、涉及电子,机械,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施,适用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂、家庭等。 在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统1。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。在该系统的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。 目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件,
11、 其编码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差2。基于 FPGA 的电子密码锁已经是现代生活中经常用到的工具之一,用于各类保险柜、房门、防盗门等等。用电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展,而且系统设计完善以后还可以将主控的 FPGA 固化成一片 ASIC,那么这块 ASIC 就可以作为专用的数字密码锁芯片。而且由于硬件可升级,还可随时增加密码位数或增加新的功能,使得密码锁有更高的安全性、可靠性和方便性3。1.2 课题研究
12、的目的和意义课题研究的目的和意义电子杂志、报刊经常刊登有密码开关、密码锁这样的电路,大多数是使用常用的数字电路,如 CD4017,然后通过不同的连接方式实现密码控制功能。这种电路的特点就是密码修改只能通过改变电路的连接来实现,密码很容易被破解,电路复杂,故障率高。本制作是针对这些电路而设计的,将以往的以单片机实现设计改为可编程器件 FPGA 利用 VHDL 编程实现电子密码锁的设计。这种设计移动方便。基于 FPGA 的电子密码锁具有保密强、灵活性高、适用范围广等特点,它在键盘上输入,与打 差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘
13、记) ,难以被窃(除非自己泄露) 。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,本设计采用“任意设定数字密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新,在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出 5 秒报警声,当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按复位方可停止。本设计的 FPGA 电子密码锁的特点是:体积小、功耗低、价格便宜、安全可靠,维护和升级都十分方便
14、,具有较好的应用前景。它与传统锁具的不同之处在于:它与可编程逻辑器件实现系统的设计,应用简洁清晰的 VHDL 语言实现设计编程思想,能够实现适时、智能控制管理功能,特别是在系统的扩展上有很好的优势。1.3 国内外概况国内外概况随着我国对外开放的不断深入,高档建筑发展很快,高档密码锁具市场的前景乐观。我国密码锁具行业对密码锁具高新技术的投入正逐年增大,高档密码锁的市场需求也逐年增加4。在安防工程中,锁具产品是关系到整个系统安全性的重要设备,所以锁具产品的优劣也关系了整个安防工程的质量和验收。目前,市场上比较先进的智能电子密码锁分别有:IC 卡电子密码锁、射频卡式电子密码锁、红外遥控电子密码锁、指
15、纹识别电子密码锁和瞳孔识别电子密码锁等。IC 卡电子密码锁成本低,体积小,卡片本身无须电源等优点占领了一定的市场份额,但是由于有机械接触,会产生接触磨损,而且使用不太方便,在一定程度上限制了它的应用;射频卡式电子密码锁是非接触式电子密码锁,成本也不太高,体积跟 IC 卡密码锁相当,卡片使用感应电源,重量很轻,技术成熟,受到了广泛的欢迎,但是与 IC 卡电子密码锁相比,成本偏高;指纹识别电子密码锁和瞳孔识别电子密码锁可靠性很高,安全性是目前应用系统中最高的,但是成本高昂,还没进入大众化使用阶段5。在国外,美国、日本、德国的电子密码锁保密性较好,并结合感应卡技术,生物识别技术,使电子密码锁系统得到
16、了飞跃式的发展。这几个国家的密码锁识别的密码更复杂,并且综合性比较好,已经进入了成熟期,出现了感应卡式密码锁,指纹式密码锁,虹膜密码锁,面部识别密码锁,序列混乱的键盘密码锁等各种技术的系统,它们在安全性,方便性,易管理性等方面都各有特长,新型的电子密码锁系统的应用也越来越广6。课题的主要研究工作课题的主要研究工作课题主要解决系统硬件和软件两方面的问题。硬件方面要解决 FPGA 可编程器件与其外围电路的接口设计的问题;软件方面主要问题是利用 VHDL 语言完成基于 FPGA 的电子密码锁的编程问题。除此之外,程序还要完成基本的密码开锁功能,并通过扬声器长时间鸣叫报警。本设计是由 FPGA 可编程
17、逻辑器件编程实现的控制电路,具体有按键指示、输入错误提示、密码有效指示、控制开锁、控制报警等功能。它具有安全可靠、连接方便、简单易用、结构紧凑、系统可扩展性好等特点。2 FPGA 的相关介绍的相关介绍2.1 可编程逻辑器件可编程逻辑器件 在数字电子系统领域,存在三种基本的器件类型:存储器、微处理器和逻辑器件。存储器用来存储随机信息,如数据表或数据库的内容。微处理器执行软件指令来完成范围广泛的任务,如运行字处理程序或视频游戏。逻辑器件提供特定的功能,包括器件与器件间的接口、数据通信、信号处理、数据显示、定时和控制操作、以及系统运行所需要的所有其它功能7。 逻辑器件可分为两大类,即固定逻辑器件和可
18、编程逻辑器件。正如其命名一样,固定逻辑器件中的电路是永久性的,它们完成一种或一组功能,一旦制造完成,就无法改变。另一方面,可编程逻辑器件(PLD)是能够为客户提供范围广泛的多种逻辑容量、特性、速度和电压参数的标准成品部件 而且此类器件可在任何时间改变,从而完成许多种不同的功能8。 对于固定逻辑器件,根据器件复杂性不同,从设计、原型到最终生产所需要的时间可从数月至一年多不等。而且,如果器件工作不合适,或者如果应用要求发生了变化,那么就必须开发全新的设计。设计和验证固定逻辑的前期工作需要大量的NRE成本。NRE代表在固定逻辑器件最终从芯片制造厂制造出来以前客户需要投入的所有成本,这些成本包括工程资
19、源、昂贵的软件设计工具、用来制造芯片不同金属层的昂贵光刻掩膜组以及初始原型器件的生产成本。这些NRE成本可能从数十万美元至数百万美元。 对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计。然后,可快速将设计编程到器件中,并立即在实际运行的电路中对设计进行测试。原型中使用的PLD器件与正式生产最终设备(如网络路由器、DSL调制解调器、DVD播放器、或汽车导航系统)时所使用的PLD完全相同。这样就没有了NRE成本,最终的设计也比采用定制固定逻辑器件时完成得更快。 采用PLD的另一个关键优点是在设计阶段中客户可根据需要修改电路,直到对设计工作感到满意为止。这是因为PLD基
20、于可重写的存储器技术要改变设计,只需要简单地对器件进行重新编程。一旦设计完成,客户可立即投入生产,只需要利用最终软件设计文件简单地编程所需要数量的PLD就可以了。 2.2 FPGA 的简介的简介 FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门阵列,它是在 PAL、GAL、EPLD 等可编程器件的基础上进一步发展的产物9。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA 采用了逻辑单元阵列 LCA(Logic Cell Array)这样一个新概念,内部包
21、括可配置逻辑模块 CLB(Configurable Logic Block) 、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA 的基本特点主要有:1)采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的芯片。 2)FPGA 可做其它全定制或半定制 ASIC 电路的中试样片。3)FPGA 内部有丰富的触发器和 IO 引脚。4)FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA 采用高速 CHMOS 工艺,功耗低,可以与 CMOS、TTL 电平兼容。可以说,FPGA 芯片
22、是小批量系统提高系统集成度、可靠性的最佳选择之一。目前 FPGA 的品种很多,有 XILINX 的 XC 系列、TI 公司的 TPC 系列、ALTERA公司的 FIEX 系列等。FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的,因此,工作时需要对片内的 RAM 进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中,配置完成后,FPGA进入工作状态。掉电后,FPGA 恢复成白片,内部逻辑关系消失,因此,FPGA 能够反复使用。FPGA 的编程无须专用的 FPGA 编程器,只须用通用的 EPROM、PROM 编程
23、器即可。当需要修改 FPGA 功能时,只需换一片 EPROM 即可。这样,同一片 FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA 的使用非常灵活。FPGA 有多种配置模式:并行主模式为一片 FPGA 加一片 EPROM 的方式;主从模式可以支持一片 PROM 编程多片 FPGA;串行模式可以采用串行 PROM 编程 FPGA;外设模式可以将 FPGA 作为微处理器的外设,由微处理器对其编程10。2.3 FPGA 的应用特点的应用特点 随着电子技术的飞速发展, 基于FPGA的设计向高集成度高速度和低价位方向不断迈进 其应用领域不断扩大这主要是由于FPGA以下技术特点的不断发展1
24、1。(1)集成度越来越高 如Lattice的ispLSI或AMD的MACH芯片等效逻辑门已达10 万门以上 Altera 的10K 系列也在25 万门以上具有1 万个以上的寄存器 40 kbit 嵌人式存储器 使得集成复杂信号处理算法成为可能 Raphael系列已达到100 万门以上集中了 FLEX10KFLEX6000 MAX7000的所有优点可进行单片设计Xilinx推出了上百万门的FPGA,它们可实现几乎任何形式的数字电路或数字系统的设计 FPGA在系统中直接应用率正直逼ASIC的开发2.2 在系统编程(ISP)/在线路重配置(ICR)技术。 FPGA 越来越多地采用了先进的 JTAG
25、ISP和ICR 技术。这种先进的编程方式已成为当今世界上各类可编程器件发展的趋势在 5V 工作电平下可随时对正在工作的系统上的 CPLD/FPGA 进行全部或部分地在系统编程 并可进行芯片内部资源的重新分配同时进行所谓菊花链式多芯片串行编程 其编程次数多达1万次 如Lattice 的ispLSI AMD的MACH以及Xilinx的XC9000系列 对于SRAM结构的FPGA其下载编程次数几乎没有限制 如Altera的FLEX10K系列 这种编程方式可轻易地实现红外编程 超声编程或无线编程 或通过 线远程在线编程 这些功能在工控 智能仪器表 通讯和军事上有特殊用途。(2) 嵌入式存贮技术 在 C
26、PLD/FPGA 内部嵌人一定数量的存贮器 存贮器类型有双口SRAM ROM FIFO 可用于存贮信号处理的系数 中间结果等 这对设计电子系统的智能化功能提供了技术支持(3)时钟锁定和倍频技术 Altera 的 10K 系列采用了时钟锁定和倍频技术解决了时钟脉冲延迟和偏斜问题并使PLD 内部时钟更高 单个16 bit 乘法器速度可达100 MHz 以上 这正是大带宽高速实时信号的需要 CPLD/FPGA的时钟延迟可达纳秒级 结合其并行工作方式 在超高速应用领域和实时测控方面有非常广阔的应用前景。(4)电子设计自动化 EDA 工具 EDA工具使得用户对设计的输入综合仿真非常方便 Altera的M
27、ax+PlusII给用户提供了丰富的宏库和LPM(参数模块库Library of Parameterized Modules)EDA 环境由 Unix/Windows 共存开发环境转换 事实上 通过符合国际标准的硬件描述语言 如 VHDL 或VERILOG HDL 来进行电子系统设计和产品开发由于开发工具的通用性 设计语言的标准化以及设计过程几乎与所用的 CPLD/FPGA 器件的硬件结构没有关系 所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性它几乎可用于任何型号的CPLD/FPGA中 从而使得片上系统的产品设计效率大幅度提高,使其用更为广泛和方便。(5)开发周期短 由于FPGAN
28、内部资源丰厚及功能强大以及相应的EDA软件功能完善和强大仿真能力便捷而实时开发过程形象而直观兼之硬件因素涉及甚少,一些EDA专家指出未来的大系统FPGA设计仅是各类再应用逻辑与 IP 核 CORE 的拼装 TI 公司认为 一个ASIC 80 功能可用IP 核等现成逻辑合成 因此可在很短的时间内完成十分复杂的系统设计。2.4 FPGA 的应用前景的应用前景 在数字化的道路上,电子设计技术经历了并将继续经历许多重大的变革,从应用小规模集成电路 SSI 芯片构成电路系统,到广泛应用微控制器或单片机 MCU 在电子系统设计上发生了具有里程碑意义的飞跃 这一飞跃不但克服了 SSI 数字系统许多缺陷和设计
29、困难 同时也为电子技术的应用开阔了更广泛的前景 ,随着社会经济的发展和技术进步及电子技术的迅猛发展 ,电子设计技术面临另一次更大意义的,即 FPGA 复杂可编程逻辑器件 FieldProgrammable Gate Array-FPGA/现场可编程门阵列 Complex Programmable logic Device-CPLD 在 EDA 电子设计自动化 基础上的广泛应用. 从本质上说, 新的电子系统运转的物理机制又归回到原来的纯数字电路结构,但在更高层次上容纳了过去数字技术的优秀部分,扬弃了 MCU系统的应用模式,却包括了 MCU 的内部资源,使电子设计的技术操作和系统构成的整体发生质的
30、飞跃,是一种更高层次的循环 ,如果说 MCU 在逻辑的实现上是无限的话,那么 CPLD/FPGA 不但包括了 MCU 这一特点 且可触及硅片电路线度的物理极限 并兼有串并行工作方式 高速 高可靠性以及宽口径实用性等多方面的特点,不仅如此,随着 EDA 技术的发展和 FPGA 在深亚微米领域的进军。它们与 MCU MPU DSP A/D D/A RAM 和 ROM 等独立器件间的物理与功能界限已日趋模糊 特别是软/硬 IP 芯核 Intelligence Property 产业的迅猛发展 嵌人式通用及标准 FPGA 器件很快就会出现片上系统 SOC 也已近在咫尺 CPLD/FPGA 以其不可替代
31、的地位及伴随而来的极具知识经济特征的 IP 芯核产业的崛起 正越来越受到电子技术工程师的密切关注 EDA 打破了软硬件之间最后的屏障 使软硬件工程师们有了真正的共同语言 使目前一切仍处于计算机辅助性设计 CAD 和规划的电子设计活动产生了实在的设计实体 电子设计专家指出 基于 EDA 的 CPLD/FPGA 的应用和技术推广是我国未来电子设计技术发展的主流 而基于 EDA 的 IP 芯核产业的推动应是我国在新世纪知识经济发展的重要切入点之一12。 无论怎样的问题和障碍,FPGA 的应用热潮正逐步形成随着 FPGA 集成水平的进一步提高芯核产业的进一步扩大,可以相信用不了多久大部分的电子设计领域
32、 MCU 、MPU、 DSP 或 AD/A 和 RAM 等必将以各种软硬核的形式 FPGA 实现真正的单片系统。3 基于基于 FPGA 设计的硬件描述语言设计的硬件描述语言 VHDL3.1 VHDL 语言简介语言简介 目前数字系统的设计可以直接面向用户需求 ,根据系统的行为和功能要求 ,自上而下地逐层完成相应的描述、综合、优化、仿真与验证 ,直到生成器件 ,实现电子设计自动化。其中电子设计自动化 EDA (即 Electronic Design Automation)的关键技术之一就是可以用硬件描述语言(HDL)来描述硬件电路。VHDL(VHSIC Hardware Description L
33、anguage)是用来描述从抽象到具体级别硬件的工业标准语言 ,它是由美国国防部在 20 世纪 80 年代开发的 HDL ,现在已成为 IEEE 承认的标准硬件描述语言。VHDL 支持硬件的设计、验证、综合和测试 ,以及硬件设计数据的交换、维护、修改和硬件的实现 ,具有描述能力强、生命周期长、支持大规模设计的分解和已有设计的再利用等优点13。 VHDL 主要用于描述数字系统的结构、行为和功能 ,其程序结构特点是将一个电路模块或一个系统分成端口和内部功能算法实现两部分。对于一个电路模块或者数字系统而言 ,定义了外部端口后 ,一旦内部功能算法完成后 ,其他系统可以直接依据外部端口调用该电路模块或数
34、字系统 ,而不必知道其内部结构和算法。VHDL 的特点使得电子系统新的设计方法“自顶向下”设计方法更加容易实现14。可以先对整个系统进行方案设计 ,按功能划分成若干单元模块 ,然后对每个单元模块进一步细分 ,直到简单实现的单元电路。3.2 VHDL 语言的特点语言的特点 VHDL 语言主要用于描述数字系统的结构、行为、功能和接口,其具有以下特点: (1)作为 HDL 的第一个国际标准,VHDL 具有很强的可移植性; (2)具有丰富的模拟仿真语句和库函数; (3)VHDL 有良好的可读性,接近高级语言,容易理解; (4)系统设计与硬件结构无关; (5)支持模块化设计; (6)用 VHDL 完成的
35、一个确定设计,可以利用 EDA 工具自动地把 VHDL 描述转变成门电路级网表文件。3.3 VHDL 语言的优点语言的优点 与其他硬件描述语言相比,VHDL 语言有如下优越之处15: (1)VHDL 语言支持自上而下(TopDown)和基于库(LibraryBase)的设计方法,还支持同步电路、异步电路、FPGA 以及其他随机电路的设计; (2)VHDL 语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路,其高层次的行为描述可以与低层次的 RTL 描述和结构描述混合使用,还可以自定义数据类型,给编程人员带来较大的自由和方便; (3)VHDL 对设计的描述具有相对独立性,设计
36、者可以不懂硬件的结构,也不必关心最终设计实现的目标器件是什么; (4)VHDL 具有电路仿真与验证功能,可以保证设计的正确性,用户甚至不必编写如何测试相量便可以进行源代码级的调试,而且设计者可以非常方便地比较各种方案之间的可行性及其优劣,不需做任何实际的电路实验; (5)VHDL 语言可以与工艺无关编程; (6)VHDL 语言标准、规范,易于共享和复用。 VHDL 语言的基本结构语言的基本结构 VHDL 有五大元素组成,即实体、结构体、配置、程序包和库16。具体说明如下:(1)实体(ENTITY)程序是设计的基本模块和初级单元,在分层设计中,顶层有顶层实体,含在顶层实体中的较低层的描述为底层实
37、体.配置把顶层实体和底层实体连接起来.实体说明语句仅对本实体与外部电路接口进行描述.(2)结构体(ARCHITECTURE) 结构体也叫构造体,描述了实体的结构、行为、元件及内部连接关系,也就是说它定义了设计实体的功能,规定了设计实体的数据流程,制定了实体内部元件的连接关系。(3)配置(CONFIGURATION) 配制用于将元件实例与实体-结构成对绑定,决定了哪个结构体于实体关联。(4)程序包(PACKAGE)程序包是经常使用的数据类型和子程序的集合,可以认为是 VHDL 的工具箱,主要对程序包中的常量、数据类型和子程序进行格式描述,类似于 C 语言中的头文件。(5)库(LIBRARY)库具
38、体对程序包声明的数据类型和子程序进行功能说明。3.5 VHDL 语言的应用语言的应用硬件描述语言已成为当今以及未来电子设计自动化(EDA)解决方案的核心,特别是对于深亚微米复杂数字系统的设计,硬件描述语言具有独特的作用。VHDL在数字电子电路的设计中具有硬件描述能力强、设计方法灵活等优点17。利用硬件描述语言 VHDL,数字电路系统可从系统行为级、寄存器传输级和门级三个不同层次进行设计,即上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转
39、换到门级电路网表。接着,再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布局布线工具,把网表转换为要实现的具体电路布线结构。目前,这种高层次设计(highleveldesign)的方法已被广泛采用。据统计,目前在美国硅谷约有 90%以上的 ASIC 和 FPGA 采用硬件描述语言进行设计。VHDL 的应用已成为当今以及未来 EDA 解决方案的核心,而且是复杂数字系统设计的核心18。4 系统设计方案的研究系统设计方案的研究本系统主要集中在以 FPGA 以核心外围扩展设计,整个电路主要电子锁具的组成框图是以可编程逻辑器件(FPGA)为核心,配以相应硬件电路,完成密码的设置、存贮、识别
40、和显示、驱动电磁执行器并检测其驱动电流值,报警等功能。 FPGA 接收键入的代码,并与存贮在闪存中的密码进行比较,如果密码正确,则驱动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码,最多可输入三次;如果三次都不正确,则通过 FPGA 产生报警,FPGA 将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给监控器,同时将接收来自接口的报警信息也发送给监控器。4.2 系统实现方案的论证比较系统实现方案的论证比较方案一方案一 :采样台湾凌阳科技推出的以凌阳自主研发的 SPCE061A 芯片为主控芯片,用一条下载线连接到计算机就可以实现在线仿真、在线调试、在线下载,低廉的价格保证了
41、系统可靠开发;此外,61 板具有 SOC 概念、DSP 功能和语音特色,为电子密码锁的语音报警提供了方便,但是基于单片机设计的密码锁外围电路比较复杂,系统可靠性差,密码的数量少,尤其是系统的程序不够稳定,功率较大,需要专门的电源供电,所以不采用这个方案。 方案二方案二:设计一种基于 FPGA 的电子密码锁的设计,用 FPGA 设计的系统已经是现代生活中经常用到的工具之一,通过键盘输入密码,用 FPGA 作为主控芯片,用数码管显示输入的数字,如果出现错误便通过报警电路发出报警,主控芯片又可分为按键处理部分、控制部分和译码显示部分用电子密码锁代替传统的机械式密码锁。由于采用的是可编程逻辑器件 FP
42、GA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展。而且系统设计完善以后还可以将主控的 FPGA 固化成一片 ASIC,那么这块 ASIC 就可以作为专用的数字密码锁芯片。方案的论证比较方案的论证比较 在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差,而基于 FPGA 设计的电子密码锁克服了基于单片机设计密码锁的缺点。基于上述比较以上两种方案,根据系统设计要求,采用方案二。 系统原理框图系统原理框图 本系统由主控芯片(FPGA) 、键盘、显示电路、报警电路和开/关门电路组成,而主控芯片又可分为按键处理部分、控制部分和译码显示部分。系统原理框图如图 4.1 所示:总体设计原理总体设
43、计原理 实现系统大量逻辑电路的集成,在设计中使用了现场可编程逻辑门阵列器件(FPGA)。FPGA 主要实现以下逻辑功能:键盘处理、数码显示、设置密码、解码开门以及报警等控制功能。 本系统有 13 个按键,包括 09 共 10 个数字键和 1 个确认键,1 个警报复位键,1 个清 0 键。输入正确密码后,按确认键即可开门,在门开的状态下,第一次输入新密码后再确认密码可设置密码,输入的密码在八位数码管上显示,最后输入的数字显示在最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的零不用输入,因此密码可以为 18 位。初始密码为 0,即上电后,按确认键即可开门。门开后可通过锁门按钮关门,门关
44、上后要再次输入密码才能开门。在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出报警声,当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按警报复位键方可停止。FPGA主控部分译码显示按键处理键盘显示开/关门电路报警电路图 4.1 系统框图5 系统硬件设计系统硬件设计5.1 系统的硬件模块实现系统的硬件模块实现 整个电子密码锁系统可划分为键盘扫描、获取键值、数码显示、设置密码和解码开门等五个子模块。通过 FPGA 的处理,从而实现基于 FPGA 的电子密码锁的设计,系统实现框图如图所示。5.2 基于基于 FPGA 的设计的设计 主控芯片主控芯片 EPF10K10LC84
45、-4 的介绍的介绍 FPGA 器件选择 Altera 公司 FLEX10K10 系列的 EPF10K10LC84-4 芯片。FLEX10K 器件是工业界第一个嵌入式的 PLD(可编程逻辑器件),由于其具有高密度、低成本、低功率等特点,成为当今 Altera PLD 中应用广泛的器件系列19。FLEX10K器件主要由 EAB(嵌入式阵列块)、LAB(逻辑阵列块)、快速通道线和 I/O 单元 4 部分组成。设计输入(图形或 VHDL(甚高速集成电路硬件描述语言)等)经过编译后产生的数据格式(网表),大多配置到 LAB 中。在很多时候,为了提高设计效率、减少LAB 的占用等,希望将设计配置到 EAB
46、 中。要将设计配置到 EAB 中是一个较为复杂的过程,在这个过程中必须遵守一定的规则,同时,又要对设计的状态、输入、输出20。 该芯片集成有 1 万个等效逻辑门,含有 572 个逻辑单元(LEs)、72 个逻辑阵列块(LABs)、3 个嵌入式阵列块(EAB s),并具有 720 个片内寄存器,可以在不占用内部资源的条件下实现 6144 bit 的片内存储器;内部模块间采用高速、延时可预测的快速通道连接;逻辑单元间具有高速、高扇出的级联链和快速进位链;片内还有三态网络和 6 个全局时钟、4 个全局清零信号以及丰富的 I/O 资源;每个I/O 引脚可以选择为三态控制或集电极开路输出,可以通过编程控
47、制每个 I/O 引脚的速度以及 I/O 寄存器的使用21。 FPGA 逻辑功能结构及开发逻辑功能结构及开发 FPGA 芯片 FLEX10K 在工作期间,将配置数据保存在 SRAM 中,而 SRAM数据是易丢失的。SRAM 单元必须在器件加电后装入配置数据,且配置完成后,它的存储器和 I/O 引脚必须被初化。初始化后,器件进入用户模式,开始系统运行。对于 FLEX10K 系列器件,Altera 公司提供了 4 种配置方案:EPC1(或 EPC1441)EPPOM 方式配置法、被动串行法、被动并行同步法、被动并行异步法。对器件进行配置时,我们先用被动串行法(passive serial)。这种方式
48、是通过下载电缆对器件进行配置的,适合于调试阶段。当整个系统设计完成后,利用 EPPOM 方式对器件进行配置。这样固化在 EPROM 中的数据将在系统上电时对 FPGA 芯片配置,其中 EPROM 芯片选用 EPC144122。 FPGA 使用的开发软件为 MAX+PLUS II。该软件是 ALTERA 公司开发的一个集设计输入、编译、仿真和编程为一体的超级集成环境;提供了自动逻辑综合工具,可以在多个逻辑层次上对高级设计描述进行综合、优化,大大缩短了编译时间,加速了 FPGA 设计开发进程23。MAX+PLUS II 支持各种 HDL 输入选项,包括 VHDL、Verilog HDL 和 ALT
49、ERA 的硬件描述语言 AHDL;提供丰富的库单元供设计者调用,其中包括 74 个系列的全部器件和多种特殊的逻辑宏单元(macrofunction),以及新型的参数化的巨单元(magafunction)。FPGA 设计经过 4 个基本阶段:设计输入、设计编译、设计验证和器件编程。首先,根据系统的逻辑功能生成顶层结构图。然后,分成几个小模块进行下一级设计。由此由上而下分析其逻辑功能,从底层进行设计编译,每一级都进行波形验证。当最后顶层模块的逻辑功能在波形仿真中满足系统时序要求时,才可进行器件编程24。 5.3 键盘控制电路结构与原理键盘控制电路结构与原理按键方式分为独立式和行列式两种,本设计采用
50、行列式按键结构,是 44 键盘,本设计中只用了其中的 11 个按键。行列式按键是指直接用 I/O 口线通过动态扫描构成的按键电路。每个按键通过动态扫描需要八根 I/O 口线,每根 I/O 口线上的按键工作状态不会影响其他 I/O 口线的工作状态。它的电路配置灵活,软件结构简单,占用的 I/O 资源少。首先固定输出 4 行为高电平(接到电源),然后输出 4 列为低电平,在读入输出的 4 行的值,通常高电平会被低电平拉低,如果读入的 4 行均为高电平,那么肯定没有按键按下,否则,如果读入的 4 行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。同理,获取列值也是如此,
51、先输出 4 列为高电平,然后在输出 4 行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。 获取到行值和列值以后,组合成一个 8 位的数据,根据实现不同的编码在对每个按键进行匹配,找到键值后在 7 段码管显示。按键控制电路如图 5.2 所示:图 5.2 44 键盘结构原理图5.4 LED 显示器结构与原理显示器结构与原理 LED 显示块是由发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是 7 段 LED。这种显示块共有共阴极与共阳极两种,本设计将采用共阳极。共阳极 LED 显示块的发光二极管与阳极并接25。数码管显示块中共有 8 个发光二极管,其中
52、7 个发光二极管构成七笔字形“8” ,1 个发光二极管构成小数点。7 段显示块与 FPGA 接口非常容易。只要将一个 8 位并行输出与显示块的发光二极管引脚相连即可。8 位并行输出口输出不同的字节数据即可获得不同的数字或字符,如表所示。通常将控制发光二极管的 8 位字节数据称为段选码。共阳极与共阴极的段选码互为补数。表 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
53、 71H 8EH 5 6DH 92H P 73H 8CH 6 7DH 82H U 3EH C1H 7 07H F8H L 31H CEH 8 7FH 80H Y 6EH 91H 9 6FH 90H A 77H 88H5.5 报警电路报警电路图 5.3 报警电路6 系统的软件设计系统的软件设计 当用户输入密码后,按确认键即可开门,在门开的状态下,输入新密码,再按确认键可设置密码,输入的密码在八位数码管上显示,最后输入的数字显示在最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的零不用输入,因此密码可以为 18 位。初始密码为 0,即上电后,按确认键即可开门。 本系统控制流程如图 6.1
54、 所示: 否否否否否是是是是是开始键盘输入是数字键?门已开?输入一位密码开门存入新密码,清显示密码正确?不正确次数达到三?不正确次数加一报警有锁门信号?清显示,关门图 6.1 系统控制图程6.2 键盘扫描程序框图键盘扫描程序框图开始时钟上升沿触发?列为高电平?逐列扫描图 6.2 键盘扫描程序框图6.3 获取键值程序框图获取键值程序框图 开始时钟上升沿?按键按下?判断行和列输出左移清0?右移清零图 6.3 键值程序框图6.4 解码、报警模块解码、报警模块开始门已开?输入密码后确认密码正确?开门,不响警报计数器+1,仍关门不正确次数大于 3?复位?计数器清 0,警报停止报警图 6.4 解码报警模块
55、7 7 系统的原理系统的原理实现实现7.7.1 系统的层次化设计系统的层次化设计 基于 FPGA 的数字系统的层次化设计,一般都要经过 4 个阶段: 设计输入、编译、仿真验证、下载器件。本设计采用的是自下而上的设计方法 , 逐层完成相应的描述、编译、仿真与验证 , 即先建立一些低层次的设计 , 再将它们组合在一起 , 最后形成一个单一的顶层设计文件。一般的 VHDL 综合工具都有多种输入方式 ,主要有: 各种文本输入、原理图输入和波形输入。对于不同层次的模块, 应采用不同的输入方式进行描述。由于 VHDL 擅长描述模块的逻辑功能 , 而原理图擅长描述硬件连接关系,所以在底层设计中,对底层所有模
56、块使用 VHDL 语言进行描述,在顶层设计中,使用原理图输入方法。当各个模块分别编译成功后 ,则创建一个个元件符号。再用图形编辑器将各元件模块组装起来 ,这就是本设计中最顶层的图形设计文件。本设计在 Quartus环境下的顶层图形设计文件如图 7.1 所示。图 7.1 顶层图形 原理图输入完成后还要选定器件,锁定引脚,然后就可以进行综合了。如果综合没有错误的话就可以对芯片进行配置了,配置完成后 FPGA 芯片就成了一片密码锁芯片。再与其它的电路相连就构成一个完整的数字密码锁。7.3 系统仿真演示结果系统仿真演示结果图 7.2 系统仿真演示结果总结与展望总结与展望本系统的整个设计期间,在指导老师
57、的教育下和同学的帮助下,经过自己的努力,我接触到了很多不同的问题,也遇到了很多困难,努力运用不同的方案去解决问题,获得了一些有价值的心得体会: 在基于 FPGA 的系统设计中,不同电路系统的设计往往采用自顶向下的设计方法,亦即将一个大的系统分解成单元电路。这样做的好处是可以先调试各个单元电路,在每个单元电路设计完成后 ,采用专门的仿真工具进行功能仿真,确定每个单元电路都没有问题后再连接顶层图形文件,这样整个系统的调试就轻松得多,可节省不少设计时间。 由于考虑到体积、成本等因素,本装置在性能上功能上还存在不足,还有待于进一步提高: (1)增加语音播报功能,可以提高装置的灵敏度,同时方便用户的操作
58、。 (2)可在装置中增加一个语音芯片,将蜂鸣报警改为语音说明指示,可以根据输入的密码数字播报,同时可以扩展锁的安全防盗报警功能。 本系统的特色与创新点:(1)从测试结果分析可知,本装置采用较低成本的器件设计制作,且误差较小,完全满足用户的基本要求。 (2)本装置结构简单、体积小、性能稳定,操作容易、使用方便,可以安装在不同的门上,具有一定推广应用价值。 (3)本系统结合了现在最有发展前景的 FPGA 设计的电子密码锁系统,安全可靠,科技含量高,易于扩展。 本课题软件和硬件相结合,有相当大的难度,同时也有很大的实用性。在做毕业设计的过程中,我的理论和实践水平都有了较大的提高。在本课题的设计中,我
59、熟练了掌握了 FPGAR 软件设计和接口技术,同时对 FPGA 的系统设计有了进一定的理解,掌握了各种报警电路及其相关元器件的使用。通过了这次毕业设计,我不仅学到许多的实用知识,还学会如何克服未知的困难,解决难题的方法。致致 谢谢 时间过的很快,四年的本科学习生涯即将结束,虽然我的专业学的不是太精,但是我也学到了很多东西,特别是学会了做人的道理和独立生存的本领。在本人做毕业设计中,得到了我的导师廖宇的悉心指导和无私帮助。他们严谨的治学态度和谦和的为人给我留下了深刻的印象。在论文完成之际,首先对我的指导老师廖宇老师以最诚挚的谢意,在我写论文期间对我的引导和启发。在整个论文的选题、理论研究、总体设
60、计、详细设计的过程中,自始至终得到了导师廖老师的悉心指导和深切关怀。感谢导师廖老师对我的论文不厌其烦的精心修改,廖老师多次耐心地审阅了论文全稿,提出了许多宝贵意见。他严谨的治学态度给我留下了深刻的印象,是我受益终身。 在我即将完成学业之际,我要对我的恩师以真诚谢意和良好的祝愿!在整个大学的学习阶段,我还要感谢湖北民族学院信息工程学院的全体老师。你们不畏辛苦的给我们讲授科学知识,使我受益匪浅,在此,向你们致以崇高的敬意!在此,我还要特别感谢我的班主任老师一直以来对我的支持与关注。 非常感谢本班的诸多兄弟姐妹,你们与我一起分担四年的酸甜苦辣。我们一起学习,共同进步。在这里,我还要特别感谢郭强同学,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 警械使用课件
- 2023年国家公务员考试《申论》真题(地市卷)及答案解析
- 9.2《永遇乐·京口北固亭怀古》-高一语文上学期同步备课拓展(统编版必修上册)
- 西南林业大学《材料加工工艺与设备》2022-2023学年第一学期期末试卷
- 西京学院《微机原理与接口技术》2023-2024学年期末试卷
- 西京学院《汉语国际教育概论》2023-2024学年第一学期期末试卷
- 幼儿园小班打击乐活动《小鳄鱼之歌》课件
- 西华师范大学《中学思想政治学科教学论》2022-2023学年第一学期期末试卷
- 西华师范大学《舞台剧创作》2023-2024学年第一学期期末试卷
- 房地产金融与投资概论教学课件第六章房地产开发建设融资
- 人教版六年级下册《反比例的量》导学案
- GB 26402-2011 食品安全国家标准 食品添加剂 碘酸钾
- DNA甲基化与肿瘤分子标志
- 《甲方认质认价确认单》
- 降低住院患者跌倒发生率
- 各种烟气焓温、密度、比热计算表
- 导游与旅行社签订劳动合同
- 公路管理工作常见五大诉讼风险及防范
- FLUKE-17B型万用表使用说明
- 探析高校图书馆文创产品开发与推广-以清华大学图书馆为例
- 痰饮咳嗽病脉证并治第十二
评论
0/150
提交评论