智能保险柜防控系统的设计.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
十二、设计结论及评价 优点:由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展。而且系统设计完善以后还可以将主控的FPGA固化成一片ASI,那么这块ASIC就可以作为专用的数字密码锁芯片。 不足:密码锁外围电路比较复杂,系统可靠性差,密码的数量少,尤其是系统的程序不够稳定,功率较大,需要专门的电源供电。 结论:在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,和同学们相互探讨,相互学习,相互监督。学会了合作 谢谢大家! * * 题目:基于Verilog HDL的智能保险 柜防控系统的设计 一、设计的背景、目的和意义 背景:锁是一种保险措施,是人类为了保护自己私有财产而发明的一种钥匙才能开启的装置,随着人们生活水平的提高和安全意识的加强,对锁的要求也越来越高,智能保险柜在这时应求而生。 目的和意义:满足现代社会的防盗需要,避免钥匙极易丢失的缺陷,保险柜有保密性高,使用时活性好,安全系数高的特点。 二、设计任务及要求 1.设计一个密码锁,密码为一个4位的十进制数,密码固化在锁内 2.用户输入密码正确,则开锁灯亮;若不正确,则报警. 3.若用户输入密码不正确,可以按复位键重新输入密码,重复三次锁死。 三、确定输入和输出变量 输入:K0,K1,K2,K3,K4,K5,ret,clk 输出:passed,error K0,K1,K2,K3,K4,K5代表数字0-9共10个数字和1个确认键,1个复位键 四、输入变量对应部件说明 考虑到按键数目不够,采用了一位按键作为功能转换按键;即前5位按键输入0~4,同时按下功能转换按键时,按键0~4即转换为按键5~9,这就弥补了按键数目的不足。最后两位按键设定为确认输入按键和复位按键。密码输入完成后可以按确认键检验密码的正误,报警、输入错误或者其他情况可以按复位按键重新输入。 五、方案论证 方案1:基于Verilog HDL原理实现 方案2:基于单片机原理实现 确定选择方案1,理由是单片机 操作复杂,数字电路过程容易调试 六、状态机设计(状态转换图) 状态图 七、程序设计(状态编码) module passwd_lock(clk0,passed,one1,two1,three1,four1,zero1,change,error,resetb); input one1,two1,three1,four1,zero1,change; reg zero,one,two,three,four; input yes; input resetb; //输入复位信号 input clk0; //输入时钟信号 output [7:0] passed; //输出信号 output [7:0] seg;//////段选 output [7:0] dig;//////位选 程序设计 reg [3:0] key; reg RXBuf0,RXBuf1,RXBuf2,RXBuf3,RXBuf4; //display reg clk0_div; reg [2:0] digyi;////////////yiwei//// reg [7:0] dig;/////////////weixuan reg [3:0] seg0;/////////////duanxuan reg [7:0] seg; reg [12:0] CNT_R0; reg [18:0] CNT_R1; reg clk1; reg [21:0] CNT_R2; reg clk2; reg [7:0] passed; 程序设计 parameter PASSWORD=16b0001000100010001;//盛放密码的参数 reg [15:0] password;//输入数值盛放寄存器 //输入的数字编码 always @( posedge clk1 ) begin //检测线路的下降沿 RXBuf1 = one1; one = ~(RXBuf1 ( ~one1 )); // RXFall1=RXFall; end //消除多重按键 always @( posedge clk1 ) begin //检测线路的下降沿 RXBuf0 = zero1; zero = ~(RXBuf0 ( ~zero1 )); // RXFall1=RXFall

文档评论(0)

企管文库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档