基于Verilog HDL的数字密码锁的设计(4)

2019-01-10 12:53

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 reg Mux_out;

always @(posedge CLK or negedge nRESET) begin: statereg if (~nRESET)

begin CurrentState<=S0; nCLR<=1’b0; end else

begin CurrentState<=Nextstate; nCLR<=1’b1; end end// statereg

always @(BIT or READ or TRY or B or M or CurrentState) begin:fsm OPEN=1’b0; ERROR=1’b0; CNT=1’b0; case(CurrentState) S0:begin

NextState=S1; end S1:begin

CNT=(~TRY&READ==1’b1); if(TRY) NextState=S5; else if(~READ) NextState=S1; else if(~B)NextState=S5; else if(M) NextState=S2; else NextState=S3; end S2:begin if (READ) =S5;

else if(~READ) NextState=S2; else NextState=S4;

16

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 end S3:begin NestState=S1; end S4:begin OPEN=1’b1; NextState=S4; end S5:begin ERROR=1’b1; NextState=S5; end

default:NextState=S0; endcase end

always @(posedge CLK or negedge nCLR) begin:counter

if (~nCLR) Q<=3’b000; else if(CNT==1’b1)Q<=Q+1'b1; else Q<=Q; end

assign M=(Q==3’b111); assign{A2,A1,A0}=Q; assign D=password;

always @(A2 or A1 or A0 or D) begin : Muxltiplexer case({A2,A1,A0}) 3’d0:Mux_out=D[0]; 3’d1:Mux_out=D[1]; 3’d2:Mux_out=D[2]; 3’d3:Mux_out=D[3]; 3’d4:Mux_out=D[4]; 3’d5:Mux_out=D[5]; endcase

17

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 end

assign B=( Mux_out~^BIT); endmodule

4.3 系统测试(要求测试环境、测试仪器、测量数据) 测试环境:Windows操作系统、QuartusⅡ开发平台 测试仪器:EDA实验箱、QuartusⅡ软件下的仿真 仿真时序图:

正确开锁的时序图

错误开锁的时序

4.4 数据分析(对比系统功能及参数与设计要求是否相符)

由系统的时序仿真图可以看出,当我们输入的密码数字和系统原始预设的密码顺序一样时,我们所设计的密码锁可以正确开锁,而当输入密码与原始预置密码不一样时,系统将发出警报,无法进行开锁,因此我们所设计的系统达到了设计的要求。 5 总结

5.1 设计小结

本次设计是以FPGA 为设计载体,以硬件描述语言 Verilog HDL为主要表达方式,

18

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 以 QuartusⅡ开发软件和GW48EDA开发系统为设计工具,设计了一种具有密码输入、密码重置、正确开锁和错误报警等功能的电子密码锁。同时阐述电子密码锁的工作原理和软硬件实现方法,在QuartusⅡ环境下进行电路的模拟仿真,反馈结果可以验证程序设计的可行性与可靠性,对该电子密码锁进行时序仿真和硬件验证的结果表明:该电路能够实现所要求的功能。

设计的密码锁控制器设置的是六位密码,在系统复位后,用户按键6次,输入一个完整的密码串,输入完后,系统会进行比对,如果发现密码吻合,则开门,否则系统报警,直到输入正确的密码,报警声停止。这样的设计可以很好的满足人们的日常需求。同时,密码锁还具有密码修改功能,方便操作,使得密码锁的使用更加安全、便捷。 5.2 收获体会

在软件、硬件设计和仿真过程中遇到不少问题,但最终还是把它们解决了,使得设计符合要求。除了自己思考设计之外,这与和本组成员的同心协力的合作与讨论是分不开的的。相互的探讨使得我们的思路更加开阔,解决问题的办法也更多。总之,此次课程设计让我收益良多,同时因为有了实践操作,对《基于VerilogHDL的现代数字电路与系统》课程所学内容也有了更深的记忆和理解,对EDA技术额能够更好的掌握和应用了。

通过这一课程设计使我们将课堂上的理论知识有了进步的了解,并增强了对EDA这门课程的兴趣。了解了更多的分析调试和解决问题的能力,但同时也暴露出我在知识上掌握不足等缺点;其次在此次设计过程中由于我们频繁的使用一电子设计软件,因此使我熟悉了软件的使用,同时在电脑的电子设计有了进一步提高。

在设计过程中遇到了一些问题,使得我得和同学一起配合,查找相关资料,从而增长知识的同时增强解决问题和动手的能力。这一课程设计,使我向更高的精神和知识层次迈向一大步。

在以后的学习生活中,我会努力学习,培养自己独立思考的能力,积极参加多种设计活动,培养自己的综合能力,从而使得自己成为一个有综合能力的人才而更加适应社会。 5.3 展望

智能密码锁由于采用Verilog HDL语言设计, 用一片FPGA芯片来实现,因而体积小,功耗低,稍加修改就可以改变密码的位数和输入密码的次数,而升级和维护都很方

19

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 便,而且容易做成 ASIC 芯片,具有较好的应用前景。但由于结构还比较简单,有待进一步完善。

6参考文献

[1] 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006. [2] 阎石主编.数字电子技术基础. 北京:高教出版社,2003.

[3]王金明.数字系统设计与Verilog HDL.EDA工具应用丛书.电子工业出版社,2009.1 [4]谭会生等主编. EDA技术及应用,西安电子科技大学出版社,2001

[5] (美国)Sanir Palnitkar著,夏宇闻 胡燕祥 刁岚松等译.Verilog HDL数字设计与综合(第2版).电子工业出版社,2009年7月1日.

7附录

系统主要功能展示图

密码锁控制的开锁过程时序图:

器件清单

器件 计算机 EDA实验箱 键盘按键 电源 电源 电源 导线 型号 Windows操作系统 / / 5V 3.3V 12V / 数量 1台 1个 12个 1个 1个 1个 若干 作用 仿真的环境平台 硬件连接 数字的键入 供电 供电 供电 连接电路 20

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 报警器 拨码开关 / /

1个 1个 密码错误时进行报警 / 21


基于Verilog HDL的数字密码锁的设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:泵与泵站课程设计计算说明书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: