分享

基于KEELOQ技术的遥控门禁系统的实现

 风舞狂鲨 2015-01-30

基于KEELOQ技术的遥控门禁系统的实现

薛巨峰,乔 鹏 时间:2013年03月25日 来源:电子技术应用2013年第2期
字 体:

摘  要: 基于KEELOQ技术的解码运算,采用滚动码技术,通过HCS301进行跳码编码并对其进行解码,同时采用芯片PIC16F630,设计了一个遥控门禁系统。给出了系统流程图和部分硬件原理图,详细描述了密钥的产生和解码的过程。本系统具有保密性高、使用方便、成本低的特点。
关键词: HCS301;PIC16F630;滚动码;KEELOQ技术

    目前,大部分家庭门禁系统都是采用机械式开锁,操作比较麻烦,给家里有老人的家庭带来了诸多不便,且安全性也不能得到很高的保障。近年来RF遥控器件的价格越来越便宜,且电子式遥控开锁更加方便、安全,从而使其市场有了更大的提升空间,利用其特点已开发出了一些重要的应用,遥控门禁就是其中之一。机械式开锁的最大缺点就是不安全,采用滚动码技术的遥控门禁系统则大大改变了这一现状,因为其每次发出的编码信息不同、不规则,而且重复出现同一编码信息被视为无效,传输代码采用了非线性位加密技术,使其产生了具有很高保密性的滚动码,使得一些非法的装置不能在一定的时间内破解其密码。本文主要介绍KEELOQ技术在遥控门禁系统中的应用,并且利用PIC16F630进行控锁和软件解码。
1 编码器的工作原理
    本设计的遥控门禁系统[1]通过按键遥控器就能开关家门,其工作流程如图1所示。当系统按钮被按下时,HCS301将开始准备工作,为使按钮抖动平息,大约要延迟10 ms。信息将以跳码的形式进行传输,跳码包括识别码、按钮信息和徒步计数值。跳码就是跳动的代码,在每次发送时都将产生变化,即便同一个按钮被按下多次,它也会发生变化。因此,发送的编码字在超过64 000次的传输中都不会重复。以每天执行10次操作为例,跳码可以保证在18年之内编码字不会重复。溢出信息可用来将唯一发送的次数提高超过192 000次。在发送代码过程中,如果有按钮被按下,则会产生复位的效果,并且当前编码字的传输将不会被完成。只要有按钮处于按下状态,松开按钮就不会对编码字产生任何影响。在这样正常的情况下,编码字将完成并在随后断电[2]。

2 KEELOQ技术介绍
    KEELOQ技术[3]实际上是一个关于“ASIC”的特别设计,它包括解码技术和加密技术,并提出了一种实用可靠的KEELOQ算法,适用于遥控或命令辨别的场合。它的加密、解密技术安全,具有变化多、不容易被截获的特点,KEELOQ技术可应用在车库门遥控、秘密通信、被动式感应控制、停车场管制、安全锁等场合,用途广泛。KEELOQ的传送可经由公共频道,内含一组64 bit的编码密码,编码器将把该编码密码传输到解码器,其中有32 bit的编码密码是不知道的,从而可保证该技术的保密性,并且传送资料不唯一和不重复。KEELOQ技术的重点在于它独特的演算法(即数学推算公式),当资料进入这演算法并进行运算时,其输入与输出是一一对应的,不存在重复。
2.1 KEELOQ技术的密码编码和存储[4]
    密钥的产生是由64 bit厂家代码和28 bit发送序列号在密钥生成算法中实现,并把其生成的密钥存储在HCS301中的EEPROM中,如图2所示。

2.3 PWM的接收
    发送的信息包括32 bit跳码和34 bit固定码,由图3可知,该固定码包括识别码、功能键和溢出指示位。首先进入前导资料并进行准备;然后开始接收所传输的资料,利用Sync.Header 10 TE来改变接收的速率,会得到TE的时间。当检测到有上升沿上升时,过一半TE时间后,开始进行取样并检测其结果。如果为1,则接收成功;如果为0,则接收失败,需要等待1 TE时间,然后立即取样,并把采样结果作为资料位元再重复以上动作,重新采样并进行测试;如果重测结果为1则失败。当下一个上升沿出现时,如果等待时间大于1 TE,则可以断定其结果为失败。重复以上步骤,直到把这66 bit编码密码接收完成[5],如图4所示。

3 PIC16F630的软解和控锁
    跳码编码可用专用芯片进行硬件解码。由于专用芯片的价格很贵,因此本设计采用PIC系列的单片机芯片PIC16F630进行软件解码[6]。当接收器接收到信号时,把信号传输到单片机中,然后PIC16F630进行软件解码,产生控制信号D0、D1、D2、D3。其原理图如图5所示。

    主机接DC12 V变压器,+12 V为正极输入端,GND为负极输入端,JP1~JP5为短路帽,第一组控制信号由跳线端JP4控制:如果JP4跳到A端,则只有按遥控器A键,L1才有开锁信号;如果JP4跳到D端,则只有按遥控器D键,L1才有控制信号输出。第二组控制信号由跳线端JP3控制:如果JP3跳到B端,则只有按遥控器B键,L2才有开锁信号;如果JP3跳到C端,则只有按遥控器C键,L2才有控制信号输出。
4 KEELOQ技术的学习模式
    为使生产配对方便、管理简单,KEELOQ系统要进行学习。解码器在没工作时,仅知道其制造商代码,剩下的都不知道;解码资讯存储在EEPROM中,具体包括:序列号(Serial Number)、同步计数值(Current Sync.Counter Value)、识别码(Discrimination Value)、编码密码(Encrypion Key)[7]。
4.1 简易学习模式

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多