基于单片机的红外线遥控电子密码锁装置及其控制方法

文档序号:6667450阅读:253来源:国知局
专利名称:基于单片机的红外线遥控电子密码锁装置及其控制方法
技术领域
本发明涉及一种电子密码锁装置及其控制方法,更具体的说是一种以单片机为主 要元件、以红外线为数据传输介质的遥控电子密码锁及其控制方法。
背景技术
在现有无线遥控电子锁装置中,电子钥匙直接将开锁密码通过无线电或则红外线 传输给电子锁的密码验证装置,电子锁的密码验证装置对开锁密码进行验证,如果验证结 果一致,则进行开锁,否则拒绝开锁。
无线遥控电子密码锁无需寻找锁眼即可开锁,使用方便,但由于无线遥控电子锁 的钥匙和锁是独立的,它们之间进行的通信采用无线传输模式,无线传输是一种开放传输 模式,如果开锁密码未进行加密,很容易在电子钥匙和电子锁之间通过无线接收设备截获 开锁密码,并复制开锁密码,达到非法开锁的目的。

发明内容
为了克服现有技术的不足,本发明提供了基于单片机的红外线遥控电子密码锁装 置及其控制方法,它结构简单,成本低廉,数据加密方式多样,安全性高,可广泛应用于工 厂、宾馆、家庭等门禁系统。本发明包括钥匙单元、锁单元之间的通信电路及其控制方法两方面内容1、钥匙单元和锁单元红外线数据通信电路钥匙单元与锁单元的红外线数据通信线路完全一致,包括红外线数据发送和接 收。(1)红外线数据发送电路单片机的1个带有内部上拉电阻的双向I/O引脚串联1个分压电阻后与三极管 9013的基极连接,三极管9013的集电极与单片机工作电源连接,发射极与红外线发射管 正极连接,红外线发射管的负极串上限流电阻后与单片机的串行数据通信输出引脚TXD连 接。三极管9013在电路中作为开关管,产生38KHz的频率。(2)红外线数据接收电路红外线一体化接收头的电源与单片机电源Vcc连接、负极与单片机的地端连接, 输出脚串联限流电阻后与单片机的串行数据通信输入引脚RXD连接。2、控制方法⑴开锁方法①钥匙单元通过红外线向锁单元串行发送一组预先设置的固定数据。在8位单片机串行通信中1帧数据的有效数位为8位二进制数,即可换算为2位 十六进制数,所以固定数据、随机数据在预先设置时,只能设置为偶数位的十六进制数。钥 匙单元的开锁按键是一个串入单片机工作系统和电源之间的开关按键,开关按键为常开 型,当开关按键按下时,钥匙单元的单片机系统进行上电复位,单片机执行程序,通过红外线向锁单元串行方式发送1组预设固定数据,所谓固定数据,是因为钥匙单元每次开锁都要发送这组数据,且具体数值可以进行预设。②锁单元将钥匙单元的固定数据与锁单元的预先设置固定数据进行比较,结果一 致则通过红外线向钥匙单元串行发送一组随机数据,随后锁单元对随机数据进行加密。锁单元在接收到钥匙单元发送的固定数据后,与自身预设的固定数据进行比较, 结果一致后,通过红外线向钥匙单元串行方式发送1组随机数据,随后对随机数据进行加 密,加密结果作为校对密码存储;如果结果不一致,锁单元将返回到初始状态。③钥匙单元对锁单元发送的随机数据进行加密,并将加密结果返回到锁单元。钥匙单元在接收到锁单元发送的随机数据后,对随机数据进行数据加密,将加密 结果通过红外线串行通信方式返回锁单元。④锁单元对钥匙单元加密的结果与锁单元自身的加密结果进行比较,结果一致则 开锁,否则拒绝开锁及判断是否需要给出报警信号。锁单元将钥匙单元返回的加密结果与自身的随机数据加密结果进行比较,结果一 致,则进行开锁,否则,如果结果不一致次数达到一定数值后,将给报警装置一个报警信号, 并返回到初始状态。其中,钥匙单元和锁单元的加密方式方法必须完全一致。(2)数据加密方法数据加密方法包括数据置换处理、数据相加处理和数据环移处理。数据置换,将需要置换的数据作为置换表中的序号,用对应该序号的置换数据替 换原来需要置换的数。数据相加,将数据与预先设置的固定数进行相加,其中低位相加产生的进位保留, 高位相加产生的进位舍去。数据环移,数据环移包括左环移和右环移,在8位单片机中可以通过程序对8位二 进制格式存储的数进行左环移或则右环移操作,以此达到数据变化的目的。在本发明中,数据加密方法至少使用1次数据置换处理、1次数据相加处理和1次 数据环移处理,其使用的先后顺序可以设置。本发明采用上述装置及其控制方法,首先,钥匙单元和锁单元的单片机集红外线 数据发送、数据接收、数据解码、数据校验和数据加密芯片于一体,简化了电路,降低了成 本;其次,单片机可以设置程序加密,禁止读出单片机内部程序,防止钥匙程序被复制;最 后,每次开锁密码是一组随机数据经过一种加密方式得到,而加密方式至少使用了 1次数 据置换、1次数据相加、1次数据环移,破解加密方法的难度增大,增加了安全性。


图1是本发明的原理框图。图2是本发明的钥匙单元电气原理图。图3是本发明的锁单元电气原理图。图4是本发明的加密原理图。图5是本发明钥匙单元的程序流程图。图6是本发明锁单元的程序流程图。
图7是本发明数据加密方法实例。
具体实施方式

1、参照图1基于单片机的红外线电子密码锁及其控制方法的实施就是钥匙单元与锁单元之 间数据通信电路以及控制方法实施步骤第一步钥匙单元的按键Kl按下,单片机Ul上电复位,随即通过红外线向锁单元 串行通信方式发送1组预设的固定数据。第二步锁单元的单片机U2将钥匙单元发送的固定数据与自身预设的固定数据 进行比较,比较结果一致后,通过红外线向钥匙单元的单片机Ul串行通信方式发送1组随 机数据,随后单片机U2对发送的随机数据进行加密,并将加密后的结果存储于单片机U2的 数据存储器中。第三步钥匙单元的单片机Ul对接收到的随机数据进行加密,将加密后的结果通 过红外线串行通信方式返回给锁单元,随后通过软件让单片机Ul停止工作。第四步锁单元的单片机U2对钥匙单元返回的加密后的数据与自身加密后的数 据进行比较,结果一致则给开锁装置Dl —个开锁信号,否则再判断是否给报警装置D2 —个
报警信号。2、参照图2、图3单片机工作电路钥匙单元通过电池为单片机Ul产生5V工作电压;按键Kl控制整个单片机系统供 电;单片机Ul的复位端RST外接RC上电复位电路,使单片机系统在上电时自动进行复位; 单片机Ul的XTAL1、XTAL2和GND端外接晶振、电容,与单片机内部振荡器形成振荡电路,为 单片机Ul提供工作时钟频率。锁单元的单片机U2在实际应用中通过市电转换后成为5V直流电供电,也可以通 过电池供电;单片机U2的复位端RST外接RC上电复位电路,与单片机Ul不同的是在电容 C6上并联了一个按键K2,目的是增加了手动复位按键;单片机U2的XTAL1、XTAL2和GND端 外接晶振、电容,与单片机内部振荡器形成振荡电路,为单片机U2提供工作时钟频率;1号 I/O引脚外接开锁装置(图中标识0ΡΕΝ) ;2号I/O引脚外接报警装置(图中标识:ALAMR)。单片机红外线数据串行发送电路红外线发射电路,由于红外线接收头HS0038只能接收37_39Khz的红外线,直接发 出的未经调制的红外线是不能被红外线接收头HS0038所识别,因此需要将红外线光进行 调制为37-39Khz的载波;单片机Ul和单片机U2使用定时器产生定时中断,对内部带上拉 电阻的I/O引脚取反,产生38Khz的方波,并控制三极管9013的基极,以此控制红外线发射 管的通断,同时,红外线发射管还受到单片机串行数据通信输出引脚TXD引脚的控制,当串 行数据通信输出引脚TXD为低电平的时候,红外线发射管将产生38Khz的红外线方波,反 之,当单片机串行数据通信输出引脚TXD为高电平时,红外线发射管两端无电压差,不能产 生红外线。红外线接收电路,红外线接收头HS0038接上工作电压,输出脚OUT串上限流电阻 后与单片机的串行数据通信输入引脚RXD连接,当红外线接收头受光面接收到37-39Khz的红外线时,在输出端OUT输出低电平,在未收到37-39Khz的红外线时,输出端输出高电平。红外线发射电路与接收电路的对应关系,当数据发射电路中的单片机串行数据通 信输出引脚TXD为低电平时,红外线发射管工作,产生38Khz的红外线方波;接收电路中的 红外线接收头HS0038接收到38Khz的红外线方波时,输出脚OUT为低电平,因为数据接收 的单片机与红外线接收头HS0038共电源,所以单片机串行数据通信输入引脚RXD也为低电 平,与发射电路中单片机的串行数据通信输出引脚TXD端对应。反之,当数据发射电路中 的单片机串行数据通信输出引脚TXD为高电平,红外线发射管两端均为高电平,不能产生 38Khz的红外线,因此,接收电路中红外线接收头HS0038的输出脚OUT为高电平,接收电路 中单片机的串行数据通信输入引脚RXD也为高电平。由此可以看出,接收电路中单片机的 串行数据通信输入引脚RXD与发射电路中单片机的串行数据通信输出引脚TXD高低电平 一一对应,达到了串行方式通信的要求。3、参照图4数据加密原理参照图3中虚线框1,数据Ax是一个需要进行加密的原始数据,将Ax的值作为置 换表中序号值,再将对应该序号值的置换数取出代替原始数据,即Bx(虚线框2)代替数据 Ax。参照图3中虚线框2,数据Ax置换结果Bx加上一个预设数据Cx,和为Dx (虚线框 3),其中,由于电路采用8位单片机,数据存储为8位二进制数,相当于2位十六进制数,如 果Cx的低位与Dx的低位相加产生进位则高位加一,Cx的高位与Dx的高位相加产生的进 位则舍去。参照图3中虚线框3,数据Dx经过环移后(环移方向和位数可以预设),成为Ex, 即Ex为Ax的加密结果。图3为一般的数据加密原理,在实际使用中,数据置换、数据相加和数据环移所调 用次数和调用顺序是可以设置的。4、参照图5步骤101,钥匙单元单片机在上电复位后,单片机开始正常工作。步骤102,钥匙单元单片机在做开锁前的准备工作,包括定时器定时设置、数据串 行方式发送、接收的波特率、数据串行方式发送、接收格式的设置。步骤103,打开定时器,定时中断控制一个内部带上拉电阻的I/O 口产生38Khz的 频率,并通过串行数据通信输出引脚TXD向锁单元发送一组预设的固定数据。步骤104,关闭定时器,停止产生38Khz频率,等待接收随机数据。步骤105,随机数据接收完成后,对接收的随机数据进行加密。步骤106,参照步骤103,打开定时器,产生38Khz的频率,并通过串行数据通信输 出引脚TXD向锁单元发送加密后的数据。步骤107,通过程序使单片机停止工作。5、参照图6步骤201,锁单元单片机在复位后,单片机开始正常工作。步骤202,锁单元单片机在做开锁前的准备工作,包括定时器定时设置、数据串行 通信发送、接收的波特率、数据串行通信发送、接收的格式、密码错误次数上限设置、开锁和报警装置的I/O 口定义。步骤203,等待钥匙单元的数据发送,当单片机串行数据通信输入引脚RXD出现低 电平时,时间限制定时器立即开始定时,如果在限定的时间内,数据未接收完成,返回到初 始状态。如果接收的数据与自身的预设固定数据不一致,返回到初始状态。步骤204,在接收数据与自身的预设固定数据比较结果一致的情况下,锁单元的 单片机立即产生一组随机数据,并将这组随机数据通过串行通信发送口 TXD发送到钥匙单 兀。步骤205,关闭产生38Khz频率的定时器,对产生的随机数据进行加密。步骤206,接收钥匙单元加密后的数据,如果在限制时间内未接收完成,锁单元的 单片机返回到初始状态。步骤207,数据接收完成,关闭时间限制定时器,将钥匙单元加密后的数据与自身 的加密数据进行比较。步骤208,钥匙单元的加密数据和锁单元的随机密码加密后的数据比较结果一致, 给出开锁信号,并返回到初始状态。步骤209,判断步骤207的比较结果不一致的次数在一定时间内,是否达到上限, 未达到,返回到初始状态。步骤210,在步骤209中,比较结果不一致的次数在一定时间内达到了上限,给出 报警信号,返回到初始状态。步骤211,本步骤是防止数据传输中断后锁单元进入持续等待数据接收的状态。6、参照图7设加密前随机数据为两位十六进制数D3,加数为两位十六进制数72,环移位数为 左环移2位,置换表序号0-F对应置换数顺序为:3、5、D、9、7、6、1、2、F、4、C、B、8、A、0、E。加 密原则为按数据相加、数据环移、数据置换顺序各执行1次。十六进制数D3换算为8位二进制数是11010011。十六进制加数72换算为8位二进制数是01110010数据相加十六进制数D3加上十六进制数72就相当于二进制数11010011加上 01110010,十六进制表示相加结果为145,二进制表示相加结果为101000101,由于最高位 的进位舍去,因此十六进制表示相加结果为45,二进制表示相加结果为01000101。数据环移二进制数01000101左环移2位表示从左至右顺序,第3位0至第8位 向左顺序移动2位,而第1、2位则分别放在第7和第8位置,结果二进制表示为00010101, 十六进制表示为15。数据置换对照置换表,15的第1位数字1对应置换表中的5,第2位数字5对应 置换表中的6,即15置换结果为56。因此十六进制随机数D3的加密结果为十六进制数56。
权利要求
基于单片机的红外线遥控电子密码锁装置及其控制方法,包括钥匙单元、锁单元及其控制方法,其特征在于钥匙单元与锁单元均以单片机作为数据传输、数据加密、数据校验的核心元件;钥匙单元与锁单元之间的数据传输是以红外线作为介质;控制方法包括开锁方法和数据加密方法。开锁方法如下①钥匙单元通过红外线向锁单元串行传输方式发送一组预先设置的固定数据。②锁单元将钥匙单元的固定数据与锁单元预先设置的固定数据进行比较,结果一致则通过红外线向钥匙单元串行发送一组随机数据,随后锁单元对随机数据进行加密。③钥匙单元对锁单元发送的随机数据进行加密,并将加密结果返回到锁单元。④锁单元对钥匙单元加密的结果与锁单元自身的加密结果进行比较,结果一致则开锁,否则拒绝开锁及判断是否需要给出报警信号。数据加密方法是采用数据置换、数据相加和数据环移的数据处理方法。
2.根据权利要求1所述的基于单片机的红外线遥控电子密码锁装置及其控制方法,其 特征在于钥匙单元和锁单元均采用8位单片机;钥匙单元的单片机至少含有1个带有内 部上拉电阻的双向I/O引脚、1个串行数据通信输入引脚和1个串行数据通信输出引脚;锁 单元的单片机至少含有3个带有内部上拉电阻的双向I/O引脚、1个串行数据通信输入引脚 和1个串行数据通信输出引脚。
3.根据权利要求1所述的基于单片机的红外线遥控电子密码锁装置及其控制方法,其 特征在于数据加密方法中至少采用1次数据置换处理、1次数据相加处理和1次数据环移 处理,其采用的先后顺序可以设置。
全文摘要
本发明公开了一种用单片机实现的红外线遥控电子密码锁装置及其控制方法,包括红外线发射电路、接收电路及控制方法,控制方法包括开锁方法和数据加密方法。在开锁方法中钥匙单元首先通过红外线向锁单元发送一组预设的固定数据,锁单元接收到该组固定数据后将其与自身的固定数据进行比较,比较结果一致,则向钥匙单元发送一组随机数据,并对该组随机数据加密,钥匙单元也对该组随机数据加密,并将加密结果返回到锁单元,锁单元对钥匙单元的加密结果和自身的加密结果进行比较,结果一致则进行开锁;在加密方法中包括数据置换、数据相加、数据环移的处理。本发明采用单片机进行数据传输、数据加密、密码校验,简化了电路,降低了成本,增强了安全性。
文档编号G07C9/00GK101833798SQ20091016764
公开日2010年9月15日 申请日期2009年9月16日 优先权日2009年9月16日
发明者徐照英 申请人:徐照英
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1