ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:247.21KB ,
资源ID:17997032      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17997032.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA电子密码锁门禁系统的设计Word文件下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA电子密码锁门禁系统的设计Word文件下载.docx

1、市面上存在一些基于单片机的密码锁,其安全性和性能必定远不及基于FPGA。因为单片机运行速度慢,逻辑性差,所以不利于将电子密码锁集成到大型的门禁系统当中;相反,FPGA则克服了这些缺点,而且其具有处理更复杂功能的能力,能够实现更多的功能。经过市场调查后发现,基于FPGA的电子密码锁具有功能实用且多样化,超高性能,较低成本等特点,具有一定的实际应用价值。关键词:现场可编程门阵列;电子密码锁;程序仿真;Abstract According to the market research, electronic code locks have laid over traditional mechanic

2、al locks in performance and safety, which prompt consumers to use electronic code locks much more likely than ever before.With the rapid development of the chips, electronic code locks become much more accessible and acceptable both in performance and price. Whats more, here are a few reasons for el

3、ectronic code locks popularity. For one thing, nowadays, electronic code locks can be customized specifically according to individual needs. For instance, confidentiality function, password error alert and changing password, etc. For another, there are more functions which can be applied accordingly

4、, such as fire alarming, reminding the lack of electricity and automatic locking,etc. Thanks to the significant progress of technology, some manufacturers are able to produce cost-effective electronic locks which are simply based on chips and circuits. In short, the electronic code lock will apply t

5、o each family gradually.At present, some code locks based on the micro-controller in the market cannot hold a candle to those which are based on FPGA both in performance and safety. Since micro-controller is poor in speed and logic, its not suitable to apply such code locks to large-scale access sys

6、tems. On the contrary, FPGA can overcomes such shortcomings effectively. Besides, it has the ability to process complex instructions which may benefit to implementing more functions. To sum up, it can be concluded according to the market research that electronic code locks, based on FPGA possess the

7、 characteristics of functional, diversified, high-performance and low-cost, which have the practicalapplicationvalue.Keywords:FPGA(Field-Programmable Gate Array);electronic code lock;simulation;1 绪论 1.1电子密码锁的发展趋势在当今社会,防止盗贼入室,加强防盗工作已经成为每家每户的必要工作。从古至今,锁的种类日新月异,性能也是越来越强1。然而,目前中国大多数人仍在使用传统的机械锁,而且目前用外键解锁

8、假冒机械锁的概率极高。当今时代,电子产品更新速度日益加快,电子设计技术更是突飞猛进,继而造成电子产品的研发周期缩短,开发成本降低,可兼容性和可扩展性变好,为此便引入了EDA技术。所谓EDA(Electronic Design Automation)技术,就是电路设计者通过Quartus软件采取从上而下的方式对电路进行设计,即在电脑上通过软件利用verilog HDL硬件描述语言完成编程,再利用计算机软件自动完成编译和仿真,最后对芯片进行编译,管脚配置和程序烧入,使其具备理想的功能2。基于FPGA的电子密码锁是当前新一代门禁系统的核心,电子密码锁以其独特的优点逐渐取代现有的传统机械锁,已经成为现

9、代锁业的发展趋势,电子密码锁在不久将来会进入每家每户的必备品。电子密码锁涉及领域广泛,包含电子,机械,计算机技术,通信技术,生物技术等等诸多新兴技术,它在解决重要部门出入口实现安全防范管理中扮演核心角色,同时也适用于各个领域,如工业,民用,军用,医院,家庭等等3。而经过市场调查,目前市面上的电子密码锁的主控芯片大部分是微型计算机的。单片机与FPGA的区别在于:单片机是以软件的形式运行所写代码,运行速度慢,但是FPGA是可用电脑编辑的数字逻辑电路集成芯片,设计者所设计的程序内容,实际上是在设计一个数字电路,因而运行速度相对较快。另外,单片机在实际应用中,程序容易跑飞,所以系统可靠性较差4。而采用

10、基于FPGA的电子密码锁可以实现性能更佳,功能更加全面,能随时按照需求进行升级和扩展,使系统具有相当大的灵活性,因而更受消费者的青睐。国外对电子密码锁的研究比国内早很多,尤其是在欧美发达国家,但是基于FPGA的电子密码锁也只是在近几年在欧美国家和亚洲部分国家研究使用。在国内,随着国内生产商生产硬件的技术逐渐成熟,国内市场也已逐渐进入中高速发展阶段,所以电子密码锁在国内的市场潜力巨大,发展前景值得期待4。1.2 电子密码锁发展背景及国内外现状 国内电子锁当下还集中存在一些主要的问题,第一是国内还未颁布关于电子密码锁的产品标准,这对电子锁产品的分类、规格和型号标准都是一大空缺,给生产商和用户带来了

11、诸多不便;第二是电子锁的可靠性,当前电子锁的可靠性很大程度都是取决于电子元器件和制造工艺的严格把关。而当前国内的电子锁生产商因为国内元器件的生产质量问题而不敢使用;第三是电子密码锁的电源问题,当下电子锁电源问题主要集中于整体系统功耗大,备用电源缺少自动充电的功能等5。而目前在西方发达国家,电子密码锁的技术已经相当发达,种类多样,在我国,电子密码锁开发的水平也在不断提高,但还稍落后于西方发达国家的技术水准,所以电子密码锁在我国的发展前景非常可观。希望在国家政策的支持下,我国的电子科学技术能不断提高,使得电子锁也能在我国成为每家每户的必备品5。1.3 设计的目的与意义当前是信息时代,互联网发展迅速

12、,因特网上资料的传播更是迅速,同时,个人甚至团体的隐私保护成了大问题。虽然现在云盘发展的很好,但依然经常看到云盘里资料被盗窃的新闻。所以,将重要信息锁在身边才是最踏实的。但传统的机械锁又十分脆弱,所以电子密码锁便名正言顺的成了最好的管家。电子密码锁不仅使用方便,而且安全系数高,是个人、企事业单位的最佳选择7。1.4 设计方案对比方案一:基于微型计算机的电子密码锁设计随着微型计算机开发技术的日益成熟,单片机的性能和特点也越来越人性化,受到广大设计者的青睐,更因为其成本低、体积小、功耗低等特性被广泛运用到人们日常生活当中10。由于微型计算机的可编程性,设计者可以根据实际使用情况增加密码数目,而且具

13、有方便随时修改密码的优点。但是单片机以软件形式运行代码,在实际运用中程序容易跑乱,导致系统的可靠性不高,这在产品生产和使用中是致命的9。方案二:基于FPGA的电子密码锁设计随着数字集成电路的发展,FPGA的开发与使用也是越来越广泛。因为FPGA克服了单片机程序易跑飞,系统可靠性差的缺点,让基于FPGA控制的电子产品的性能更上一层,这让电子密码锁的功能扩展与系统的嵌入变得更加灵活。基于FPGA的电子密码锁系统分为矩阵键盘模块、警报模块、显示模块等。该方案的电子密码锁为6位数字密码,输入密码错误后会发出警报,且用户可修改密码。 从上述两个方案可以看出,采用以FPGA为主控芯片的电子密码锁不仅性价比

14、更高,而且可以进行功能的扩展,所以采取方案二。1.5 设计内容与要求1、设计一个基于FPGA为核心控制的电子密码锁,密码为6位数字,开锁后可修改密码,且掉电保存;2、按键输入密码,在LCD1602中显示输入状态;3、密码输入正确,则电磁继电器打开,led灯亮;输入错误,则蜂鸣器发出警报;按复位键恢复原始状态;2 系统硬件综述2.1 系统设计方案该电子密码锁系统由主控芯片(FPGA),显示电路,报警电路,开/关门电路和键盘组成,而主控芯片又可分为按键处理部分,控制部分和显示部分。该系统总框图如图2-1所示 图2-1 系统总体框图2.2 电子密码锁系统组成 电子密码锁系统主要由FPGA主控芯片、L

15、CD1602、电磁继电器、蜂鸣器、LED灯、按键和复位电路组成。FPGA主控芯片:FPGA是整个电子密码锁系统的控制核心,接收按键开关状态改变发来的信号,然后再发出处理信号,是按键开关与其他设备的桥梁。LCD1602:充当显示屏,时刻显示电子密码锁的输入状态,初始显示“input password”,当按动按键输入密码时,密码以“*”的形式逐一显示;电磁继电器:充当锁的作用,它是通过电信号使电磁铁产生磁性,从而影响触电位置来达到状态变化的效果。当按键输入正确密码按下确认键后,通过FPGA的I/O口向电磁继电器发送信号,将电信号转变为机械能,实现锁的开启与闭合;蜂鸣器:充当警报器的作用。若输入错

16、误密码,按下确认键后,蜂鸣器收到电信号,出发蜂鸣器发声。键盘:16个按键组成4x4键盘,分别有09数字键,重新输入、恢复密码、确认键、闭合键、设置新密码、确认新密码。数字键用于输入密码;按下重新输入键后LCD清空,重新输入密码;恢复密码键是当忘记密码时,恢复初始密码012345;确认键是输入密码后确认输入完成,给芯片发送信号;闭合键是当电磁继电器打开后,按下闭合键,电磁继电器关闭,充当闭合密码锁的作用;按下新密码键后先输入旧密码,再输入新密码,按下确认新密码键后新密码确定。复位电路:用于使系统恢复初始状态。2.3 主控模块2.3.1 Cyclone器件的介绍Cyclone现场可编辑门列阵是基于

17、1.5V,0.13m,全覆铜静态随机存储器工艺,密度高达20060逻辑元件和高达288kb的随机存取存储器。Cyclone设备支持各种I/O标准,包括数据速率高达311兆比特每秒(Mbps)和66MHz,32位,可用于连接和支持ASSP和ASIC设备的外部设备互连总线(PCI)。Altera公司还提供新的低成本串口配置设备来配置Cyclone设备。2.4 键盘模块电路设计2.4.1 矩阵键盘的设计与原理键盘模块中总共有16个按键,每个按键都与FPGA的I/O口连接。识别按键的方法采用的是通用的列扫描法。列扫描法的原理是先用上拉电阻,这样以后,当没有按键按下时,所有输入端都是高电平,说明无按键按

18、下;若按键按下,则为低电平。首先检测列值的状态,若检测发现有一列的电平为低,则说明这一列上的四个按键中有按键被按下;如果所有列线均为高电平,则没有按键按下。最后,确定了列线状态后,以同样的方法确定行线状态,即可确定按键具体位置15。矩阵键盘模块电路如图2-2所示。 图2-2 矩阵键盘模块电路2.4.2 键盘具体操作说明键盘为4x4的矩阵键盘,其中十个键代表数字09,其余六个按键分别代表重新输入、恢复密码、确认键、闭合键、设置新密码、确认新密码。按下重新输入键后LCD清空,可重新输入密码;当输入错误密码并确认后,电磁继电器不打开,蜂鸣器工作发出警报,此时必须按复位键才能恢复原始状态。2.5 显示

19、模块电路设计2.5.1 LCD1602的简介字符型液晶显示模块是一种专门用于显示字母、数字等点阵LCD,常用的为LCD1602字符型液晶显示器。LCD1602分为带背光和不带背光,但是两者在应用中无差别。在本次设计中,采用的是带背光的LCD1602。以下为16脚接口的各引脚说明。2.5.2 显示模块原理该系统设计的显示模块为了能达到显示内容多样化以及给予使用者提醒的作用,系统的显示模块采用了LCD1602作为显示屏而取代了数码管。LCD1602能够显示16列2行,即32个字符。每一个字符都有一个固定的代码,模块会自动识别,把相应的字符显示出来。密码锁系统上电后,LCD1602第一行显示“Inp

20、ut Password”,第二行用于显示系统当前状态。开锁时,按下数字按键输入密码,每按一次LCD上出现一个“*”,输入六位密码也就会显示六个“*”,按下确认键,LCD显示为“Right Open!”,同时LED灯亮起,电磁继电器打开。若密码输入错误,则LCD显示“Wrong Retry!”,同时警报器响起,需按复位键重新输入。显示模块电路如图2-3所示。 图2-3 显示模块电路2.6 存储模块电路设计2.6.1 24C02的简介(1)24C02描述24C02是电可擦除PROM,即E2PROM。待机电流和工作电流分别为1A和1mA。24C02具有页写能力,每页为8字节。24C02具有8-pin

21、 PDIP和8-pin SOP两种封装形式。(2)24C02特点2.6.2 存储模块原理 该模块中数据的存储芯片选用的是24C02,该芯片是电可擦除PROM,即E2PROM。整个电子密码锁系统有掉电保存密码的关键就是这个芯片。首先对24C02初始化,并写入初始密码“012345”进行储存,以便将来用户需要更改密码时与新密码的对比。当用户输入正确密码并确认后,即可按下“修改密码”键进行修改密码,当确认新密码后,新密码便存储在24C02中,当下次给密码锁上电时,密码便为上次修改的新密码。密码存储模块电路如图2-4所示。图2-4 密码存储模块电路2.7 报警电路设计当输入密码按下确认键后,数据传送至

22、主控芯片,主控芯片将输入的密码与24C02里存储的数据进行比较,若数据不同,则驱动蜂鸣器发出警报。即该模块设计中,当密码不正确时,就会进行报警。报警模块电路如图2-5所示,在本模块电路中,由于芯片的电流不足以驱动蜂鸣器工作,于是使用了三极管放大电流进而达到驱动蜂鸣器的目的,三极管另外一个作用就是充当开关:当I/O口输出高电平时,三极管截止,蜂鸣器无法工作;当I/O口输出低电平时,三极管处于导通状态,蜂鸣器正常工作。同时使用1k电阻限流。 图2-5 报警模块电路3 系统软件设计与仿真3.1 分频部分程序设计每个模块需要不同的频率,但是分频器的程序都是差不多的。因为芯片为50MHz时钟,需要经过分

23、频后得到不同的频率,分频后获得的新时钟周期的公式为:新时钟周期=,其中cnt即为计数子。分频部分程序如下所示:always (posedge i_clk, negedge i_rst_n) if (!i_rst_n) cnt = 0; else= cnt + 1b1;wire key_clk = cnt19;由于在always敏感列表里既有时钟信号i_clk也有清零信号i_rst_n,所以显然这是异步清零的分频器,即计数器不需要等待下一个时钟信号来临,当接收到清零信号时可以直接清零。3.2 键盘驱动部分3.2.1 键盘驱动程序设计矩阵键盘驱动程序的关键在于以下的状态机部分。首先检测键盘行值是否

24、出现低电平,即检测是否有按键按下,若有,则依次扫描各列,否则一直处于“没有按键按下”的状态。状态机部分程序如下所示。case (current_state) /根据条件转移状态 NO_KEY_PRESSED : / 没有按键按下 if (row != 4hF) next_state = SCAN_COL0; next_state = NO_KEY_PRESSED; SCAN_COL0 : / 扫描第0列 next_state = KEY_PRESSED; next_state = SCAN_COL1; SCAN_COL1 : / 扫描第1列 next_state = SCAN_COL2; SC

25、AN_COL2 : / 扫描第2列 next_state = SCAN_COL3; SCAN_COL3 : / 扫描第3列 KEY_PRESSED : / 有按键按下 Endcasealways (posedge key_clk, negedge i_rst_n) begin col h0; key_pressed_flag end case (next_state) /根据次态给相应寄存器赋值 / 清键盘按下标志 / 扫描第0列b1110; / 扫描第1列b1101;b1011;b0111; col_val = col; / 锁存列值 row_val = row; / 锁存行值 key_pr

26、essed_flag = 1; / 置键盘按下标志 endcase这两个状态机为摩尔型有限状态机,即输出只和状态有关而与输入无关。这个状态机是这样工作的:在状态机工作之前需要有外部按键按下,当按键按下后,col3:0出现低电平输出,由此开始工作。比如:我们模拟按下了第3行第3列的按键,则列输出为4b1011,根据状态机程序检测行值row3:0为4b1011不等于4b1111,故标志有按键按下,同时锁存行值、列值。键盘驱动程序在Quartus10.0平台上全编译后,编译报告如图3-1所示,从得到的编译报告可知,该模块总计逻辑器件40个,总计引脚数19个。3-1 键盘驱动程序编译报告3.2.2 键

27、盘驱动程序仿真由上一节的键盘驱动程序设计中可看出,因为always敏感列表里包含了i_clk和i_rst_n,所以显然这个状态机是异步清零的,键盘驱动程序仿真如图3-2所示,从仿真波形可清晰地看见,当i_rst_n变为低电平时,所有输出信号立即清零,即模拟了按下重置键后,所有输出信号初始化的功能。从图3-2中还可看出,当行输入row3:0为4b1011,且列输出col3:0为4b1011时,按键标志位key_pressed_flag置1,输出高电平,表明有按键按下,同时相应寄存器锁存行值、列值后,输出键值keyboard_val为8hf9,这就是在矩阵键盘上按下第三行第三列按键的仿真。图3-2 键盘驱动程序仿真波形图3.3 蜂鸣器驱动部分3.3.1 蜂鸣器驱动程序设计在报警电路设计的分析一节中已经提出,若I/O口输出高电平,则蜂鸣器截止不工作;若I/O口输出低电平,则蜂鸣器导通正常工作。因此在蜂鸣器驱动程序设计中只需设计两个状态即可,用if-else语句即可实现指定功能。蜂鸣器驱动部分程序如下所示, speek=1; if(tim=2b00) else if(tim=2b01)=0;end 由于always敏感列表中有i_clk和i_rst_n两个敏感事件,所以这是异步置位的。蜂鸣器驱动程序在Quartus10.0平台上全

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1