五邑大学—EDA密码锁课程设计报告
数字密码锁课程设计eda

数字密码锁课程设计eda一、课程目标知识目标:1. 学生理解数字密码锁的基本原理,掌握其组成部分及功能。
2. 学生掌握二进制数与十进制数的转换方法,并能应用于数字密码锁的设计与破解。
3. 学生了解数字密码锁的安全性评估标准,能分析常见密码锁的优缺点。
技能目标:1. 学生能运用所学知识设计简单的数字密码锁,具备实际操作能力。
2. 学生能通过小组合作,进行数字密码锁的破解,提高问题解决能力。
3. 学生能运用所学知识,对数字密码锁的安全性进行评估,提升分析能力。
情感态度价值观目标:1. 学生对数字密码锁产生兴趣,培养对电子技术的热爱。
2. 学生在小组合作中,学会沟通、协作,培养团队精神。
3. 学生认识到数字密码锁在生活中的应用,增强学以致用的意识。
本课程针对五年级学生,结合其年龄特点,注重培养学生的学习兴趣和动手能力。
课程性质为实践性较强的信息技术课程,要求学生在掌握基本原理的基础上,能将所学知识应用于实际操作。
通过本课程的学习,旨在提高学生的信息技术素养,培养创新精神和实践能力。
教学要求以学生为主体,注重启发式教学,引导学生主动探索、合作交流,实现课程目标的达成。
后续教学设计和评估将围绕以上具体学习成果展开。
二、教学内容1. 数字密码锁基本原理:介绍密码锁的起源、发展及分类,重点讲解数字密码锁的工作原理和组成部分。
2. 二进制与十进制转换:回顾二进制与十进制的概念,讲解转换方法,并通过实例进行操作演示。
3. 数字密码锁设计与制作:讲解数字密码锁的设计方法,引导学生动手制作简单的数字密码锁,并分析其安全性。
4. 数字密码锁破解:介绍常见的密码破解方法,组织学生进行小组合作,尝试破解数字密码锁,提高问题解决能力。
5. 数字密码锁安全性评估:讲解安全性评估标准,分析各类数字密码锁的优缺点,提升学生的分析能力。
教学内容安排和进度:第一课时:数字密码锁基本原理、二进制与十进制转换;第二课时:数字密码锁设计与制作;第三课时:数字密码锁破解;第四课时:数字密码锁安全性评估。
EDA综合课程设计电子密码锁

EDA综合课程设计----电子密码锁一.EDA综合设计的任务和要求1 EDA综合设计的任务:利用Verilog HDL语言来设计一个8位的电子密码锁,并用FPGA 实现。
2 EDA综合设计的要求:(1)设计一个简单的数字密码锁,密码为8位,其功能:开锁代码为8位二进制数,串行输入,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时方可开锁,并点亮开锁指示灯。
否则,系统进入“错误”状态,并发出报警信号。
(2)串行电子密码锁的报警方式是点亮指示灯,并使喇叭鸣叫报警,直到按下复位开关,报警才停止。
此时,电子密码锁又进入等待下一次开锁的状态。
(3)扩展功能:锁内给定的密码可调,且预置方便,保密性好。
3 verilog HDL与FPGA简介Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
Verilog HDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。
前者由Gateway Design Automation公司(该公司于1989年被Cadence 公司收购)开发。
两种HDL均为IEEE标准。
[1]Verilog HDL是一种优秀的硬件描述语言,它与C语言有许多相似之处,并继承和借鉴了C 语言的多种操作符和语法结构,有C语言基础的人很快就能够学习并使用该语言。
电子设计中,系统开发平台为QuartusⅡ。
QuartusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
在Quartus Ⅱ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
eda课程设计数字密码锁

实验报告实验项目名称:密码锁的设计实验项目性质:普通实验所属课程名称:VHDL程序设计实验实验计划学时:4一、实验目的掌握VHDL程序设计方法二、实验内容和要求(1) 密码器的工作时钟由外部晶振来提供时钟频率,默认为1Hz(2) 密码的设置和输入由外接键盘完成;(3) 密码可以由锁的所有者随意设置并可更改,这里采用3位十进制数字作为密码(4) 不小心输错1位密码可以重新输入;(5) 对输入的密码数字进行显示;(6) 密码输入正确后密码锁将开启并且出现输入有效指示,如绿灯亮;(7) 密码输错后会出现错误指示,如红灯亮。
连续输错3次则扬声器发出报警信号,只有锁的所有者才能解除报警。
(8)在触动第一个按钮后的5秒内若未将锁打开,则电路自动进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号,30分钟后自动解锁。
在软件工具平台上,进行VHDL语言的各模块编程输入、编译实现和仿真验证。
三、实验主要仪器设备和材料计算机四、实验方法、步骤及结构测试1系统设计与方案论证2系统功能描述3设计4用VHDL文本输入方式,进行各个模块的设计输入、编译和仿真分块单独调试仿真5总结一.设计1系统设计根据系统的设计要求,系统设计采用自顶向下的设计方法。
顶层设计采用原理图的设计方式和系统的整体组装,分别由控制模块、寄存器模块、比较器模块等部分组成。
即按照这三个组成模块定义相应的芯片引脚和输入输出的参数。
2模块功能系统主要由3个模块组成,分别是控制模块、寄存器模块、比较器模块。
2.1 控制模块控制模块采用有限状态机设计,将系统分为7个状态,即开锁状态(outlock)、安锁状态(inlock)、输入密码状态(input)、密码初验正确状态(right)、密码初验错误状态(wrong)、报警状态(alarm)、修改密码状态(change)。
状态转移图如图2-2-1。
图2-2-1 状态转移图系统上电时,处于开锁状态,当输入修改密码xiu信号时,系统进入修改密码状态;若输入安锁lock信号,系统进入安锁状态,锁闭合:在安锁状态,输入输入密码start 信号,系统进入输入密码状态;在输入密码状态,如输入密码内容和长度均正确,进入密码初验正确状态,如果密码错误,进入密码初验错误状态;在密码初验正确状态,输入确认信号enter时,进入开锁状态,在开锁状态kai信号等于‘1’;在密码初验错误状态,输入确认信号enter时,进入报警状态;在报警状态。
eda电子密码锁课程设计

eda电子密码锁课程设计一、课程目标知识目标:1. 理解EDA(电子设计自动化)的基本概念,掌握其在电子密码锁设计中的应用。
2. 学习并掌握电子密码锁的基本原理,包括密码设置、存储、识别和验证过程。
3. 掌握电子密码锁设计中涉及的电子元件、电路图绘制及电路功能。
技能目标:1. 能够运用EDA软件完成电子密码锁的电路设计,具备基本的电路仿真能力。
2. 能够运用编程语言(如C语言)编写简单的密码验证程序,实现电子密码锁的功能。
3. 学会使用常见的电子测量工具,对电子密码锁进行调试和故障排查。
情感态度价值观目标:1. 培养学生对EDA技术及其在电子设计中的应用产生兴趣,激发学生的创新意识和探索精神。
2. 培养学生团队协作意识,提高沟通与协作能力,学会共同解决问题。
3. 增强学生的安全意识,了解电子密码锁在实际应用中的重要性,培养学生的责任心。
课程性质:本课程为实践性较强的课程,注重理论知识与实际操作相结合,旨在提高学生的实际动手能力和创新能力。
学生特点:学生具备一定的电子基础知识,对EDA技术有一定了解,但对电子密码锁的设计和制作相对陌生。
教学要求:结合课程性质、学生特点,将课程目标分解为具体的学习成果,通过理论教学、实践操作、团队协作等多种教学方式,确保学生能够达到课程目标。
同时,注重过程评估和成果评估,以提高教学效果。
二、教学内容根据课程目标,教学内容分为以下三个部分:1. 理论知识学习- 电子设计自动化(EDA)基本概念与原理- 电子密码锁的工作原理及其电路组成- 密码学基础,包括密码设置、存储和验证方法教学大纲:参照教材相关章节,安排2个课时进行理论知识学习。
2. 实践操作与技能培养- EDA软件使用,包括电路图绘制、仿真与调试- 编程语言(C语言)基础,编写密码验证程序- 电子元件识别与使用,完成电子密码锁的搭建教学大纲:实践操作部分安排4个课时,分为两次课程完成。
3. 团队协作与创新能力培养- 分组讨论,共同设计电子密码锁方案- 成果展示,组间交流与评价- 故障排查与优化,提高电子密码锁的安全性与稳定性教学大纲:团队协作部分安排2个课时,在实践操作过程中穿插进行。
EDA课程设计电子密码锁

1概述和设计要求1.1概述随着科技的发展,电子产品的应用越来越广泛,电子电路的设计也越来越重要。
随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其的突出,传统的机械锁由于结构简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到广大用户的亲昵。
同时随着电子产品向智能化和微型化的不断发展,数字逻辑电路电子芯片已成为电子产品研制和开发首选的控制器。
用电子逻辑电路设计的密码锁经实际操作表明,该密码锁具有安全、实用、成本低等优点,符合一般用锁的需要,具有一定的现实意义。
在本次课程设计中,我的的题目是电子密码锁,由输入密码、设定密码、寄存电路、比较电路、显示电路、修改密码组成。
主要工作部分是将输入密码与正确密码进行比较,密码正确时红色发光二极管亮,表示开锁成功,密码错误则蜂鸣器响三秒,表示开锁失败。
同时经过显示译码器作用到数码显示器显示密码。
随着电子产品向智能化和微型化的不断发展,数字逻辑电路电子芯片已成为电子产品研制和开发首选的控制器。
1.2设计要求利用基于所学EDA以及Quartusll7.2软件相关知识设计一个具有较高安全性和较低成本的通用电子密码锁,其具体功能要求如下:(1)数码输入:每按下一个数字键,就输入一个数值,并在显示器上的最右方显示出该数值,同时将先前输入的数据依序左移一个数字位置。
(2)数码清除:按下此键可清除前面所有的输入值,清除成为0000'。
(3)密码更改:按下此键时会将目前的数字设定成新的密码。
(4)激活电锁:按下此键可将密码锁上锁。
(5)解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。
2功能模块整体结构设计作为通用电子密码锁,主要由三个部分组成:数字密码输入电路、密码锁控制电路和密码锁显示电路。
根据以上选定的输入设备和显示器件,并考虑到实现各项数字密码锁功能的具体要求,整个电子密码锁系统的总体组成框图如图2.1所示。
(1)密码锁输入电路包括时序产生电路、键盘扫描电路、键盘弹跳消除电路、键盘译码电路等几个小的功能电路。
EDA电子密码锁设计报告

目录摘要: ............................................................ - 1 - 第一章:系统设计总述 .............................................. - 2 -1.1设计要求................................................... - 2 -1.2 设计方案 .................................................. - 2 - 第二章:总体程序设计 .............................................. - 2 -2.1整体组装设计原理图......................................... - 2 -2.2 顶层模块程序调用 .......................................... - 3 -2.2.1程序部分............................................. - 3 -2.2.2 整体原理文件 ........................................ - 5 - 第三章:单元模块程序设计 .......................................... - 5 -3.1 输入模块 .................................................. - 5 -3.1.1 输入模块程序 ....................................... - 5 -3.1.2输入模块元件......................................... - 6 -3.1.3输入模块仿真......................................... - 7 -3.2 电子密码锁系统控制模块 ................................... - 7 -3.2.1控制模块程序......................................... - 8 -3.2.2控制模块元件........................................ - 10 -3.2.3控制模块仿真........................................ - 10 -3.3显示模块.................................................. - 11 -3.3.1显示模块元件........................................ - 13 -3.3.2显示模块仿真........................................ - 14 - 第五章:收获与体验 ............................................... - 14 - 参考文献 ......................................................... - 16 -武汉理工大学《微机原理与接口技术》课程设计说明书摘要:随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。
EDA电子密码锁课程设计

目录前言 (1)1 设计内容与目的 (1)1.1 设计内容 (1)1.2 设计目的 (1)2 方案设计 (2)2.1 设计总体框图 (2)2.2 电路原理图 (2)2.3 键盘接口电路 (2)2.4 电锁控制电路 (2)2.5 输出显示电路 (3)3 功能电路的设计 (3)3.1 键盘接口电路 (3)3.2 时序产生电路 (4)3.3 键盘扫描电路 (5)3.4 键盘消抖电路 (8)3.5 键盘译码电路 (9)3.6 按键存储电路 (11)3.7 电锁控制电路设计 (15)4 系统仿真 (16)5 程序清单 (16)6 参考文献 (25)电子密码锁前言电子密码锁的使用体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。
目前设计密码锁的方法很多,例如用传统的PCB 板设计、用PLC设计或者用单片机设计等等。
而用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁,优于其他设计方法。
VHDL是一种符合IEEE标准的硬件描述语言,其最大的特点是借鉴高级程序设计语言的功能特性,对电路的行为与结构进行高度抽象化、规范化的形式描述,并对设计的不同层次、不同领域的模拟验证与综合优化等处理,使设计过程廷到高度自动化。
1 设计内容与目的:1.1 设计内容:设计一个简单的数字电子密码锁,密码为 4 位。
要求具备如下功能:(1)如果输入数字键,第一个数字会从显示器的最右端开始显示,此后每按下一个数字键,显示器上的数字必须往左移动一格,以便将新的数字显示出来。
(2)本密码锁为四位密码锁,当输入的数字超过4个时,不会显示第四个以后的数字。
(3)按下清零键,清除所有输入的数字,即做归零动作。
(4)按下密码确认键,检查输入的密码是否正确,密码正确即开锁。
(5)按下密码变更键,将当前输入的数字设置成新密码。
(6)设计一个万能密码,只要输入万能密码即开锁。
1.2 设计目的:随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲昵,电子密码锁的使用也体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。
EDA课程设计电子密码锁

图3—5控制模块的原理图
图3—6控制模块的时序图
在电路图中,可见仍然有shangsuo和kaisuo使能端,仍然用enable=“01”有效来控制,dout1是前个模块的输出端口,q是控制开锁成功的led灯的亮灭,当dout1=”111”时为1,其他情况为0,p是蜂鸣器的控制端口,与q的值相反,即控制开锁成功为0,其他情况下为1,注意是在enable=“01”时本模块有效,即在此情况下的其他情况下p=1.
本密码锁在上锁开关为1,开锁开关为0时进入上锁状态,此时上锁状态指示灯亮,在三个开关上输入三个初始密码,此时上锁成功指示灯亮,当上锁开关为0,开锁开关为1时进入开锁状态,此时开锁状态指示灯亮,在三个开关上输入三个开锁密码,如果这三个开锁密码与三个初始密码相同则开锁成功指示灯亮,并且蜂鸣器不报警,如果这三个开锁密码与三个初始密码不相同则开锁成功指示灯不亮,并且蜂鸣器报警。
(2)。模块说明
本模块正是利用了D触发器的上述优点,才得以解决燃眉之急。本模块例化的电路图和时序图如下
图3—1上锁模块的原理图
图3-2上锁模块的时序图
本模块还有一点值得注意的是,鉴于对满足课设要求和对所有模块的控制,采用了语句
Enable<=shangsuo&kaisuo;
即把两个使能端shangsuo和kaisuo并置起来付给enable,假如shangsuo和kaisuo分别为‘1'和‘0',则enable就是“10”;以此类推。
其实这个课设任务也不是太难,就是密码存储和比较两个功能,其他的都很简单,就是LED的控制和蜂鸣器的控制,所以本课设分成三个模块就可以搞定:第一个是存储模块即后面的上锁模块,像上面所说的用D触发器来实现,第二个是比较模块即开锁模块,一个if语句就能搞定,最后是密码输入正确与否以及蜂鸣器的控制,很简单,不在话下,具体框图如下所示:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五邑大学基于FPGA的数字系统设计报告题目:密码锁院系信息学院专业电子信息工学号13071814学生姓名江建钊指导教师赵顺喜一、设计的要求和意义1、实验目的:1)训练从概念到产品的设计全过程;2)综合运用各种设计方法。
2、实验原理和要求:图9-1 密码锁输入输出信号示意图图 9-1 k0~k9为数字键盘,用拨码开关实现(以为实验板上只有4个轻触开关),当按下ki=1时,代表一个对应i的BCD码。
setup为密码设置开关,用拨码开关实现,start_set为开始密码设置键,用轻触开关实现,当setup为高电平且start_set按下时为密码设置状态。
Start为开始密码输入键,用轻触开关实现,当setup为低电平且start按下时为密码输入状态。
Open为密码输入完成按键,当open按下,如果密码输入错误,输出信号lock=0,led1=0,led2=1(警示灯),spk=1(报警);如果密码输入正确,输出信号lock=1,led1=1,led2=0(警示灯),spk=0(报警)。
I_setup为复位按键,用轻触开关实现,当I_setup按下,强制将输出信号清零。
3、设计任务与要求:1)设计符合上述功能的密码锁控制电路;2)可以用各种设计方法;3)进行仿真;4)把设计下载到实验箱并验证。
二、系统设计1、软件设计流程及描述:图9-1 程序设计流程图图9-1设计流程可以分为3部分:密码设置、密码输入、密码输入结果判断和复位。
它们都是并发执行的。
2、程序源代码module jjz1(lock,led1,spk,led2,setup,start,start_set,open,k,I_setup);input[9:0] k;input start,setup,start_set,open,I_setup;output reg lock,led1,spk,led2;reg in,in_set;reg[3:0] code,c,c1,c2,c3,out1,out2,out3;reg[2:0] state,state_set;//*****************密码设置**************//always @(setup)beginbegincase(k)10'b00_0000_0001:begin c<=4'h0;in_set<=1;end //密码按键扫描按键;10'b00_0000_0010:begin c<=4'h1;in_set<=1;end10'b00_0000_0100:begin c<=4'h2;in_set<=1;end10'b00_0000_1000:begin c<=4'h3;in_set<=1;end10'b00_0001_0000:begin c<=4'h4;in_set<=1;end10'b00_0010_0000:begin c<=4'h5;in_set<=1;end10'b00_0100_0000:begin c<=4'h6;in_set<=1;end10'b00_1000_0000:begin c<=4'h7;in_set<=1;end10'b01_0000_0000:begin c<=4'h8;in_set<=1;end10'b10_0000_0000:begin c<=4'h9;in_set<=1;enddefault: begin c<=4'ha;in_set<=0;endendcaseendendalways @( posedge start_set or posedge in_set)beginif(start_set ) //beginstate_set<=0;c1<=4'hb;c2<=4'hb;c3<=4'hb;endelsecase(state_set)0:begin c1<=c;state_set<=1;end1:begin c2<=c;state_set<=2;end2:begin c3<=c;state_set<=3;endendcaseend//***************************************////**************密码输入*****************//always @(!setup)begincase(k)10'b00_0000_0001:begin code<=4'h0;in<=1;end //按键扫描; 10'b00_0000_0010:begin code<=4'h1;in<=1;end10'b00_0000_0100:begin code<=4'h2;in<=1;end10'b00_0000_1000:begin code<=4'h3;in<=1;end10'b00_0001_0000:begin code<=4'h4;in<=1;end10'b00_0010_0000:begin code<=4'h5;in<=1;end10'b00_0100_0000:begin code<=4'h6;in<=1;end10'b00_1000_0000:begin code<=4'h7;in<=1;end10'b01_0000_0000:begin code<=4'h8;in<=1;end10'b10_0000_0000:begin code<=4'h9;in<=1;enddefault:begin code<=4'ha;in<=0;endendcaseendalways @(posedge start or posedge in)beginif(start)beginstate<=0;out1<=4'hb;out2<=4'hb;out3<=4'hb;endelsebegincase(state)0:begin out1<=code;state<=1;end1:begin out2<=code;state<=2;end2:begin out3<=code;state<=3;endendcaseendend//****************************************////*************密码输入结果判断和复位*********//always @(posedge I_setup or posedge open)beginif(I_setup)begin lock<=0;led1<=0;spk<=0;led2<=0;end // I_setup为高电平是复位;else //open高电平触发下面语句; beginif ((out1==c1)&&(out2==c2)&&(out3==c3)) //判断out1,out2,out3是否//与c1,c2,c3全相等?begin lock<=1;led1<=1;spk<=0;led2<=0;end //是则密码输入结果正确; elsebegin lock<=0;led1<=0;spk<=1;led2<=1;end //否则密码输入结果错误; endend//****************************************//endmodule3、仿真结果及分析1) 密码输入正确输出的仿真波形图图9-3密码输入正确及输出由图9-3可以看出K0~K9按键分别认为0~9。
密码设置为7、7、5时,当密码输入为7、7、5,这是密码输入正确,输出解锁信号lock和led1为高电平,led2和spk为低电平。
解锁成功,仿真波形正确。
2) 密码输入错误及复位输出的仿真波形图图9-4密码输入错误及复位输出由图9-4可以看出K0~K9按键分别认为0~9。
密码设置为7、7、6时,当密码输入为7、7、5,这是密码输入错误,输出解锁信号lock和led2为到低电平,led2和spk为高电平。
解锁失败,发出蜂鸣声,当复位键按下触发,这是解锁信号输出全为低电平,蜂鸣声解除,仿真波形正确。
3、调试过程遇到的问题与解决的方法1)在编写密码判断和复位程序,我把密码判断放在一个always块里,复位放在另一个always块里,程序如下:always @( posedge open)beginif ((out1==c1)&&(out2==c2)&&(out3==c3))begin lock<=1;led1<=1;spk<=0;led2<=0;end //密码输入结果正确;elsebegin lock<=0;led1<=0;spk<=1;led2<=1;end //密码输入结果错误;endendalways @( posedge I_setup)begin lock<=0;led1<=0;spk<=0;led2<=0;end //为上升沿是复位;两个always语句分开来看语法是完全没有错误的,因为当时我是把密码判断和复位程序分开来编译实现的。
但是把两段程序放在一个工程里编译就出现错误了,想了很久原来是它们逻辑上出现错误。
如果按键open和I_setup同时按下时,程序是无法判断执行哪段语句,它们的关系是或关系。
也就是open和I_setup不能同时按下,所以我把两个always 和并成一个,也就是源程序里的“密码输入结果判断和复位”。
2)还有就是在always块里常常有很多begin-end串行块,很多时候就会把后面的end 忘写,导致begin和end配对不上。
编译大多出现错误都这问题居多,所以每写一个begin 后要同时加上end,然后在begin-end中间写语句。