1.一种光控门禁方法,其特征在于具体步骤为:
一、建立一个光控门禁系统,包括:光钥匙、光控锁;
光钥匙包括光发射模块、光钥匙控制模块和三相开关;光钥匙采用专用的电路设计制作或采用带有闪光灯的手机、平板电脑;
光发射模块用于将开锁的电信号转换成光信号,并以信息光束形式发送出去;光发射模块,采用发光二极管进行电光转换;光钥匙控制模块用于根据约定的编码规则将数据生成开锁电信号,控制光发射模块工作;三相开关用于选择钥匙的三种状态:照明、开锁和关闭;
光钥匙包括两个工作模式:照明、开锁;
光控锁包括:光接收模块、判决模块、光锁控制模块、锁受控模块;
光接收模块用于感应接收携带了数据的信息光束,并转化为相应的模拟电信号;光接收模块,采用光电二极管进行光电转换;判决模块用于判定光接收模块输出的模拟电信号,并转换成对应的数字电信号;光锁控制模块用于根据判决模块输出的数字电信号,并根据约定的解码规则将数字信号还原成数据,并判断该数据是否为有效,并根据数据修改密码、复位密码或者控制锁受控模块开闭光控锁;
光控门禁系统的数据,以数据帧的形式收发;
数据帧类型包括开锁帧、改密帧和复位帧;数据帧包括6个字段:帧头、数据类型、数据A长度、数据A、数据B长度和数据B;
帧头字段用于表示一帧数据的开始,并用于时钟同步;数据类型用于表示数据帧的类型及作用;数据A长度字段用于指示数据A字段的长度;数据B长度字段用于表示数据B字段长度;
数据帧的各数据码采用二进制数,即″0″和″1″,并采用差分曼彻斯特编码进行调制;在差分曼彻斯特编码规则中,每一位数据码的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;在数据位开始时改变信号极性,表示逻辑″0″;在数据位开始时不改变信号极性,表示逻辑″1″;
为了便于光控锁的自适应识别,光钥匙处理发送数据帧时,在每出现4位连续的″1″后补1个″0″;该补上的″0″在光控锁接收处理数据时删除;
数据帧以高速闪烁的信息光束形式传播;
发光二极管″亮″表示数据码的高电平,″灭″表示数据码的低电平;
光钥匙在照明模式下,光钥匙控制模块不工作,仅仅点亮照明发光二极管;
将光钥匙在开锁模式下,光钥匙控制模块根据数据帧,采用差分曼彻斯特编码方式生成开锁电信号,并向光发射模块循环发送该信号,控制光发射模块的发光二极管″亮、灭″闪烁;
二、将光钥匙的三相开关置于开锁模式;在开锁模式下,光钥匙控制模块将用差分曼彻斯特编码方式做了调制的数据帧生成开锁电信号,并向光发射模块循环发送该信号,控制光发射模块的发光二极管的″亮″、″灭″闪烁;其中,数据帧格式如上所述;同时,在数据帧中每出现4位连续的″1″的后面补1个″0″;经过补“0”处理的数据帧,以高速闪烁的信息光束形式循环发送,发送数据帧的一个数据码周期为T;
三、用光接收模块感应接收携带了数据的信息光束,并转化为相应的模拟电信号;判决模块再将输入的模拟电信号转换成对应的数字电信号;光锁控制模块根据判决模块的输出信号识别判定接收的数字电信号,并根据约定的解码规则将数字信号还原成数据帧,并判断该数据帧是否为有效,并根据数据帧修改密码、复位密码或者控制锁受控模块开闭光控锁;
由于光钥匙除了采用专用的电路设计制作,还能采用带有闪光灯的手机、平板;而每款手机、平板所使用的微控制器主频不一样,基于通用性考虑,首先要对判决模块输出的电信号进行预采样,得到发送信号的频率T;
预采样原理:根据差分曼彻斯特编码方式可知,若假设一个数据码的持续周期T,则每位数据码中间,即T/2处有一个电压跳变;如在数据位开始时改变信号极性,表示逻辑″0″;在数据位开始时不改变信号极性,表示逻辑″1″;如果,下一位数据为″0″,则在数据位开始时改变信号极性,会出现一个持续时间为T的高电平或者低电平;如果,下一位数据为″1″,则在数据位开始时改变信号极性,会出现一个持续时间为T的高电平或者低电平;
光锁控制模块的预采样流程:
步骤Y1:以光锁控制模块最快的采样频率f0对判决输出信号进行采样,检测是否为高电平;
步骤Y2:如果为高电平,开始以频率f0采样检测低电平,进入步骤Y3;如果不是高电平,则继续检测高电平;
步骤Y3:如果为低电平,则重新开始计时t0,并同时开始以频率f0采样检测高电平,进入步骤Y4;如果不是低电平,则继续检测低电平,直至t0计时超过设定值,就直接退出整个开锁流程;
步骤Y4:如果为高电平,则说明为有效数据输入,就进入步骤Y5的循环检测;如果不是高电平,则继续检测高电平,直至t0计时超过设定值,就直接退出整个开锁流程;
步骤Y5:循环检测,开始N(N大于2)次循环,检测输入电平:
步骤Y5.1:计时Δt2i+1,并以f0进行采样,循环检测是否为低电平;如果为低电平则进入步骤Y5.2;否则,继续检测低电平,直至计时超过设定值,就直接退出整个开锁流程;
步骤Y5.2:如果为低电平,则计时Δt2i+2,并继续以频率f0进行采样,循环检测是否为高电平,如果为高电平则进入步骤Y5的下一次循环;否则,继续检测高电平,直至计时超过设定值,就直接退出整个开锁流程;
步骤Y6:循环结束后,根据Δt2i+2、Δt2i+1,推算出一位数据码的持续时间T;
步骤Y7:返回时间T;
光锁控制模块的主流程:
步骤Z1:对判决模块的输出电平进行预采样,计算出光钥匙发送一个数据码周期T;
步骤Z2:以周期t<(T/2)对判决模块的输出信号进行采样,根据数据帧格式扫描数据帧头;如果检测到数据帧头,则开始记录数据帧,直到检测到下一个数据帧头,或者检测到持续的高电平或者低电平;
步骤Z3:检测数据帧类型字段,如果为开锁模式,进入步骤Z4;如果为改密模式,进入改密流程;如果为复位模式,进入复位流程;如果为其他数值,则直接退出,结束程序;
步骤Z4:根据数据A长度字段的值N1,读出接收到密码数据的二进制序列;
步骤Z5:将读出的该二进制序列与光锁控制模块保存的密码进行比对,如果比对一致,则由控制电路带动受控装置将锁开启;否则,将保持锁关闭并关闭电路;
改密流程:
步骤G1:根据数据A长度字段值N1,读出接收到原密码数据的二进制序列;
步骤G2:将原密码数据的二进制序列与光锁控制模块保存的密码进行比对,如果比对一致,进入步骤G3;如果比对不一致,则关闭锁并退出;
步骤G3:根据数据B长度字段值N2,读出接收到新密码数据的二进制序列,并存入光锁控制模块;
复位流程:
步骤F1:根据数据A长度字段值N1,读出接收到复位密码数据的二进制序列;
步骤F2:将该接收到的复位密码数据的二进制序列与光锁控制模块保存的复位密码进行比对;如果比对一致,进入步骤F3;如果比对不一致,则关闭锁并退出;
步骤F3:根据数据B长度字段值N2,读出接收到初始密码数据的二进制序列,并存入光锁控制模块。