摘要:本文介绍滚动码技术和一种基于PIC16C57的滚动码解码的安防系统设计。与传统的用于单向传输的安防产品主要采用固定编码集成电路相比,该系统具有极高的保密性, 可广泛应用于各种安全保密系统。
关键词:滚动码;遥控发射;遥控接收;单片机
传统上,用于单向传输的安防产品主要采用固定编码集成电路,如PT2262 、PT2272 、AX5326 、AX5327等编解码芯片。但由于此类编解码芯片的编码长度有限,码形格式固定不变,容易通过空中捕捉电波码字和扫描跟踪等方法破解。因此,此类编解码芯片只能用于一些对保密安全要求不高的场所。相比之下,Microchip公司推出的KEELOQ编码系统编码方式安全性大大提高。
KEELOQ 技术是一种复杂的非线性加密算法,经它加密后的码称为滚动码,KEELOQ也是滚动码技术的代码。KEELOQ编码系统的编码方式不是固定的,使数据传输具有极高的保密性,每次传输的代码都是、不规则且不重复的。解码系统由PIC系列单片机构成,编解码系统经“学习”后,便构成一系统,编码与解码同步滚动,使得任何非法捕捉和扫描跟踪等破译手段都难以奏效。基于这一原理,本文提出了一种基于PIC16C57的滚动码解码安防系统的设计,主要包括遥控发射系统、遥控接收译码控制系统两大部分。硬件系统结构图见图1。
图1 系统结构框图
系统主要由按键加密发送器和接收控制器组成。用户可以按下按键开关发起与接收机的通信,通过一串长度为64~128位的数据流进行发送器和接收器的会话,该数据流包括前引导码、命令码和一串加密滚动码。
遥控发射系统
遥控发射器主要由滚码发生电路和载波发射电路两部分组成,如图2所示。S0-S3是四路控制按键,LED为发射指示,滚动编码以串行方式通过PWM接口,再由发射电路发射出去。发射电路采用MAX1472射频模块,如图3所示。
图2 遥控发射系统
图3 发送部分射频前端电路
遥控接收解码控制系统
在接收解码控制系统中,需要有射频接收电路(见图4)和解码控制系统(见图5)两部分。
图4 接收部分射频前端电路
图5 遥控接收解码控制系统
在解码控制系统中,单片机采用PIC16C57,片内有72单元的RAM,2K程序存贮器ROM,20个I/O接口,以及片内定时计数器和看门狗电路。在本设计中,由于使用的输入输出接口较多,需要进行扩展。输入扩展可采用单向驱动器74LS244, 输出扩展可采用8D触发器74LS273。在遥控接收电路中,采用与发射器配套的MAX1473。E2PROM可以选用任何容量的采用I2C总线协议的产品,以用作存贮滚动编码的“参考码”。
为了使编码器、解码器一起工作,编码器首先要被“学习”确认。“学习”时, 先按下PIC单片机解码器下的 “LAN”按键,并在规定时间内按下编码器的任意按键2 次。若在规定的时间内没有接收到2 次数据, 或者有接收到2 次数据, 但数据经校验不正确, 则认为学习失败, 应重新学习。 若长按“LAN”键超过8.2s,则解码器将擦除全部的编码器存储值。“学习”成功后, 解码器将所学的序列号和同步值经加密后存储到E2PROM中。解码器接收到发送后,立即检查序列号是否已被学习,如果是,则进行解码过程。然后,由生成的密钥对滚动码部分进行解密,用鉴别位来判断解密是否有效,如果以上通过,则对同步值进行判断。同步值判断通过后,接收到的按键值才输出。
本系统中单片机控制部分可以检测门的状态并驱动微功耗的电子锁电磁继电器,实现开/关功能。结合盗警检测、火警检测等,就可以构成一个完善的家用/办公场所报警系统。
结语
通过结合多家外围器件和微处理器件,整合利用KEELOQ芯片的安全性、Maxim射频芯片的可靠性和PIC16C57单片机的性价比,通过实际运行,系统达到了预先设计的要求。应用KEELOQ 加密算法及非易失性的同步值, 使得所设计的系统具有极高的保密性, 可广泛应用于各种安全保密系统,比如各种报警系统、防盗系统、住宅、办公楼、汽车及车库等门卫管理系统