电子密码锁的设计与制作
实验题目:电子密码锁的设计与制作
1. 课程简要信息
课程名称:电基础设计实践
课程学时: 40
项目学时:课内 $1 6 +$ 课外4
适用专业:电气类、电子信息类专业
学生年级:三年级、第六学期
2. 实验内容与任务
本项目设计一个四位电子密码锁,当按键输入正确密码时,输出开锁信号。用绿灯亮、红灯灭表示开锁,用红灯亮、绿灯灭表示关锁。完成硬件电路的设计及制作,并进行实验现象的观测及分析。项目需要完成的任务分为三个层次:
1)基础层次任务:
设计一个四位二进制密码的电子密码锁控制电路。
密码锁的控制电路中存储一个可以通过开关修改的四位密码。
从第一个按键触动后 5 秒内若为把锁打开,则电路自动复位并进入自锁状态,锁无法打开并发出报警信号。
2)提高层次任务:
设计一个四位十进制密码的电子密码锁,初始密码可以是“3210”,可通过开关设置4位新密码。
三次错误输入密码后自动报警,蜂鸣器发出报警声。
采用4位数码管显示输入的密码。
以上任务,先用电路仿真软件(如 Multisim 等)进行电路仿真,然后在面包板上实现电路功能。
3)进阶层次任务:
该部分内容供学有余力,有研究兴趣的同学选做,采用 Verilog HDL 语言完成完整功能的四位十进制密码的电子密码锁设计,利用 EDA软件完成仿真,并下载到 FPGA芯片中验证功能。
3. 实验过程及要求
自学预习
- 查阅资料及芯片手册,复习数字电路的设计相关知识。(课外1学时)
- 学习电子密码锁工作原理和各种实现方法相关知识。(课内 1 学时)
思考讨论设计电路
1)比较各种实现方法,选择最优的设计方案,适当考虑提高层次任务,画出原
理图。(课内 1学时)
2)讨论选择合适的集成芯片。学有余力的同学使用 Verilog 语言进行模块化程序设计。(课内1学时 $^ +$ 课外1学时)
软件仿真
利用Multisim 软件进行集成芯片级电路仿真。学有余力的同学在 Vivado软件平台下进行综合编译,调试无误后建立波形文件,仿真验证各个模块。(课
外 2 学时)
硬件实验
1)逐级搭建、调试并级联各级电路。(课内8学时)
2)设计合理测试方案,设计完整的测试项目并形成记录。(课内 2 学时)
总结验收
验收功能,答辩总结并分享电路实现方案、设计经验和调试技巧,撰写设计总结报告。(课内2学时)
4. 相关知识及背景
本设计是一个利用集成芯片和可编程器件来解决工程实际问题的典型案例,是电子技术课程理论知识综合运用和项目实践的实例。需要运用比较电路、时基电路、计时电路等数字电路的相关知识,涉及密码锁开锁原理、集成芯片的选择、仿真软件使用和硬件电路制作等内容,是衔接理论知识和工程实践的一个很好的工程项目。
5. 实验环境条件
项目实施的主要地点在电基础设计实践室进行,实验室提供有直流稳压电源、数字万用表、指针万用表、示波器、信号发生器、面包板、扒皮钳、钳子、镊子、螺丝刀等仪器仪表、工具等设备。同时提供 Multisim10设计软件,及为了完成FPGA设计的 Vivado 软件 Xilinx N4 板、Quartus11.0 软件北京杰创-EDA 口袋机等软硬件设备。同时实验室提供电子元器件清单如下。
常用元件清单:
石英晶体(f0=32768HZ)R145-32.768kHz, $\mathsf { R } { = } 1 0 \mathsf { M }$ , $\complement = 2 0 \mathsf { p } \mathsf { f }$ (2 个),CD4069 非门
电解电容 1uf、47uf、100uf(2 个),
普通电容 10uf(3 个),10nf、
电阻 100k、47k、39k,20k、12k、15k、10k、4.7k、1k、510、200、100、
可调电阻 $1 0 \boldsymbol { \mathsf { k } }$
二极管 N4148
三极管 N3904,2N2222,
CD4001、4532、7400、7432、7411、7408、74279、7485、74283、74194、7414、74273、74123、74148、7424、74190、74393、4511、74138、74151、555、小按键开关、拨码开关、74HC107(JK 触发器)原有型号为 74112 或 7473
74126(D 触发器)原有型号为 7474
6. 教学目标与目的
在项目实现过程中引导学生学习现代虚实结合的设计方法,掌握数字小系统的设计方法、方案论证方法;培养具备使用 EDA 工具完成现代数字电路设计的能力;提升学生解决实际问题的动手能力;培养学生严谨的科学素质。
7. 教学设计与实施进程
电子密码锁的设计与实现是一个比较完整的工程实践项目,是电子技术综合应用与训练的实训,实践过程要求学生完成查阅资料、自学研究、方案论证、系统设计、调试测试、设计总结等环节。在实验教学中,应在以下几个方面加强对学生的引导:
-
学习密码锁开锁的基本原理,选取合理的电子密码锁设计方案;
-
电子密码锁要求密码设定可靠,要考虑好清零、锁存、计时的节拍脉冲分配;
-
按键电路的灵敏度决定着输入密码的精确度,要设计选取合适的按键电路;
-
通过实例讲解电路设计与分析方法、元器件的参数计算与选型等工程实际问题。
-
选用器件时,指导学生在相关网站上下载产品数据手册,介绍常用元器件标称值,帮助学生根据器件手册和元器件标称值选用适合的元器件。
-
要求学生应按工程设计规范要求设计电路,如系统结构与模块划分,信号的时序要求。
7)在确定单元电路满足设计要求后,方可逐级级联单元电路进行系统功能测试。
-
在单元电路设计、仿真、搭接、调试完成后,要求学生对电路系统进行整体功能测试,通过整理并分析现象判断单元电路是否满足设计要求,如倒计时 5 秒电路的测量,开锁电路的调测。
-
指导学生正确使用实验室可以提供的仪器设备对制作电路进行调试并纠错。
10)组织学生答辩,指导学生整理实验过程、总结电路设计方法、交流系统设计方案、分享电路设计技巧,通过师生以及学生间的交流了解不同解决方案及其特点、拓展学生系统设计思路。
具体教学实施进程如下:
1)任务安排、分组研讨
第一次课:教师讲解相关理论、仪器仪表使用的注意事项,时间安排,布置任务,安排分组(3-4人一组)。
查阅资料:要求学生复习相关理论知识,尽可能多的查阅相关文献,做好知识贮备,例如,电子密码锁的功能有哪些、其工作原理和技术指标如何满足。
分组研讨:根据项目题目和任务指标,采用项目驱动的教学方法实施。制定出合理的方案,完成软件仿真,进行方案答辩。
2)现场操作:教师随堂指导、检查现场操作情况,对实验结果进行验收,通过提问等方式了解学生情况;
3)结果验收,总结答辩
对硬件实现结果进行分层次任务检查验收,学生完成基本任务之后,鼓励学生做提高及进阶内容。
最后一次课:总结答辩,师生交流,总结经验,交流心得体会。
8. 实验原理及方案
随着社会物质财富的日益增长,安全防盗已成为全社会问题。人们对锁的要求越来越高,既要安全可靠地防盗,又要使用方便。电子密码锁越来越受到人们的青睐,电子密码锁是一种具有多种用途的电子锁具,系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码等基本的功能。
本案例要求设计实现一个 4 位电子密码锁,包含输入电路、键盘输入电路、密码输入模块、新旧密码设置存储模块、时基电路、密码比较开锁模块、显示模块等基本单元组成,其系统框图如图 1 所示。
1) 系统结构

图1电子密码锁简易系统结构框图
输入信号:通常有数字按键与控制信号构成,以实现对不同模式的控制以及输入不同的密码数字。
键盘输入模块:用于实现按键的可靠输入,它可以对按键信号进行译码。它的输入端接受来自按键的输入,但由于按键抖动等常会带来输入密码及输入数字位数的错误,故此部分电路常加入去抖电路。在输入控制信号的控制下,数字按键按下通过键盘输入模块,把密码输入密码模块或者密码设置模块。
密码设置存储模块:用于设置及存储四位密码。
密码比较开锁模块:比较预存密码及输入密码,完成比较功能。
显示电路:用 LED 灯显示开关锁的结果。计数电路是电子密码锁的核心电路,完成脉冲计数;显示电路将计数结果以数字方式显示出来,并选择的显示开锁成功与否提示。
时基电路:主要由晶体振荡器、分频器,或者 555 定时器组成。主要用于产生各种标准时间信号。时标信号可以是单一的,也可以有多种选择。
2) 实现方案
典型电子密码锁电路组成如图2,按照设计方案利用Multisim 软件完成系统的设计及仿真,画出电路图,基于项目的思想查找器件手册选择合适的器件,然后利用面包板搭建电子密码锁电路,并尽量利用 FPGA 实现此功能电路完成高阶的设计任务。最后进行电路的实验测试,检验实际功能并进行数据处理、误差分析。

图2 典型电子密码锁电路组成
- 电子密码锁实现部分案例a)中规模集成芯片方案,数字密码锁由八个模块组成,仿真电路如图 3 所示。

图 3 Multisim 电子密码锁仿真电路
关于本设计中所用器件说明见表 1器件清单,硬件实现电路如图 4。
表 1器件清单
| 元器件 | 型号 | 数量 |
| 脉冲计时器 | 555 | 1 |
| 单稳态触发器 | 74LS123 | 1 |
| 双向可逆寄存器 | 74LS194 | 1 |
| 计数器 | 74LS161 | 1 |
| D触发器 | 74LS74 | 10 |
| 比较器 | 74LS85 | 1 |
| 编码器 | CD4532 | 2 |
| 按键开关 | * | 13 |
| 蜂鸣器 | * | 2 |
| LED | 红、绿、黄 | 3 |
| 与门 | 74LS00 | 7 |
| 或门 | 74LS32 | 5 |
| 非门 | 74LS04 | 2 |
| 电阻 | 150KΩ | 1 |
| 47Ω | 2 | |
| 电容 | 100uf | 1 |
| 10uf | 1 | |
| 10nf | 1 |

图4 电子密码锁实现电路
b)电子设计自动化方案:

图5 密码锁设计结构图
本项目fpga 设计结构图如图5所示。关于本设计中输入、输出信号与开发板的引脚锁定说明见表 2。
表 2 密码锁端口信号说明
| 序号 | 端口名 | 端口模式 | 锁定引脚 | 说明 |
| 1 | clk | input | E3 | 锁定开发板100MHz时钟信号 |
| 2 | rst | input | P4 | 锁定一位拨码开关,作为复位信号 |
| 3 | sw[7:0] | input | V5、V6、V7、R5、R6、R7、U8、U9 | 锁定8位拨码开关,在为密码锁设置新密码时,每2位拨码开关设置一位密码 |
| 4 | key[3:0] | input | V10、R10、F15、T16 | 锁定4个按钮,代表输入密码3、2、1、0 |
| 5 | setting | input | R3 | 锁定一位拨码开关,用于确定是否进行设置新密码 |
| 6 | set_ok | input | E16 | 锁定1个按钮,用于设置完密码锁新密码后的确定按钮 |
| 7 | mode | input | P3 | 锁定一位拨码开关,用于确定在输入密码时数码管显示密码值或者不显示出密码,而显示“-” |
| 8 | led | output | T8 | 锁定一位LED灯,亮表示密码锁打开,闪烁表示密码输入错误 |
| 9 | seg[7:0] | output | M4、L6、M2、K3、L4、L5、N1、L3 | 锁定数码管的小数点DP 和段码 CG~CA,显示密码锁相关信息 |
| 10 | an[7:0] | output | M1、L1、N4、N2、N5、M3、M6、N6 | 锁定从左到右的8位数码管的位码,当输入密码正确时,前四位数码管显示“OPEN”,当输入密码不正确时,前4位数码管显示“FAIL",后4位数码管显示输入的四位密码或四位“” |
本设计由顶层模块 password_lock_top 和 9 个子模块构成。u1 为分频模块div_200hz,为后续模块提供大约 200Hz 的频率信号;u2 为按键消抖模块key_debounce,用于对输入密码的 4 个按键消抖;u3 为脉冲产生模块 key_pulse,对输入密码的4 个按键产生脉冲;u4为按键输入密码模块 key_password,用于确定按键输入的4位密码;u7为设置新密码模块 set_password,通过 8位拨码开关可以为 密 码 锁 设 置 新 密 码 , 默 认 初 始 密 码 为 “3210”;u5 为 密码 比 较 模 块password_compare,用于对比输入的密码和初始密码或新设置的密码是否相同;u6为密码锁处理模块 lock_result,用于判断输入密码是否正确,通过 LED 灯指示密码正确与否;u8 为密码锁存模块 display_reg,用于将 4 次按键数值锁存,并确定密码显示形式;u9 为动态扫描显示模块 seg7_display,前 4 位数码管显示“OPEN”或“FAIL”,后4 位显示输入的 4位密码或 4位“-”。

图 6 使用初始密码正确开锁

图7 不显示输入密码,密码输入错误
对密码锁设计添加约束文件,进行综合、实现、生成下载文件,配置下载到NEXYS4开发板上。如图 6、7所示。
9. 实验报告要求
本实验要求学生在整理、书写实验报告时必须完成以下内容:
-
分析系统设计指标。
-
用电路仿真软件对设计进行仿真分析。
-
对不同实现方案进行对比分析并论证。
-
设计并绘制系统设计框图。
-
逐级设计单元电路,要有必要的理论设计过程。
-
选择合理的器件,并根据元器件参数值标称值列表,详细说明主要元器件的选择依据。
-
逐级调试并测试单元电路的性能,逐级级联单元电路,最终设计测试方法,记录实验数据。
-
整理并分析实验数据,找出电路中存在的问题,提出电路改进方案。
-
详细记录并整理实验过程中遇到的问题,分析并总结解决问题的办法,通过答辩与同学分享电路实现方案、电路设计经验和调试技巧等。
10.考核要求与方法
本实验采用实验过程的考核方式,层次化计分办法,基本实验内容采用扣分的形式计分,提高进阶实验内容采用加分的形式计分,具体考核办法如下:
-
方案论证:查找资料,制定合理方案,确定具体电路,答辩方式进行,评价主体除任课教师外,加入学生的自评、互评等学生评价。
-
仿真验收:验收仿真结果是否满足指标要求。
-
实验成本:材料与元器件选择的合理性,成本核算与实验损耗等。
-
实物验收:分三部分:所有基本功能与指标的完成程度是否符合要求,记录完成时间;提高部分完成情况及是否符合要求;进阶部分的指标完成程度,根据具体情况记录。
-
提问环节:对实物制作及调试情况进行提问,根据具体回答情况记录。
-
实验质量:电路布局、布线的规范性和整洁度等。
-
自主创新:提高及进阶部分功能的构思与实现,自主思考与独立实践能力等。
-
实验报告:实验报告书写的规范性、完整性和整洁度等。
11.项目特色或创新
通过层次化教学,使学生在理论知识的综合应用在不同层次上得到综合性训练;软件仿真与硬件设计相结合的方式切实加深了学生对知识的理解,锻炼了学生理论联系实际能力和动手能力;启发式、项目驱动教学模式的采用,使学生在分析解决问题、协同合作等方面的能力得到较大的提升。设计方法的多样性,切实提高了学生的创新能力。