基于红外模块的单片机电子密码锁安全性论证
4.3 遥控模块电路设计
当键盘有键按下时,编码芯片激活,发送相应红外编码信号。由遥控器发送的红外信号,经过红外一体化接收头接收、放大、解调之后,将信号送到单片机P3.2引脚。本文引用地址:https://www.eepw.com.cn/article/171922.htm
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即可。
评论