




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
海南大学毕业论文(设计)题目基于FPGA电子密码锁门禁系统的设计学号201328343200XX姓名XXX年级2013级学院热带农林学院(信息管理学院)专业电子科学与技术专业指导教师XXX完成日期年月日基于FPGA电子密码锁门禁系统的设计摘要经过市场调查,电子密码锁的性能与安全性已经远超传统机械锁,而且消费者也越来越能够倾向于电子密码锁的使用。随着芯片的快速发展,电子密码锁的性能日益提高,价格也变得更便宜。电子密码锁倍受青睐的原因是它有能够根据个人需求订制特定的功能,如电子锁最基本的功能有保密功能,密码错误警报,修改密码等;另外,还可按照消费者需求外加功能,如火灾警报,弱电提醒电量不足,自动上锁等。现在科技进步飞速,生产商只需要基于芯片以及简单电路就能制造出性价比较高的电子锁。总之,电子密码锁逐渐会适用在每个家庭之中。市面上存在一些基于单片机的密码锁,其安全性和性能必定远不及基于FPGA。因为单片机运行速度慢,逻辑性差,所以不利于将电子密码锁集成到大型的门禁系统当中;相反,FPGA则克服了这些缺点,而且其具有处理更复杂功能的能力,能够实现更多的功能。经过市场调查后发现,基于FPGA的电子密码锁具有功能实用且多样化,超高性能,较低成本等特点,具有一定的实际应用价值。关键词现场可编程门阵列;电子密码锁;程序仿真;基于FPGA电子密码锁门禁系统的设计ABSTRACTACCORDINGTOTHEMARKETRESEARCH,ELECTRONICCODELOCKSHAVELAIDOVERTRADITIONALMECHANICALLOCKSINPERFORMANCEANDSAFETY,WHICHPROMPTCONSUMERSTOUSEELECTRONICCODELOCKSMUCHMORELIKELYTHANEVERBEFOREWITHTHERAPIDDEVELOPMENTOFTHECHIPS,ELECTRONICCODELOCKSBECOMEMUCHMOREACCESSIBLEANDACCEPTABLEBOTHINPERFORMANCEANDPRICEWHATSMORE,HEREAREAFEWREASONSFORELECTRONICCODELOCKSPOPULARITYFORONETHING,NOWADAYS,ELECTRONICCODELOCKSCANBECUSTOMIZEDSPECIFICALLYACCORDINGTOINDIVIDUALNEEDSFORINSTANCE,CONFIDENTIALITYFUNCTION,PASSWORDERRORALERTANDCHANGINGPASSWORD,ETCFORANOTHER,THEREAREMOREFUNCTIONSWHICHCANBEAPPLIEDACCORDINGLY,SUCHASFIREALARMING,REMINDINGTHELACKOFELECTRICITYANDAUTOMATICLOCKING,ETCTHANKSTOTHESIGNIFICANTPROGRESSOFTECHNOLOGY,SOMEMANUFACTURERSAREABLETOPRODUCECOSTEFFECTIVEELECTRONICLOCKSWHICHARESIMPLYBASEDONCHIPSANDCIRCUITSINSHORT,THEELECTRONICCODELOCKWILLAPPLYTOEACHFAMILYGRADUALLYATPRESENT,SOMECODELOCKSBASEDONTHEMICROCONTROLLERINTHEMARKETCANNOTHOLDACANDLETOTHOSEWHICHAREBASEDONFPGABOTHINPERFORMANCEANDSAFETYSINCEMICROCONTROLLERISPOORINSPEEDANDLOGIC,ITSNOTSUITABLETOAPPLYSUCHCODELOCKSTOLARGESCALEACCESSSYSTEMSONTHECONTRARY,FPGACANOVERCOMESSUCHSHORTCOMINGSEFFECTIVELYBESIDES,ITHASTHEABILITYTOPROCESSCOMPLEXINSTRUCTIONSWHICHMAYBENEFITTOIMPLEMENTINGMOREFUNCTIONSTOSUMUP,ITCANBECONCLUDEDACCORDINGTOTHEMARKETRESEARCHTHATELECTRONICCODELOCKS,BASEDONFPGAPOSSESSTHECHARACTERISTICSOFFUNCTIONAL,DIVERSIFIED,HIGHPERFORMANCEANDLOWCOST,WHICHHAVETHEPRACTICALAPPLICATIONVALUEKEYWORDSFPGAFIELDPROGRAMMABLEGATEARRAYELECTRONICCODELOCKSIMULATION基于FPGA电子密码锁门禁系统的设计目录1绪论111电子密码锁的发展趋势112电子密码锁发展背景及国内外现状213设计的目的与意义214设计方案对比215设计内容与要求32系统硬件综述421系统设计方案422电子密码锁系统组成423主控模块5231CYCLONE器件的介绍524键盘模块电路设计5241矩阵键盘的设计与原理5242键盘具体操作说明625显示模块电路设计6251LCD1602的简介6252显示模块原理726存储模块电路设计826124C02的简介8262存储模块原理927报警电路设计93系统软件设计与仿真1031分频部分程序设计1032键盘驱动部分10321键盘驱动程序设计10322键盘驱动程序仿真1333蜂鸣器驱动部分13331蜂鸣器驱动程序设计13基于FPGA电子密码锁门禁系统的设计332蜂鸣器驱动程序仿真1434LCD1602驱动部分15341LCD1602驱动程序设计15342LCD1602驱动程序仿真194系统实现2041系统功能验证2042结论22致谢23参考文献25附件27基于FPGA电子密码锁门禁系统的设计01绪论11电子密码锁的发展趋势在当今社会,防止盗贼入室,加强防盗工作已经成为每家每户的必要工作。从古至今,锁的种类日新月异,性能也是越来越强1。然而,目前中国大多数人仍在使用传统的机械锁,而且目前用外键解锁假冒机械锁的概率极高。当今时代,电子产品更新速度日益加快,电子设计技术更是突飞猛进,继而造成电子产品的研发周期缩短,开发成本降低,可兼容性和可扩展性变好,为此便引入了EDA技术。所谓EDA(ELECTRONICDESIGNAUTOMATION)技术,就是电路设计者通过QUARTUS软件采取从上而下的方式对电路进行设计,即在电脑上通过软件利用VERILOGHDL硬件描述语言完成编程,再利用计算机软件自动完成编译和仿真,最后对芯片进行编译,管脚配置和程序烧入,使其具备理想的功能2。基于FPGA的电子密码锁是当前新一代门禁系统的核心,电子密码锁以其独特的优点逐渐取代现有的传统机械锁,已经成为现代锁业的发展趋势,电子密码锁在不久将来会进入每家每户的必备品。电子密码锁涉及领域广泛,包含电子,机械,计算机技术,通信技术,生物技术等等诸多新兴技术,它在解决重要部门出入口实现安全防范管理中扮演核心角色,同时也适用于各个领域,如工业,民用,军用,医院,家庭等等3。而经过市场调查,目前市面上的电子密码锁的主控芯片大部分是微型计算机的。单片机与FPGA的区别在于单片机是以软件的形式运行所写代码,运行速度慢,但是FPGA是可用电脑编辑的数字逻辑电路集成芯片,设计者所设计的程序内容,实际上是在设计一个数字电路,因而运行速度相对较快。另外,单片机在实际应用中,程序容易跑飞,所以系统可靠性较差4。而采用基于FPGA的电子密码锁可以实现性能更佳,功能更加全面,能随时按照需求进行升级和扩展,使系统具有相当大的灵活性,因而更受消费者的青睐。国外对电子密码锁的研究比国内早很多,尤其是在欧美发达国家,但是基于FPGA的电子密码锁也只是在近几年在欧美国家和亚洲部分国家研究使用。在国内,随着国内生产商生产硬件的技术逐渐成熟,国内市场也基于FPGA电子密码锁门禁系统的设计1已逐渐进入中高速发展阶段,所以电子密码锁在国内的市场潜力巨大,发展前景值得期待4。12电子密码锁发展背景及国内外现状国内电子锁当下还集中存在一些主要的问题,第一是国内还未颁布关于电子密码锁的产品标准,这对电子锁产品的分类、规格和型号标准都是一大空缺,给生产商和用户带来了诸多不便;第二是电子锁的可靠性,当前电子锁的可靠性很大程度都是取决于电子元器件和制造工艺的严格把关。而当前国内的电子锁生产商因为国内元器件的生产质量问题而不敢使用;第三是电子密码锁的电源问题,当下电子锁电源问题主要集中于整体系统功耗大,备用电源缺少自动充电的功能等5。而目前在西方发达国家,电子密码锁的技术已经相当发达,种类多样,在我国,电子密码锁开发的水平也在不断提高,但还稍落后于西方发达国家的技术水准,所以电子密码锁在我国的发展前景非常可观。希望在国家政策的支持下,我国的电子科学技术能不断提高,使得电子锁也能在我国成为每家每户的必备品5。13设计的目的与意义当前是信息时代,互联网发展迅速,因特网上资料的传播更是迅速,同时,个人甚至团体的隐私保护成了大问题。虽然现在云盘发展的很好,但依然经常看到云盘里资料被盗窃的新闻。所以,将重要信息锁在身边才是最踏实的。但传统的机械锁又十分脆弱,所以电子密码锁便名正言顺的成了最好的管家。电子密码锁不仅使用方便,而且安全系数高,是个人、企事业单位的最佳选择7。14设计方案对比方案一基于微型计算机的电子密码锁设计随着微型计算机开发技术的日益成熟,单片机的性能和特点也越来越人性化,受到广大设计者的青睐,更因为其成本低、体积小、功耗低等特性被广泛运用到人们日常生活当中10。由于微型计算机的可编程性,设计者可以根据实际使用情况增加密码数目,而且具有方便随时修改密码的基于FPGA电子密码锁门禁系统的设计2优点。但是单片机以软件形式运行代码,在实际运用中程序容易跑乱,导致系统的可靠性不高,这在产品生产和使用中是致命的9。方案二基于FPGA的电子密码锁设计随着数字集成电路的发展,FPGA的开发与使用也是越来越广泛。因为FPGA克服了单片机程序易跑飞,系统可靠性差的缺点,让基于FPGA控制的电子产品的性能更上一层,这让电子密码锁的功能扩展与系统的嵌入变得更加灵活。基于FPGA的电子密码锁系统分为矩阵键盘模块、警报模块、显示模块等。该方案的电子密码锁为6位数字密码,输入密码错误后会发出警报,且用户可修改密码。从上述两个方案可以看出,采用以FPGA为主控芯片的电子密码锁不仅性价比更高,而且可以进行功能的扩展,所以采取方案二。15设计内容与要求1、设计一个基于FPGA为核心控制的电子密码锁,密码为6位数字,开锁后可修改密码,且掉电保存;2、按键输入密码,在LCD1602中显示输入状态;3、密码输入正确,则电磁继电器打开,LED灯亮;输入错误,则蜂鸣器发出警报;按复位键恢复原始状态;基于FPGA电子密码锁门禁系统的设计32系统硬件综述21系统设计方案该电子密码锁系统由主控芯片(FPGA),显示电路,报警电路,开/关门电路和键盘组成,而主控芯片又可分为按键处理部分,控制部分和显示部分。该系统总框图如图21所示图21系统总体框图22电子密码锁系统组成电子密码锁系统主要由FPGA主控芯片、LCD1602、电磁继电器、蜂鸣器、LED灯、按键和复位电路组成。FPGA主控芯片FPGA是整个电子密码锁系统的控制核心,接收按键开关状态改变发来的信号,然后再发出处理信号,是按键开关与其他设备的桥梁。LCD1602充当显示屏,时刻显示电子密码锁的输入状态,初始显示“INPUTPASSWORD”,当按动按键输入密码时,密码以“”的形式逐一显示;电磁继电器充当锁的作用,它是通过电信号使电磁铁产生磁性,从而影响触电位置来达到状态变化的效果。当按键输入正确密码按下确认键后,通过FPGA的I/O口向电磁继电器发送信号,将电信号转变为机械能,实现锁的开启与闭合;扫描模块译码模块主控模块显示模块矩阵键盘报警模块FPGA开/关门电路基于FPGA电子密码锁门禁系统的设计4蜂鸣器充当警报器的作用。若输入错误密码,按下确认键后,蜂鸣器收到电信号,出发蜂鸣器发声。键盘16个按键组成4X4键盘,分别有09数字键,重新输入、恢复密码、确认键、闭合键、设置新密码、确认新密码。数字键用于输入密码;按下重新输入键后LCD清空,重新输入密码;恢复密码键是当忘记密码时,恢复初始密码012345;确认键是输入密码后确认输入完成,给芯片发送信号;闭合键是当电磁继电器打开后,按下闭合键,电磁继电器关闭,充当闭合密码锁的作用;按下新密码键后先输入旧密码,再输入新密码,按下确认新密码键后新密码确定。复位电路用于使系统恢复初始状态。23主控模块231CYCLONE器件的介绍CYCLONE现场可编辑门列阵是基于15V,013M,全覆铜静态随机存储器工艺,密度高达20060逻辑元件和高达288KB的随机存取存储器。CYCLONE设备支持各种I/O标准,包括数据速率高达311兆比特每秒(MBPS)和66MHZ,32位,可用于连接和支持ASSP和ASIC设备的外部设备互连总线(PCI)。ALTERA公司还提供新的低成本串口配置设备来配置CYCLONE设备。24键盘模块电路设计241矩阵键盘的设计与原理键盘模块中总共有16个按键,每个按键都与FPGA的I/O口连接。识别按键的方法采用的是通用的列扫描法。列扫描法的原理是先用上拉电阻,这样以后,当没有按键按下时,所有输入端都是高电平,说明无按键按下;若按键按下,则为低电平。首先检测列值的状态,若检测发现有一列的电平为低,则说明这一列上的四个按键中有按键被按下;如果所有列线均为高电平,则没有按键按下。最后,确定了列线状态后,以同样的方法确定行线状态,即可确定按键具体位置15。矩阵键盘模块电路如图22所示。基于FPGA电子密码锁门禁系统的设计5图22矩阵键盘模块电路242键盘具体操作说明键盘为4X4的矩阵键盘,其中十个键代表数字09,其余六个按键分别代表重新输入、恢复密码、确认键、闭合键、设置新密码、确认新密码。数字键用于输入密码;按下重新输入键后LCD清空,可重新输入密码;恢复密码键是当忘记密码时,恢复初始密码012345;确认键是输入密码后确认输入完成,给芯片发送信号;闭合键是当电磁继电器打开后,按下闭合键,电磁继电器关闭,充当闭合密码锁的作用;按下新密码键后先输入旧密码,再输入新密码,按下确认新密码键后新密码确定。当输入错误密码并确认后,电磁继电器不打开,蜂鸣器工作发出警报,此时必须按复位键才能恢复原始状态。25显示模块电路设计251LCD1602的简介字符型液晶显示模块是一种专门用于显示字母、数字等点阵LCD,常用的为LCD1602字符型液晶显示器。LCD1602分为带背光和不带背光,但是两者在应用中无差别。在本次设计中,采用的是带背光的LCD1602。以下为16脚接口的各引脚说明。基于FPGA电子密码锁门禁系统的设计6252显示模块原理该系统设计的显示模块为了能达到显示内容多样化以及给予使用者提醒的作用,系统的显示模块采用了LCD1602作为显示屏而取代了数码管。LCD1602能够显示16列2行,即32个字符。每一个字符都有一个固定的代码,模块会自动识别,把相应的字符显示出来。密码锁系统上电后,LCD1602第一行显示“INPUTPASSWORD”,第二行用于显示系统当前状态。开锁时,按下数字按键输入密码,每按一次LCD上出现一个“”,输入六位密码也就会显示六个“”,按下确认键,LCD显示为“RIGHTOPEN”,同时LED灯亮起,电磁继电器打开。若密码输入错误,则LCD显示“WRONGRETRY”,同时警报器响起,需按复位键重新输入。显示模块电路如图23所示。基于FPGA电子密码锁门禁系统的设计7图23显示模块电路26存储模块电路设计26124C02的简介(1)24C02描述24C02是电可擦除PROM,即E2PROM。待机电流和工作电流分别为1A和1MA。24C02具有页写能力,每页为8字节。24C02具有8PINPDIP和8PINSOP两种封装形式。(2)24C02特点基于FPGA电子密码锁门禁系统的设计8262存储模块原理该模块中数据的存储芯片选用的是24C02,该芯片是电可擦除PROM,即E2PROM。整个电子密码锁系统有掉电保存密码的关键就是这个芯片。首先对24C02初始化,并写入初始密码“012345”进行储存,以便将来用户需要更改密码时与新密码的对比。当用户输入正确密码并确认后,即可按下“修改密码”键进行修改密码,当确认新密码后,新密码便存储在24C02中,当下次给密码锁上电时,密码便为上次修改的新密码。密码存储模块电路如图24所示。图24密码存储模块电路27报警电路设计当输入密码按下确认键后,数据传送至主控芯片,主控芯片将输入的密码与24C02里存储的数据进行比较,若数据不同,则驱动蜂鸣器发出警报。即该模块设计中,当密码不正确时,就会进行报警。报警模块电路如图25所示,在本模块电路中,由于芯片的电流不足以驱动蜂鸣器工作,于是使用了三极管放大电流进而达到驱动蜂鸣器的目的,三极管另外一个作用就是充当开关当I/O口输出高电平时,三极管截止,蜂鸣器无法工作;当I/O口输出低电平时,三极管处于导通状态,蜂鸣器正常工作。同时使用1K电阻限流。基于FPGA电子密码锁门禁系统的设计9图25报警模块电路3系统软件设计与仿真31分频部分程序设计每个模块需要不同的频率,但是分频器的程序都是差不多的。因为芯片为50MHZ时钟,需要经过分频后得到不同的频率,分频后获得的新时钟周期的公式为新时钟周期,其中CNT即为计数子。MSM502计数子位宽分频部分程序如下所示ALWAYSPOSEDGEI_CLK,NEGEDGEI_RST_NIFI_RST_NCNT0ELSECNTCNT1B1WIREKEY_CLKCNT19由于在ALWAYS敏感列表里既有时钟信号I_CLK也有清零信号I_RST_N,所以显然这是异步清零的分频器,即计数器不需要等待下一个时钟信号来临,当接收到清零信号时可以直接清零。32键盘驱动部分321键盘驱动程序设计矩阵键盘驱动程序的关键在于以下的状态机部分。首先检测键盘行值是否出现低电平,即检测是否有按键按下,若有,则依次扫描各列,否则一直处于“没有按键按下”的状态。状态机部分程序如下所示。CASECURRENT_STATE/根据条件转移状态基于FPGA电子密码锁门禁系统的设计10NO_KEY_PRESSED/没有按键按下IFROW4HFNEXT_STATESCAN_COL0ELSENEXT_STATENO_KEY_PRESSEDSCAN_COL0/扫描第0列IFROW4HFNEXT_STATEKEY_PRESSEDELSENEXT_STATESCAN_COL1SCAN_COL1/扫描第1列IFROW4HFNEXT_STATEKEY_PRESSEDELSENEXT_STATESCAN_COL2SCAN_COL2/扫描第2列IFROW4HFNEXT_STATEKEY_PRESSEDELSENEXT_STATESCAN_COL3SCAN_COL3/扫描第3列IFROW4HFNEXT_STATEKEY_PRESSEDELSENEXT_STATENO_KEY_PRESSEDKEY_PRESSED/有按键按下IFROW4HFNEXT_STATEKEY_PRESSEDELSENEXT_STATENO_KEY_PRESSED基于FPGA电子密码锁门禁系统的设计11ENDCASEALWAYSPOSEDGEKEY_CLK,NEGEDGEI_RST_NIFI_RST_NBEGINCOL4H0KEY_PRESSED_FLAG0ENDELSECASENEXT_STATE/根据次态给相应寄存器赋值NO_KEY_PRESSED/没有按键按下BEGINCOL4H0KEY_PRESSED_FLAG0/清键盘按下标志ENDSCAN_COL0/扫描第0列COL4B1110SCAN_COL1/扫描第1列COL4B1101SCAN_COL2/扫描第2列COL4B1011SCAN_COL3/扫描第3列COL4B0111KEY_PRESSED/有按键按下BEGINCOL_VALCOL/锁存列值ROW_VALROW/锁存行值KEY_PRESSED_FLAG1/置键盘按下标志ENDENDCASE基于FPGA电子密码锁门禁系统的设计12这两个状态机为摩尔型有限状态机,即输出只和状态有关而与输入无关。这个状态机是这样工作的在状态机工作之前需要有外部按键按下,当按键按下后,COL30出现低电平输出,由此开始工作。比如我们模拟按下了第3行第3列的按键,则列输出为4B1011,根据状态机程序检测行值ROW30为4B1011不等于4B1111,故标志有按键按下,同时锁存行值、列值。键盘驱动程序在QUARTUS100平台上全编译后,编译报告如图31所示,从得到的编译报告可知,该模块总计逻辑器件40个,总计引脚数19个。31键盘驱动程序编译报告322键盘驱动程序仿真由上一节的键盘驱动程序设计中可看出,因为ALWAYS敏感列表里包含了I_CLK和I_RST_N,所以显然这个状态机是异步清零的,键盘驱动程序仿真如图32所示,从仿真波形可清晰地看见,当I_RST_N变为低电平时,所有输出信号立即清零,即模拟了按下重置键后,所有输出信号初始化的功能。从图32中还可看出,当行输入ROW30为4B1011,且列输出COL30为4B1011时,按键标志位KEY_PRESSED_FLAG置1,输出高电平,表明有按键按下,同时相应寄存器锁存行值、列值后,输出键值KEYBOARD_VAL为8HF9,这就是在矩阵键盘上按下第三行第三列按键的仿真。基于FPGA电子密码锁门禁系统的设计13图32键盘驱动程序仿真波形图33蜂鸣器驱动部分331蜂鸣器驱动程序设计在报警电路设计的分析一节中已经提出,若I/O口输出高电平,则蜂鸣器截止不工作;若I/O口输出低电平,则蜂鸣器导通正常工作。因此在蜂鸣器驱动程序设计中只需设计两个状态即可,用IFELSE语句即可实现指定功能。蜂鸣器驱动部分程序如下所示,ALWAYSPOSEDGEI_CLK,NEGEDGEI_RST_NIFI_RST_NSPEEK1ELSEBEGINIFTIM2B00SPEEK1ELSEIFTIM2B01SPEEK0END由于ALWAYS敏感列表中有I_CLK和I_RST_N两个敏感事件,所以这是异步置位的。蜂鸣器驱动程序在QUARTUS100平台上全编译后,编译报告如图33所示,从得到的编译报告可知,该模块总计逻辑器件1个,总计引脚数5个。图33蜂鸣器驱动程序编译报告基于FPGA电子密码锁门禁系统的设计14332蜂鸣器驱动程序仿真正如上节中关键程序所示,当I_RST_N为低电平时,SPEEK输出为1,相当于I/O口输出高电平,则此时蜂鸣器不工作;当输入信号TIM10为2B00时,SPEEK输出为1,I/O口输出高电平,蜂鸣器不工作;当输入信号TIM10为2B01时,SPEEK输出0,I/O口输出低电平,蜂鸣器不工作;蜂鸣器驱动仿真波形如图34所示。图34蜂鸣器驱动仿真波形34LCD1602驱动部分341LCD1602驱动程序设计在系统运行过程当中LCD只进行写入操作,一是写入指令,二是写入数据,因为RW为读写信号线,当RW为低电平时进行写操作,所以RW应始终为0。又E端为使能端,当时钟信号上升沿来临时,LCD执行命令,因此只需要操作RS信号即可。当RS为1时,LCD写入数据;当RS为0时,LCD写入指令。LCD1602驱动程序中运用到了两个摩尔型有限状态机,一个是对RS的控制和状态的转换,另一个是在相应状态下数据的逐一写入。状态机部分程序如下所示对RS的控制和状态的转换的状态机CASECURRENT_STATEIDLENEXT_STATEDISP_SET/写指令,初始化DISP_SETNEXT_STATEDISP_OFFDISP_OFFNEXT_STATECLR_SCRCLR_SCRNEXT_STATECURSOR_SET1CURSOR_SET1NEXT_STATECURSOR_SET2CURSOR_SET2NEXT_STATEROW1_ADDR基于FPGA电子密码锁门禁系统的设计15ROW1_ADDRNEXT_STATEROW1_0/显示第一行ROW1_0NEXT_STATEROW1_1ROW1_1NEXT_STATEROW1_2ROW1_2NEXT_STATEROW1_3ROW1_3NEXT_STATEROW1_4ROW1_4NEXT_STATEROW1_5ROW1_5NEXT_STATEROW1_6ROW1_6NEXT_STATEROW1_7ROW1_7NEXT_STATEROW1_8ROW1_8NEXT_STATEROW1_9ROW1_9NEXT_STATEROW1_AROW1_ANEXT_STATEROW1_BROW1_BNEXT_STATEROW1_CROW1_CNEXT_STATEROW1_DROW1_DNEXT_STATEROW1_EROW1_ENEXT_STATEROW1_FROW1_FNEXT_STATEROW2_ADDRROW2_ADDRNEXT_STATEROW2_0/显示第二行ROW2_0NEXT_STATEROW2_1ROW2_1NEXT_STATEROW2_2ROW2_2NEXT_STATEROW2_3ROW2_3NEXT_STATEROW2_4ROW2_4NEXT_STATEROW2_5ROW2_5NEXT_STATEROW2_6ROW2_6NEXT_STATEROW2_7ROW2_7NEXT_STATEROW2_8ROW2_8NEXT_STATEROW2_9ROW2_9NEXT_STATEROW2_AROW2_ANEXT_STATEROW2_BROW2_BNEXT_STATEROW2_C基于FPGA电子密码锁门禁系统的设计16ROW2_CNEXT_STATEROW2_DROW2_DNEXT_STATEROW2_EROW2_ENEXT_STATEROW2_FROW2_FNEXT_STATEROW1_ADDRDEFAULTNEXT_STATEIDLEENDCASE在相应状态下数据的逐一写入的状态机CASENEXT_STATE/写指令,初始化IDLEBEGINLCD_DATA8HXXLCD_RS0ENDDISP_SETBEGINLCD_DATA8H38LCD_RS0ENDDISP_OFFBEGINLCD_DATA8H08LCD_RS0ENDCLR_SCRBEGINLCD_DATA8H01LCD_RS0ENDCURSOR_SET1BEGINLCD_DATA8H06LCD_RS0ENDCURSOR_SET2BEGINLCD_DATA8H0CLCD_RS0END/写数据,显示第一行ROW1_ADDRBEGINLCD_DATA8H80LCD_RS0ENDROW1_0BEGINLCD_DATAROW1_VAL127120LCD_RS1ENDROW1_1BEGINLCD_DATAROW1_VAL119112LCD_RS1ENDROW1_2BEGINLCD_DATAROW1_VAL111104LCD_RS1ENDROW1_3BEGINLCD_DATAROW1_VAL10396LCD_RS1ENDROW1_4BEGINLCD_DATAROW1_VAL9588LCD_RS1ENDROW1_5BEGINLCD_DATAROW1_VAL8780LCD_RS1ENDROW1_6BEGINLCD_DATAROW1_VAL7972LCD_RS1ENDROW1_7BEGINLCD_DATAROW1_VAL7164LCD_RS1ENDROW1_8BEGINLCD_DATAROW1_VAL6356LCD_RS1ENDROW1_9BEGINLCD_DATAROW1_VAL5548LCD_RS1ENDROW1_ABEGINLCD_DATAROW1_VAL4740LCD_RS1ENDROW1_BBEGINLCD_DATAROW1_VAL3932LCD_RS1ENDROW1_CBEGINLCD_DATAROW1_VAL3124LCD_RS1END基于FPGA电子密码锁门禁系统的设计17ROW1_DBEGINLCD_DATAROW1_VAL2316LCD_RS1ENDROW1_EBEGINLCD_DATAROW1_VAL158LCD_RS1ENDROW1_FBEGINLCD_DATAROW1_VAL70LCD_RS1END/写数据,显示第二行ROW2_ADDRBEGINLCD_DATA8HC0LCD_RS1ENDROW2_0BEGINLCD_DATAROW2_VAL127120LCD_RS1ENDROW2_1BEGINLCD_DATAROW2_VAL119112LCD_RS1ENDROW2_2BEGINLCD_DATAROW2_VAL111104LCD_RS1ENDROW2_3BEGINLCD_DATAROW2_VAL10396LCD_RS1ENDROW2_4BEGINLCD_DATAROW2_VAL9588LCD_RS1ENDROW2_5BEGINLCD_DATAROW2_VAL8780LCD_RS1ENDROW2_6BEGINLCD_DATAROW2_VAL7972LCD_RS1ENDROW2_7BEGINLCD_DATAROW2_VAL7164LCD_RS1ENDROW2_8BEGINLCD_DATAROW2_VAL6356LCD_RS1ENDROW2_9BEGINLCD_DATAROW2_VAL5548LCD_RS1ENDROW2_ABEGINLCD_DATAROW2_VAL4740LCD_RS1ENDROW2_BBEGINLCD_DATAROW2_VAL3932LCD_RS1ENDROW2_CBEGINLCD_DATAROW2_VAL3124LCD_RS1ENDROW2_DBEGINLCD_DATAROW2_VAL2316LCD_RS1ENDROW2_EBEGINLCD_DATAROW2_VAL158LCD_RS1ENDROW2_FBEGINLCD_DATAROW2_VAL70LCD_RS1ENDENDCASELCD1602驱动程序在QUARTUS100平台上全编译后,编译报告如图35所示,从得到的编译报告可知,该模块总计逻辑器件75个,总计引脚数13个。基于FPGA电子密码锁门禁系统的设计18图35LCD1602驱动程序编译报告342LCD1602驱动程序仿真LCD1602驱动程序仿真波形如图36所示,每当使能端从“0”变为“1”时,LCD执行一次指令。当RS为“0”时,LCD写指令,并完成初始化;当RS为“1”时,LCD写数据,LCD逐一写入“INPUTPASSWORD“的ASCII码。图36LCD1602驱动初始化仿真波形基于FPGA电子密码锁门禁系统的设计194系统实现41系统功能验证如图41所示为该系统上电后初始状态的实物图图41系统初始状态输入正确密码按下确认键后,如图42所示,开锁功能实现。基于FPGA电子密码锁门禁系统的设计20图42系统开锁状态按下重置键恢复为初始状态,输入错误密码按下确认键后,或者密码输入超过六位,系统发出警报。如图43所示,警报功能实现。图43系统警报状态系统开锁后,按下设置新密码键,即可进入设置新密码状态,如图44所示。基于FPGA电子密码锁门禁系统的设计21图44设置新密码42结论本系统设计采用EP1C3T100C8N为主控芯片,主要通过计算机软件平台QUARTUS编程,再结合外围电路实现电子密码锁的基本功能若用户输入正确密码并按下确认键,则模拟密码锁即电磁继电器就会打开,LED灯亮,LCD显示“INPUTPASSWORD”以提示系统当前状态为开锁状态,密码锁开锁后系统不会自动闭锁,需要用户自己按下闭锁按钮才能将模拟密码锁闭合;若用户输入错误密码,则蜂鸣器发出持续警报,LCD显示“WRONGRETRY”以警告系统当前状态,若用户要解除警报,需按下复位按钮才能接触警报;更改密码需要在开锁状态下进行,用户按下新密码按钮后进入修改密码状态,输入新密码,再按下确认新密码按钮,则密码修改成功。总体上,本次设计的基于FPGA的电子密码锁能够实现基本功能,但是依然存在一些不足和缺陷首先,按键上没有标志出相应标识,其次,密码锁开锁后不能经过一段时间自动闭锁;最后,液晶显示器的选择为基于FPGA电子密码锁门禁系统的设计22LCD1602虽然能满足系统的功能需求,成本也比较适中,但它不能显示图像;在本次设计过程中,从前期资料的查找与阅读到后期具体细节的落实,这一过程让我获益匪浅,不仅回顾了以往学过的VERILOG语言和熟悉了安装和使用QUARTUS软件,更让我对模块代码的查找和改写有了一定的经验。虽然这次设计成品不是百分百自己的汗水,但也是第一次感受到了科研精神的可敬和重要性。总之,在这次过程中,我学到了很多东西,感触也很多,在以后的生涯中,我一定保持科研精神,继续努力。致谢时光飞逝,大学四年时光转瞬间就过去了,在本科的学术生涯在这个季节即将划上一个句号,而对于我的人生却只是一个逗号,我将面对的又是另一场征程。回顾四年求学生涯,虽然一路坎坷,但在老师和亲友的的大力支持下,也是收获满囊,这些成绩的取得是和一直关心帮助我的人分不开的。在论文即将结束之际,突然有好多话想对老师、同学和家人说。首先,是我的导师。我虽然不是您最优秀的学生,但您一直是我最尊敬的老师。在刚进入大三的时候,我还是一位不学无术的学生,但幸运的是我选修到了您的课程,在课上您对我们的谆谆教诲让我改变了对学习的态度,对自己专业的看法,后来您又给我们讲了您在华南理工大学读研期间当中同学的学习态度让我逐渐对华南理工大大学开始向往。可以说那几句话更是改变了我人生轨迹。自那以后,我认真对待每一节专业课,并暗下决心考华南理工大学的研究生。到了大三下,认真准备研究生考试,期间时不基于FPGA电子密码锁门禁系统的设计23时得到老师您的指导,对我的备考得到了很大的帮助。经过一年的备考后,虽然最终没能考上华南理工大学,但最终也调剂到了兰州大学,也算没有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卫生管理社会支持网络试题及答案
- 激光应用的实际案例考题试题及答案
- 药房的管理流程及工作注意事项试题及答案
- 深化网络设计师考试的创新与思考能力试题及答案
- 物理老师考编试题及答案
- 税务师考试方法与原则的结合探索试题及答案
- 营养师在慢性病管理中的应用和考试试题及答案
- 育婴师职场沟通与协调能力考核试题及答案
- 系统架构设计师考试中的团队合作能力试题及答案
- 河南电大试题库及答案
- 代理购买专利合同范例
- 合作卖鸡合同范例
- 2025年全国叉车证理论考试题库(含答案)
- 本科生毕业论文写作指导-课件
- DB21∕T 2179-2013 数字化社区教育(学习)实施规范
- 2024年我国人口老龄化问题与对策
- 生物质气化耦合氢合成绿色甲醇一体化项目可行性研究报告写作模板-申批备案
- 新146道100以内四个数字的加减法混合题目
- 小学语文“的、地、得”专项练习(附答案)
- 《机器人技术应用项目教程》(第二版)课件 2-项目三 威纶触摸屏的组态设计 任务一 触摸屏的组态与连接;触摸屏控制气缸推动
- 《Linux系统管理与配置》课件-项目三-任务5-Linux防火墙
评论
0/150
提交评论