智能密码锁控制系统设计.ppt
- 文档编号:2750748
- 上传时间:2022-11-11
- 格式:PPT
- 页数:25
- 大小:1.70MB
智能密码锁控制系统设计.ppt
《智能密码锁控制系统设计.ppt》由会员分享,可在线阅读,更多相关《智能密码锁控制系统设计.ppt(25页珍藏版)》请在冰豆网上搜索。
题目:
智能密码锁控制系统设计大作业摘要基于FPGA设计的点子密码锁是一个小型的数字系统,与普通机械锁相比,具有许多独特的有点:
保密性好,防盗性强,可以不用钥匙,记住密码即可开锁等。
目前使用的点子密码锁大部分是基于单片机技术,在实际应用中,程序容易跑飞,系统的可靠性较差。
此设计是一种基于现场可编辑门阵列FPGA器件的电子密码锁的设计方法,采用VHDL语言对系统进行描述,并在EP3C10E144C8上实现。
设计的背景、目的和意义密码锁就是要有一定的自我保护功能,并且能够定时更新防止破译的危险。
密码锁控制器是硬件与软件的结合。
VerilogHDL只需要根据系统设计的要求施加不同的约束条件,即可设计出实际电路。
利用计算机的强大功能,在EDA工具的支持下,把逻辑验证与具体工艺库相匹配,将布线及延迟计算分成不同的阶段来实现,减少了设计者的繁重劳动。
设计任务及要求课程设计的任务设计一个6位的数字密码锁,利用VerilogHDL语言来实现,并用Quartus记性仿真与测试。
课程设计的要求设计一个简单的数字密码锁,密码为3位1.在内部设置密码,其密码用3位十进制数表示2输入密码时,每次输入一位数,输入后按#进行确认。
3当输入的密码顺序与设置的密码一致时,密码锁打开,否则,则报警。
连续三次错误则锁死。
确定输入和输出变量Input:
nRST,MIMA_IN,QUEREN,CLK;Output:
OPEN,ERROR;确定输入状态input:
output:
CLK:
主时钟open:
开锁成功open=1nREST:
复位ERROR:
开锁错误QUEREN:
确认密码ERROR=1MIMA_IN:
密码输入整体设计框图方案论证方案1:
采用数字电路控制,用以CMOS构成的数字逻辑电路作为密码锁的控制核心,用verilogHDL硬件描述语言来进行仿真。
方案2:
采用以AT89C51单片机为核心控制的方案。
能完成开锁,修改密码,密码错误报警,LCD显示密码等基本的密码锁功能。
基于单片机的实现方案原理复杂,调试比较麻烦,所用到的器件比较多,而用数字电路的实现过程相对而言比较简单,软件易于实现,容易调试。
状态机设计(状态转换图)状态机设计(状态编码)odulemimasuo(clk,/主时钟,直接接17号引脚,不需要外接nrst,/复位按键,接上面一排的按键mima_in,/密码输入,接三个下面的拨码开关queren,/确认输好密码,接上面一排的按键lock,/三次错误,锁死,接LED灯0-锁死open/密码正确,打开,接LED灯0-打开);parametermima=3b011;/设置默认密码inputclk;inputnrst;input2:
0mima_in;inputqueren;outputlock;outputopen;regis_right;reg1:
0count;reg3:
0cs;/当前状态reg3:
0ns;/下一个状态parameter3:
0idle=4b0001,tanqi=4b0010,sancisuosi=4b0100,kaisuo=4b1000;/四个状态,空闲,确认键按下,三次锁死,成功开锁wirekey_out;/将确认键消抖后给了输出detectu1(.clk(clk),.reset(nrst),.pin_in(queren),.h2l_sig(h2l_sig);/按键消抖模块delayu2(.clk(clk),.reset(nrst),.h2l_sig(h2l_sig),.pin_out(key_out);/按键消抖模块/第一个always语句块,顺序状态转化(三段式第一段)always(posedgeclk,negedgenrst)beginif(!
nrst)cs=idle;elsecs=ns;end/第二个always语句块,根据不同的输入转换到不同的状态(三段式第二段)always(nrst,cs,key_out,count)begincase(cs)idle:
if(key_out)ns=tanqi;elsens=idle;tanqi:
if(count=2d3)ns=sancisuosi;elseif(count2d3&is_right)ns=kaisuo;elsens=idle;sancisuosi:
ns=sancisuosi;kaisuo:
ns=kaisuo;endcaseend/标志寄存器,判断密码输入是否正确regrlock;regropen;/密码输入错误计数/第三个always模块,状态机的输出,根据状态不同输出不同的信号(三段式第三段)always(posedgeclk,negedgenrst)beginif(!
nrst)rlock,ropen=2b11;elsebeginrlock,ropen=2b11;case(cs)idle:
rlock,ropen=2b11;tanqi:
rlock,ropen=2b11;sancisuosi:
rlock,ropen=2b01;kaisuo:
rlock,ropen=2b10;endcaseendend/第4个always语句块,在确认键按下的时候判断密码是否正确同时使错误数加一,来判断是否进行锁死always(negedgequeren,negedgenrst)beginif(!
nrst)begincount=0;is_right=0;endelseif(!
queren)if(mima_in=mima)is_right=1;elsebegincount=count+1b1;is_right=0;endendassignopen=ropen;assignlock=rlock;endmodule状态机设计原理图RTL图仿真时序图正确开锁的时序图演示照片三灯亮表示密码正确开锁三五两灯同时亮表示密码输入错误并且报警四个灯亮表示连续输入三次错误密码锁死并且报警设计结论及评价优点:
设计的密码锁控制器设置的是六位密码,在系统复位后,用户按键6次,输入一个完整的密码串,输入完后,系统会进行比对,如果发现密码吻合,则开门,否则系统报警,直到输入正确的密码,报警声停止。
这样的设计可以很好的满足人们的日常需求。
同时,密码锁还具有密码修改功能,方便操作,使得密码锁的使用更加安全、便捷。
不足:
在软件、硬件设计和仿真过程中遇到不少问题,但最终还是把它们解决了,使得设计符合要求。
结论:
智能密码锁由于采用VerilogHDL语言设计,用一片FPGA芯片来实现,因而体积小,功耗低,稍加修改就可以改变密码的位数和输入密码的次数,而升级和维护都很方便,而且容易做成ASIC芯片,具有较好的应用前景。
但由于结构还比较简单,有待进一步完善。
谢谢大家!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 密码锁 控制系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)