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

下载本文档

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

文档简介

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

2、;如果密码不正确,则允许用户重新输入密码,最多可输入三次,假设三次都不正确,则扬声器报警,直到按复位键才允许再次输入代码。通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本到达了预期目的。当然,该系统在一些细节的设计上还需要不断的完善和改良,特别是对系统的扩展有很好的实用和设计的价值。关键词:现场可编程门阵列,硬件描述语言,电子密码锁,扬声器学习文档 仅供参考1绪言系统以利用可编程器件实现电子密码锁的设计为研究背景、现状以及发展方向,明确指出了电子密码锁面临的问题和所解决的方法。基于FPGA的电子密码锁是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,

3、机械,电脑技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施,适用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂、家庭等。在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统1。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。在该系统的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的

4、生成为软件方式。在实际应用中,由于程序容易跑飞,系统的可靠性能较差2。基于FPGA的电子密码锁已经是现代生活中经常用到的工具之一,用于各类保险柜、房门、防盗门等等。用电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展,而且系统设计完善以后还可以将主控的FPGA固化成一片ASIC,那么这块ASIC就可以作为专用的数字密码锁芯片。而且由于硬件可升级,还可随时增加密码位数或增加新的功能,使得密码锁有更高的安全性、可靠性和方便性3。1.2 课题研究的目的和意义电子杂志、报刊经常刊登有密

5、码开关、密码锁这样的电路,大多数是使用常用的数字电路,如CD4017,然后通过不同的连接方式实现密码控制功能。这种电路的特点就是密码修改只能通过改变电路的连接来实现,密码很容易被破解,电路复杂,故障率高。本制作是针对这些电路而设计的,将以往的以单片机实现设计改为可编程器件FPGA利用VHDL编程实现电子密码锁的设计。这种设计移动方便。基于FPGA的电子密码锁具有保密强、灵活性高、适用范围广等特点,它在键盘上输入,与打差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丧失除了忘记,难以被窃除非自己泄露。但是密码不能太简单,太简单了就容易被他人在键盘上试

6、探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,本设计采用“任意设定数字密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新,在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出5秒报警声,当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按复位方可停止。本设计的FPGA电子密码锁的特点是:体积小、功耗低、价格廉价、安全可靠,维护和升级都十分方便,具有较好的应用前景。它与传统锁具的不同之处在于:它与可编程逻辑器件实现系统的设计,应用简洁清

7、晰的VHDL语言实现设计编程思想,能够实现适时、智能控制管理功能,特别是在系统的扩展上有很好的优势。1.3 国内外概况随着我国对外开放的不断深入,高档建筑发展很快,高档密码锁具市场的前景乐观。我国密码锁具行业对密码锁具高新技术的投入正逐年增大,高档密码锁的市场需求也逐年增加4。在安防工程中,锁具产品是关系到整个系统安全性的重要设备,所以锁具产品的优劣也关系了整个安防工程的质量和验收。目前,市场上比较先进的智能电子密码锁分别有:IC卡电子密码锁、射频卡式电子密码锁、红外遥控电子密码锁、指纹识别电子密码锁和瞳孔识别电子密码锁等。IC卡电子密码锁成本低,体积小,卡片本身无须电源等优点占领了一定的市场

8、份额,但是由于有机械接触,会产生接触磨损,而且使用不太方便,在一定程度上限制了它的应用;射频卡式电子密码锁是非接触式电子密码锁,成本也不太高,体积跟IC卡密码锁相当,卡片使用感应电源,重量很轻,技术成熟,受到了广泛的欢送,但是与IC卡电子密码锁相比,成本偏高;指纹识别电子密码锁和瞳孔识别电子密码锁可靠性很高,安全性是目前应用系统中最高的,但是成本高昂,还没进入大众化使用阶段5。在国外,美国、日本、德国的电子密码锁保密性较好,并结合感应卡技术,生物识别技术,使电子密码锁系统得到了飞跃式的发展。这几个国家的密码锁识别的密码更复杂,并且综合性比较好,已经进入了成熟期,出现了感应卡式密码锁,指纹式密码

9、锁,虹膜密码锁,面部识别密码锁,序列混乱的键盘密码锁等各种技术的系统,它们在安全性,方便性,易管理性等方面都各有特长,新型的电子密码锁系统的应用也越来越广6。课题的主要研究工作课题主要解决系统硬件和软件两方面的问题。硬件方面要解决FPGA可编程器件与其外围电路的接口设计的问题;软件方面主要问题是利用VHDL语言完成基于FPGA的电子密码锁的编程问题。除此之外,程序还要完成基本的密码开锁功能,并通过扬声器长时间鸣叫报警。本设计是由FPGA可编程逻辑器件编程实现的控制电路,具体有按键指示、输入错误提示、密码有效指示、控制开锁、控制报警等功能。它具有安全可靠、连接方便、简单易用、结构紧凑、系统可扩展

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

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

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

13、文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在PALGALEPL*可编程器件的基础上进一步发展的产物9。它是作为专用集成电路ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPG阙用了逻辑单元阵列LCALogicCellArray这样一个新概念,内部包括可配置逻辑模块CLBConfigurableLogicBlock、输出输入模块IOBInputOutputBlock和内部连线Interconnect三个部分。FPGA勺基本特点主要有:1采用FPGAg计ASIC电路,用户不需要投片生产,就能得到

14、合用的芯片。2FPGAH故其它全定制或半定制ASIC电路的中试样片。3FPG咕部有丰富白触发器和I/O弓唧。4FPGAASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5FPG麻用高速CHMOS艺,功耗低,可以与CMOSTTL电平兼容。可以说,FPGAK片是小批量系统提高系统集成度、可靠性的最正确选择之一。目前FPGA勺品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTER於司的FIEX系列等。FPGA由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAMS行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA5片将EPRO呻数

15、据读入片内编程RAMfr,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA勺编程无须专用的FPGAS程器,只须用通用的EPROMPRO蝙程器即可。当需要修改FPGAft能时,只需换一片EPROMP可。这样,同一片FPGA不同的编程数据,可以产生不同的电路功能。因此,FPGA勺使用非常灵活。FPGAt多种配置模式:并行主模式为一片FPGAm一片EPROM1方式;主从模式可以支持一片PRO端程多片FPGA串行模式可以采用串行PRO端程FPGA外设模式可以将FPGA乍为微处理器的外设,由微处理器对其编程10。2.3 FPGA的应用特

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

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

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

19、lusII给用户提供了丰富的宏库和LPM(参数模块库LibraryofParameterizedModules)EDA环境由Unix/Windows共存开发环境转换事实上通过符合国际标准的硬件描述语言如VHDL或VERILOGHDL来进行电子系统设计和产品开发由于开发工具的通用性设计语言的标准化以及设计过程几乎与所用的CPLD/FPGA器件的硬件结构没有关系所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性它几乎可用于任何型号的CPLD/FPGA中从而使得片上系统的产品设计效率大幅度提高,使其用更为广泛和方便。5开发周期短由于FPGAN内部资源丰厚及功能强大以及相应的EDA软件功能完善和

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

21、计技术面临另一次更大意义的,即FPGA复杂可编程逻辑器件FieldProgrammableGateArray-FPGA/现场可编程门阵列ComplexProgrammablelogicDevice-CPLD在EDA电子设计自动化基础上的广泛应用.从本质上说,新的电子系统运转的物理机制又归回到原来的纯数字电路结构,但在更高层次上容纳了过去数字技术的优秀部分,扬弃了MCU系统的应用模式,却包括了MCU的内部资源,使电子设计的技术操作和系统构成的整体发生质的飞跃,是一种更高层次的循环,如果说MCU在逻辑的实现上是无限的话,那么CPLD/FPGA不但包括了MCU这一特点且可触及硅片电路线度的物理极限并

22、兼有串并行工作方式高速高可靠性以及宽口径实用性等多方面的特点,不仅如此,随着EDA技术的发展和FPGA在深亚微米领域的进军。它们与MCUMPUDSPA/DD/ARAM和ROM等独立器件间的物理与功能界限已日趋模糊特别是软/硬IP芯核IntelligenceProperty产业的迅猛发展嵌人式通用及标准FPGA器件很快就会出现片上系统SOC也已近在咫尺CPLD/FPGA以其不可替代的地位及伴随而来的极具知识经济特征的IP芯核产业的崛起正越来越受到电子技术工程师的密切关注EDA打破了软硬件之间最后的屏障使软硬件工程师们有了真正的共同语言使目前一切仍处于电脑辅助性设计CAD和规划的电子设计活动产生了

23、实在的设计实体电子设计专家指出基于EDA的CPLD/FPGA的应用和技术推广是我国未来电子设计技术发展的主流而基于EDA的IP芯核产业的推动应是我国在新世纪知识经济发展的重要切入点之一12。无论怎样的问题和障碍,FPGA的应用热潮正逐步形成随着FPGA集成水平的进一步提高芯核产业的进一步扩大,可以相信用不了多久大部分的电子设计领域MCU、MPU、DSP或AD/A和RAM等必将以各种软硬核的形式FPGA实现真正的单片系统。3 基于FPGA设计的硬件描述语言VHDL3.1 VHDL语言简介目前数字系统的设计可以直接面向用户需求,根据系统的行为和功能要求,自上而下地逐层完成相应的描述、综合、优化、仿

24、真与验证,直到生成器件,实现电子设计自动化。其中电子设计自动化EDA(即ElectronicDesignAutomation)的关键技术之一就是可以用硬件描述语言(HDL)来描述硬件电路。VHDL(VHSICHardwareDescriptionLanguage)!用来描述从抽象到具体级别硬件的工业标准语言,它是由美国国防部在20世纪80年代开发的HDL,现在已成为IEEE承认的标准硬件描述语言。VHDL支持硬件的设计、验证、综合和测试,以及硬件设计数据的交换、维护、修改和硬件的实现,具有描述能力强、生命周期长、支持大规模设计的分解和已有设计的再利用等优点13。VHDL主要用于描述数字系统的结

25、构、行为和功能,其程序结构特点是将一个电路模块或一个系统分成端口和内部功能算法实现两部分。对于一个电路模块或者数字系统而言,定义了外部端口后,一旦内部功能算法完成后,其他系统可以直接依据外部端口调用该电路模块或数字系统,而不必知道其内部结构和算法。VHDL的特点使得电子系统新的设计方法“自顶向下”设计方法更加容易实现14。可以先对整个系统进行方案设计,按功能划分成假设干单元模块,然后对每个单元模块进一步细分,直到简单实现的单元电路。3.2 VHDL语言的特点VHDL语言主要用于描述数字系统的结构、行为、功能和接口,其具有以下特点: 1作为HDLB第一个国际标准,VHDLM有很强的可移植性; 2

26、具有丰富的模拟仿真语句和库函数; 3VHDLt良好的可读性,接近高级语言,容易理解; 4系统设计与硬件结构无关; 5支持模块化设计; 6用VHDLI成的一个确定设计,可以利用EDAX具自动地把VHDLffi述转变成门电路级网表文件。3.3 VHDL语言的优点与其他硬件描述语言相比,VHDL语言有如下优越之处15: 1VHDL语言支持自上而下TopDown和基于库LibraryBase的设计方法,还支持同步电路、异步电路、FPGA以及其他随机电路的设计; 2VHDL语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路,其高层次的行为描述可以与低层次的RTL描述和结构描述混合使用

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

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

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

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

31、能。FPGA接收键入的代码,并与存贮在闪存中的密码进行比较,如果密码正确,则驱动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码,最多可输入三次;如果三次都不正确,则通过FPG*生报警,FPGA等每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给监控器,同时将接收来自接口的报警信息也发送给监控器。4.2系统实现方案的论证比较方案一:采样台湾凌阳科技推出的以凌阳自主研发的SPCE061A5片为主控芯片,用一条下载线连接到电脑就可以实现在线仿真、在线调试、在线下载,低廉的价格保证了系统可靠开发;止匕外,61板具有SOC既念、DS呦能和语音特色,为电子密码锁的语音报警提供了方便,但

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

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

34、个数字键和1个确认键,1个警报复位键,1个清0键。输入正确密码后,按确认键即可开门,在门开的状态下,第一次输入新密码后再确认密码可设置密码,输入的密码在八位数码管上显示,最后输入的数字显示在最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的零不用输入,因此密码可以为18位。初始密码为0,即上电后,按确认键即可开门。门开后可通过锁门按钮关门,门关上后要再次输入密码才能开门。在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出报警声,当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按警报复位键方可停止。5系统硬件设计5.1 系统的硬件模块实现整个电子密码锁系统可

35、划分为键盘扫描、获取键值、数码显示、设置密码和解码开门等五个子模块。通过FPGA的处理,从而实现基于FPGA的电子密码锁的设计,系统实现框图如图所示。5.2 基于FPGA的设计主控芯片EPF10K10LC84-4的介绍FPGA器件选择Altera公司FLEX10K10系列的EPF10K10LC84-4芯片。FLEX10K器件是工业界第一个嵌入式的PLD(可编程逻辑器件),由于其具有高密度、学习文档仅供参考低成本、低功率等特点,成为当今AlteraPLD中应用广泛的器件系列19。FLEX10K器件主要由EAB(嵌入式阵列块)、LAB(逻辑阵列块)、快速通道线和I/O单元4部分组成。设计输入(图形

36、或VHDL(甚高速集成电路硬件描述语言)等)经过编译后产生的数据格式(网表),大多配置到LAB中。在很多时候,为了提高设计效率、减少LAB的占用等,希望将设计配置到EAB中。要将设计配置到EAB中是一个较为复杂的过程,在这个过程中必须遵守一定的规则,同时,又要对设计的状态、输入、输出20。该芯片集成有1万个等效逻辑门,含有572个逻辑单元LEs、72个逻辑阵列块LABs、3个嵌入式阵列块EABs,并具有720个片内寄存器,可以在不占用内部资源的条件下实现6144bit的片内存储器;内部模块间采用高速、延时可预测的快速通道连接;逻辑单元间具有高速、高扇出的级联链和快速进位链;片内还有三态网络和6

37、个全局时钟、4个全局清零信号以及丰富的I/O资源;每个I/O引脚可以选择为三态控制或集电极开路输出,可以通过编程控制每个I/O引脚的速度以及I/O寄存器的使用21。FPGA逻辑功能结构及开发FPGA芯片FLEX10K在工作期间,将配置数据保存在SRAM中,而SRAM数据是易丧失的。SRAM单元必须在器件加电后装入配置数据,且配置完成后,它的存储器和I/O引脚必须被初化。初始化后,器件进入用户模式,开始系统运行。对于FLEX10K系列器件,Altera公司提供了4种配置方案:EPC1或EPC1441EPPOM方式配置法、被动串行法、被动并行同步法、被动并行异步法。对器件进行配置时,我们先用被动串

38、行法passiveserial。这种方式是通过下载电缆对器件进行配置的,适合于调试阶段。当整个系统设计完成后,利用EPPOM方式对器件进行配置。这样固化在EPROM中的数据将在系统上电时对FPGA芯片配置,其中EPROM芯片选用EPC144122。FPGA使用的开发软件为MAX+PLUSII。该软彳是ALTERA公司开发的一个集设计输入、编译、仿真和编程为一体的超级集成环境;提供了自动逻辑综合工具,可以在多个逻辑层次上对高级设计描述进行综合、优化,大大缩短了编译时间,加速了FPGA设计开发进程23oMAX+PLUSII支持各种HDL输入选项,包括VHDL、VerilogHDL和ALTERA的硬

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

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

41、有按键按下。获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码在对每个按键进行匹配,找到键值后在7段码管显示。按键控制电路如图5.2所示:学习文档 仅供参考图5.24X4键盘结构原理图5.4 LED显示器结构与原理LED显示块是由发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是7段LED。这种显示块共有共阴极与共阳极两种,本设计将采用共阳极。共阳极LED显示块的发光二极管与阳极并接25。数码管显示块中共有8个发光二极管,其中7个发光二极管构成七笔字形“8”,1个发光二极管构成小数点。7段显示块与FPGA接口非常容易。只要将一个8位并行输出与显示块的发光二极管引脚相连即可

42、。8位并行输出口输出不同的字节数据即可获得不同的数字或字符,如表所示。通常将控制发光二极管的8位字节数据称为段选码。共阳极与共阴极的段选码互为补数。表5.1LED显示块功能表显示字符共阴极段选码共阳极段选码显示字符共阴极段选码共阳极段选码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HB7CH83H466H99HF71H8EH56DH92HP73H8CH67DH82HU3EHC1H707HF8HL31HCEH87FH80HY6EH91H96FH90H111111111111A77H88H5.5 报警电路6系统的软件设计当用户输入密码后,按确认键

43、即可开门,在门开的状态下,输入新密码,再按确认键可设置密码,输入的密码在八位数码管上显示,最后输入的数字显示在最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的零不用输入,因此密码可以为18位。初始密码为0,即上电后,按确认键即可开门。本系统控制流程如图6.1所示:学习文档仅供参考(开始不正确次数加一图6.1系统控制图6.2键盘扫描程序框图图6.2键盘扫描程序框图图6.3键值程序框图6.3获取键值程序框图输出学习文档仅供参考图6.4解码报警模块7系统的原理实现7.1系统的层次化设计基于FPGA的数字系统的层次化设计,一般都要经过4个阶段:设计输入、编译、仿真验证、下载器件。本设计采用

44、的是自下而上的设计方法,逐层完成相应的描述、编译、仿真与验证,即先建立一些低层次的设计,再将它们组合在一起,最后形成一个单一的顶层设计文件。一般的VHDL综合工具都有多种输入方式,主要有:各种文本输入、原理图输入和波形输入。对于不同层次的模块,应采用不同的输入方式进行描述。由于VHDL擅长描述模块的逻辑功能,而原理图擅长描述硬件连接关系,所以在底层设计中,对底层所有模块使用VHDL语言进行描述,在顶层设计中,使用原理图输入方法。当各个模块分别编译成功后,则创建一个个元件符号。再用图形编辑器将各元件模块组装起来,这就是本设计中最顶层的图形设计文件。本设计在QuartusH环境下的顶层图形设计文件

45、如图7.1所示aHimrss-:rslipk;3. :«|. .-,支求一4,iru. 'HeYDC一 . . . - .inh-INTUIT二/,3._何列T -inE*L 二elkaffiimilarmi: cdcleanKr 彳(i|K|3 cq到g 0|SEGJELP Dm - I ;回j Immmwh :v- nipkTI I、DiepiaylE 0MJ“L nil > SEG_SEL|2 .0|图7.1顶层图形原理图输入完成后还要选定器件,锁定引脚,然后就可以进行综合了。如果综合没有错误的话就可以对芯片进行配置了,配置完成后FPGA芯片就成了一片密码锁芯片。

46、再与其它的电路相连就构成一个完整的数字密码锁。 * 11M 日1MF二Tit4TmBidTiVrS再山由廿事,Il1 0他B乩2吼'B口 yLE】5l 卬 1 kfmDizi-lWlBUl V|:-l 司BB机彳工安心R凯715他1Id&w BKhlDB3吃长b 口dKrlOVI仃。1BIErxt3B3叫 HX?i12Q.B rii30 g .4n111_Pr-lnL1_11n_LB 45 3J图7.2系统仿真演示结果总结在基于FPGA的系统设计中,不同电路系统的设计往往采用自顶向下的设计方法,亦即将一个大的系统分解成单元电路。这样做的好处是可以先调试各个单元电路,在每个单元电路设计完成后,采用专门的仿真工具进行功能仿真,确定每个单元电路都没有问题后再连接顶层图形文件,这样整个系统的调试就轻松得多,可节省不少设计时间。由于考虑到体积、成本等因素,本装置在性能上功能上

温馨提示

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

评论

0/150

提交评论