四川信息职业技术学院毕业设计说明书(论文)设计(论文)题目:基于CPLD/FPGA的电子密码锁专业:通信技术班级:通技06-2学号:0620054姓名:刘剑指导教师:潘锋谭望春二ΟΟ八年十二月三十日四川信息职业技术学院毕业设计(论文)任务书学生姓名刘剑学号0620054班级通技06-2专业通信技术设计(或论文)题目基于CPLD/FPGA的电子密码锁指导教师姓名职称工作单位及所从事专业联系方式备注潘锋讲师四川信息职业技术学院电子系0839-2853016谭望春高级工程师四川九洲电子科技股份有限公司13508101878设计(论文)内容:(1)设计指标①具有密码输入功能,密码最多为4位;②设置退格键,以便删除输入错误的密码;③在输入的密码时数码管上只显示8,并根据输入位数依次横移;④设置确认键,当确认键按下后,判断输入密码是否正确;⑤当输入密码正确时,点亮发光二极管;当输入密码不正确时,发光二极管不亮并且蜂鸣器报警,重新输入,当三次密码输入不正确时,系统应锁定键盘10s。⑥将用户分为管理者和使用者,管理者拥有超级密码,可以修改其他人的密码。使用者不能修改密码。(2)设计要求①画出电路原理图(或仿真电路图);②元器件及参数选择;③CPLD器件逻辑设计与编程;④电路仿真与调试;⑤PCB文件生成与打印输出。进度安排:第5周:任务下达,理解消化任务要求;初步设计方案确定;第6周~第10周:设计方案确定,分模块部分完成;第11周:中期检查,查找问题,分析解决难点;第12周~第15周:分模块调试,整体电路调试,论文书写等;第16周:答辩。主要参考文献、资料(写清楚参考文献名称、作者、出版单位):审批意见教研室负责人:年月日备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份。四川信息职业技术学院毕业设计说明书I目录摘要.................................................................1第1章绪论...........................................................2第2章方案设计.......................................................32.1设计要求.......................................................32.2方案比较.......................................................3第3章单元电路设计...................................................63.1主控芯片的选择.................................................73.2输入部分电路设计...............................................73.1.1矩阵键盘模块.............................................73.1.2键盘扫描模块.............................................83.1.3弹跳消除模块.............................................83.1.4键盘译码模块.............................................93.3控制部分电路设计...............................................93.4输出部分电路设计..............................................10第4章系统仿真测试..................................................11总结................................................................13参考文献..............................................................14附录源程序........................................................15四川信息职业技术学院毕业设计说明书第1页共16页摘要近年来,电子密码锁的使用越来越广泛,目前使用的电子密码锁大部分是基于单片机用分离元件实现的,其电路比较复杂、性能不够灵活、成本较高且可靠性和安全性差。基于此,本文设计了一种新型的电子密码锁,其采用先进的EDA技术,利用MAX+PLUXⅡ工作平台,CPLD芯片和VHDL语言,阐述了其工作原理和软硬件设计方法。该密码锁通过扫描电路、键盘译码电路、弹跳消除电路、比较电路和七段译码电路等实现了密码输入、数码清除、密码激活、电锁解除、密码更改和误码报警等功能,用一片复杂可编程逻辑芯片CPLD实现,因此它体积小、功耗低、价格便宜,维护和升级都十分方便,具有较好的应用前景。关键词电子密码锁VHDLFPGA/CPLD四川信息职业技术学院毕业设计说明书第2页共16页第1章绪论随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。在EAD桌面设计环境下用计算机来完成电路的系统综合设计和仿真。作为学习通信专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。科学的进步要求我们在不断的实践中熟练各种制板的技术,并不断地总结经验。这次课设对我们来说非常重要,这是我们第一次独立地完成一篇相对完整的学科设计,好的开头是成功的第一步,我们更应该加倍努力去完成,尽力做到最好,为将来的学习及毕业设计的完成奠定良好的基础!本文概述了电子制作软件的操作知识以及数字电路的基本知识,介绍了本次课设的设计过程以及相关的数字电路知识,包括数字电路知识、设计原理、原理图制作、心得等内容。四川信息职业技术学院毕业设计说明书第3页共16页第2章方案设计2.1设计要求设计一个基于CPLD/FPGA的电子密码锁。当输入密码正确时,点亮发光二极管;当输入密码不正确时,发光二极管不亮并且蜂鸣器报警,重新输入,当三次密码输入不正确时,系统应锁定键盘10s。将用户分为管理者和使用者,管理者拥有超级密码,可以修改其他人的密码。使用者不能修改密码。2.2方案比较方案一:采用数字逻辑电路制作,用IC组件焊接实现。其特点是直接用现成的IC组合而成,简单方便,但由于使用的器件较多,连线复杂,体积大,功耗大,焊点和线路较多将使成品稳定度与精确度大打折扣。方案一的原理方框图如图2-1所示。图2-1基于数字逻辑电路的电子密码锁采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数密码修改电路键盘输入限时报警报警次数检测市电供电电路电子切换开关蓄电池断电检测充电电路锁定5分钟密码校验电路开锁电路执行电路开始计时消除报警信号正确开门电源VCC锁定脉冲3220V6V四川信息职业技术学院毕业设计说明书第4页共17页字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。方案二:采用单片机实现,通过软件编程,仿真后将程序用编程器写入到单片机芯片上,该方案成本低,稳定度较好,但外围电路也较多,调试不够直观方便灵活。采用一种是用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。方案二的原理如图2-2所示。图2-2基于单片机的电子密码锁方案三:采用可编程逻辑器件(CPLD)制作,利用EDA软件编程,下载烧制实现。将所有器件集成在一块芯片上,体积大大减小的同时还提高了稳定性,并且可应用EDA软件仿真,调试,每个设计人员可以充分利用软件代码,提高开发效率,缩短研矩阵键盘控制89S51单片机指示电路开锁控制电路延时报警控制电路输入错误锁定键盘AT24C02掉电存储串口显示电路四川信息职业技术学院毕业设计说明书第5页共17页发周期,降低研发成本。实现方法灵活,调试方便,修改容易。比较以上几种方案,易见采用方案三更优。四川信息职业技术学院毕业设计说明书第6页共16页第3章单元电路设计本论文设计的电子密码锁主要由输入部分、控制部分和输出部分组成其硬件结构图如图3-1所示。其中输入部分包括3х4矩阵键盘、弹跳消除电路、键盘译码电路、键盘扫描电路、控制部分包括按键存储电路、密码存储电路、比较路输出部分包括多路选通器、七段译码器、扫描信号发生器。其中键盘扫描模块、弹跳消除模块、键盘译码块、控制模块、多路选通模块、七段译码模块都是通过软件实现的。下面对本次设计的主要模块进行一一讨论。图3-1基于CPLD的电子密码锁的结构框图弹跳消除路键盘译码路键盘扫描电路按键数据缓存器密码锁存器比较器多路选通器七段译码器时钟发生器扫描信号发生器比较结果输出修改密码时输入开锁时输入工作时钟脉冲信号按键数据键盘输入CLK-scan七段码输出clk1四川信息职业技术学院毕业设计说明书第7页共17页3.1主控芯片的选择本电路的主要控制部分和接口输入部分都是在CPLD内部通过VHDL语言实现的,所以CPLD模块位本设计的核心。根据系统要求的功能,以及CPLD芯片容量的分级,本论文选用ALTERA公司MAX7000S系列的EPM7128SLC器件作为主控芯片,它是一种基于乘机项结构的复杂可编程逻辑器件,它的基本逻辑单元时由一些与、或阵加上触发器构成,其中与或阵列完成组合逻辑功能,触发器完成时序逻辑。它的逻辑控制灵活,可反复编程,有利于系统的扩展和改进,而且其集成度高,保密性好。3.2输入部分电路设计3.1.1矩阵键盘模块本次设计选用的是3X4矩阵键盘,基本结构如图3-2所示,它是用3条I/O线作为行线,4条I/0线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键,当某键被按下时,该按键的接点会连接行线和列线,这样有按键按下时行线呈现逻辑0的状态,未按下时则呈现逻辑1状态。图3-2键盘电路键盘电路的工作原理时通过行线送入扫描信号,然后从列线读取状态判断是否有按键按下。其方法时依次给行线送低电平,检查列线的输出。如果列线信号为高电平,则代表低电平信号所在的行中无按键按下;如果列线输入为低电平,则低电平信号所在的行和出现低电平的列的交点处有按键按下。扫描信号由KY3-KY0进入键盘,变化的顺序依次是:1110-1101-1011-0111-1110,每次扫描一行,依次循环。假设现在扫描信号为1101,即扫描“4”、“5”、“6”这一排按键,如果这排当中没有按键被按下的话,则列扫描信号KX2-KX0读出的值为111;反之,当6按键被按下时则由KX2-KX0读出的四川信息职业技术学院毕业设计说明书第8页共17页值位110,其他依次类推。由于矩阵式键盘是无法独自地完成按键工作的,要搭配时序产生电路键盘扫描电路弹跳消除电路键盘译码电路才能可靠工作。键盘