微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于红外模块的单片机电子密码锁安全性论证

基于红外模块的单片机电子密码锁安全性论证

时间:03-09 来源:互联网 点击:

扰,内附磁屏蔽,功耗低、灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。HS0038为直立侧面收光型,3个管脚分别是地、+5 V电源、解调信号输出端。
4.3 遥控模块电路设计
当键盘有键按下时,编码芯片激活,发送相应红外编码信号。由遥控器发送的红外信号,经过红外一体化接收头接收、放大、解调之后,将信号送到单片机P3.2引脚。

5 遥控模块软件的安全性设计方案
(1)HS0038的解调。一体化红外接收头HS0038将接收到的红外信号放大、解调才送给单片机的。接收头接收到的是38 kHz的串行脉冲信号,经过解调之后转换成TTL电平。接收头的解调可简单理解为:在输入脉冲串时输出低电平,否则输出高电平。一体化红外接收头解调前后的信号对比如图10所示,可见解调后信号与编码信号反相。

当按键按下后,经过HS0038解调输出的一帧信号则如图11所示。

(2)解码。
7461产生的遥控编码是连续的42位二进制码组,其中前26位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码用于核对数据是否接收准确。
单片机解码是根据一体化红外接收头的解调信号进行的,从上面的分析可知:任意按键按下后,都有9 ms的低电平起始码和4.5 ms的高电平结果码作为引导信号,因此应该在引导码之后才能进行解码。
如何识别“0”和“1”是解码的关键。根据位定义:“0”、“1”均以0.56 ms的低电平作为起始,两者区别在于高电平的宽度不同,即“0”高电平为0.56 ms,“1”高电平为1.68 ms,因此解码时须根据高电平的宽度来区别“0”和“1”。若从0.56 ms低电平过后,开始延时,0.56 ms之后,检测到的为低电平,则该位为“0”,反之则为“1”。为了保证解码的可靠性,高电平检测延时应该在0.56~1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12+0.56)/2=0.84ms较可靠,一般取0.84ms即可。

6 密码锁安全系统硬件设计方案
(1)密码掉电存储模块,如图12所示。

AT24C02是美国Atmel公司的低功耗CMOS型EEPROM,内含256×8位存储空间。芯片采用I2C总线式进行数据读写的串行器件,占用很少的资源和1/O线,并且支持在线编程,进行数据实时存取十分方便。串行时钟由单片机P3.6引脚提供,通过P3.7引脚对AT24C02进行在线读写。由于该芯片数据掉电不丢失,故用于存放开锁密码。当需要开锁和设置新密码时,均需读取AT24C02中的密码;设置新密码后,在线写AT24C02,覆盖原密码。

(2)开锁电路,如图13所示。开锁电路由三极管、继电器、绿色发光二极管组成,由P2.7引脚控制,低电平有效。按下键盘开锁键进入开锁模式,正确输入6位密码,按下“OK”键之后,单片机对输入密码与设定密码进行对比,对比正确,则P27发出低电平,使三极管Q3导通,从而使得继电器RL吸合,并由继电器控制使得门禁得电打开。此设计中,若是有开锁动作,则绿色LED灯亮。

7 密码锁安全系统软件设计方案
(1)主程序流程图,如图14所示。

(2)密码接收子程序流程图,如图15所示。
若正确接收6位密码,则输入密码存于数组中,返回值为1。若取消操作,返回值为0。
(3)安全开锁判断子程序流程图如图16所示。

该程序将输入密码进行对比。若密码正确,则返回值为1,表明应该进行开锁动作。密码错误,返回值为0,不进行开锁。有取消动作,则返回3,不进行密码对比。
(4)更改密码判定子程序流程图如图17所示。
改程序要求先输入当前密码,当前密码正确后,连续两次输入新密码,两次输入相同时,返回1,表明应该写AT24C02。否则返回0,表明修改密码失败。

8 系统安全性分析论证
设计采用AT89S52单片机作为主控芯片,结合相应的外围电路,构成电子密码锁系统。该电子密码锁,开发简单、安全性高、成本低,适合办公室、实验室、档案室等场所,其遥控功能更适合应用在车库仓库的安全防盗。在设计完成过程中,先进行Proteus软件仿真,最后进行实物调试,最终达到了预期的设计目标。另外UPS供电还有待解决。电子密码锁安全性能较高,具有较好的市场前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top