赵国树,周黎英,翟力欣
(1.金陵科技学院智能科学与控制工程学院,南京211169;2.金陵科技学院机电工程学院)
基于MT3108跳码芯片的无钥匙门禁系统设计*
赵国树1,周黎英2,翟力欣1
(1.金陵科技学院智能科学与控制工程学院,南京211169;2.金陵科技学院机电工程学院)
本文介绍了基于MicroTiVo公司的MT3108芯片和Microchip公司PIC18F4520单片机的无钥匙智能门禁系统。MT3108跳码编码芯片采用了椭圆曲线密码(ECC)算法,使门禁系统安全性更强。阐述了系统流程图、各电路的工作原理及加密解密的过程,测试结果显示,该设计满足了实际应用的需求。
MT3108;PIC18F4520;跳码;门禁系统
随着汽车电子技术的不断发展和加密技术的日新月异,既满足使用的方便性,又具有防盗窃的可靠性的技术在不断地推陈出新。传统的固定码方案防盗能力差,目前几乎完全被淘汰。分组滚动码方案(KeeLoq),采用了16位计数器,最快可在几秒内被破解,原因在于其编码规律容易被专用解码器获知,存在安全漏洞。
本文将跳码技术应用在遥控门禁系统中,将跳码芯片MT3108作为编码器,系统由电子钥匙(E-Key)、门控终端、中央控制器(简称中控器)组成,并采用PIC18F4520单片机完成软件解码和锁具的控制。软件编程采用MPLAB作为开发环境,使用C语言编程,提高了可移植性。
本设计分为钥匙终端和车载电路两部分。车载电路周期性地主动发送LF编码信号,寻找在1~2 m的距离内是否有合法的钥匙。LF信号周期一般为几百ms,频率为125 kHz。一旦钥匙处于1~2 m内,便可接收到低频编码信号,对数据进行判断以检验其合法性。如果编码是有效的,则跳码芯片MT3108对当前指令或默认指令进行加密,加密后的指令通过315 MHz的射频调制信号发射出去。车载射频接收电路对接收到的315 MHz的调制信号进行解调,PIC18F4520单片机负责对解调后的数据进行软件解码,得出具体的指令,从而对锁具进行控制。系统结构原理图如图1所示。
图1 系统结构原理图
智能钥匙的硬件主要用来接收LF信号,并把输入的指令加密后通过高频载波发射出去,下面详细介绍硬件原理。
2.1 智能钥匙模块
智能钥匙模块由125 kHz低频接收电路、MT3108跳码编码电路及315 MHz发射电路组成。
(1)125 kHz低频接收电路
图2中L1、L2、L3正交放置,均由7.2 mH电感、220 pF的电容及100 kΩ的电阻构成频率为125 kHz的RLC谐振选频电路。
导纳:
图2 125 kHz低频接收电路
在没有接收到125 kHz低频信号时,电感相当于短路,流过1 kΩ电阻的电流约为0.93 μA,X+与X-压差<1 mV,而当携带钥匙接近1~2 m时,电路发生谐振,阻抗为100 kΩ,此时X+与X-压差约100 mV,Y+、Y-及Z+、Z-亦是如此。如图2所示。
电压比较单元采用了低功耗单电源比较器MAX9075、MAX9077,耗电仅3 μA,其失调电压为1 mV,即输入电压的切换点为1 mV,因此互为正交的三个线圈中任何一个接收到低频信号后,XO、YO及ZO中至少有一个将跳变为高电平,从而使得Q4~Q6中至少有一个导通,LF_DAT跳变为高电平,如同按键被按下一样,实现自动触发按键。如图2所示。
(2)编码及射频发射电路
MT3108芯片通过3 V纽扣电池供电。如图3所示,跳码芯片MT3108提供了内置的按键接口S0~S3,内部为每个引脚配置了下拉电阻。无键按下或者不在125 kHz接收范围内时,MT3108失电,以降低功耗。当用户按键或近距离低频谐振自动触发按键时,S3为高电平,NMOS管Q3导通,使得PMOS管Q1导通,MT3108的VDD得电,触发芯片发送相应按键所要表述的键值的PWM波,通过315 MHz发送电路发送出去。
2.2 车载电路设计
车载模块分为低频发送电路、射频接收电路及中央控制电路。为查询钥匙是否在1~2 m范围内,车载模块总是每隔几百ms发送频率为125 kHz的低频编码信号,并接收射频信号,将解调后的编码送给中控单片机验证,再控制门锁。
(1)低频发射电路
低频发射电路由TN8118驱动芯片和串联LC谐振电路构成。该芯片输出阻抗只有7 Ω,使得输出回路的品质因素大大提高。TN8118放大来自单片机的125 kHz的低频信号的功率,当LC串联谐振电路频率与PWM频率一致时,通过电感的电流最大,发送的信号最强。低频发射电路如图4所示。
(2)射频接收模块
315 MHz接收模块采用超高频、低噪声无线数据传输模块GW-R5C1,体积小,一致性好,传输速率最高为20 kbps。引脚2接PIC单片机引脚RA5。射频接收电路如图5所示。
(3)中控单元
门控终端用于接收电子钥匙发来的跳码信息,然后进行解密,并发送至中控器请求验证。中控器包括微处理器PIC18F4520、矩阵键盘、存储器、门锁驱动等。它接收门控终端发来的请求验证消息,进行验证、记录开门信息、更新门状态,并根据验证结果发送开门信号给相应的开锁机构。中央控制电路如图6所示。
图3 跳码芯片及315 MHz发射电路
图4 低频发射电路
3.1 跳码芯片对数据的加密
MT3108使用前必须对芯片内部64字节的EEPROM进行编程,在其中保存所有配置信息和加密参数。
若遥控有键按下,则MT3108上电并被唤醒,延时消抖后获取按键信息。若所有键被按下,则进入学习模式;否则,取得按键信息,并加密同步计数值、识别码和按键信息形成跳码。无按键但距离接近1~2 m时,LF电路发来的串行数据也可以触发加密电路形成跳码。
图5 射频接收电路
即使连续两次按键一样,发送的跳码信息也会不同。一次发送完成后,如该按键还处于按下状态,则发送数据结构中的RPT位置1。传输的编码数据共86位,第一部分44位未加密信息包括RPT位(1位)、VLOW位(1位)、按键信息(4位)和用户序列号(16位)顺序组合得到。第二部分16位随机数信息是由均是16位的随机数和系统序列号按位异或后得到的。第三部分是经过加密运算后得到的48位跳码信息。加密前的48位数据由2部分组成:第1部分由均是16位的随机数和系统序列号按位异或后得到;第两部分由相同的32位随机数和32位同步计数器值按位异或后生成。编码数据格式如表1所列。
表1 编码数据格式
图6 中央控制电路
PWM数据传输的格式:开头为由EEPROM确定数量(设为n)的引导码,占空比为1/6,共6n×TE宽度;接着是长度为10TE宽度的低电平数据头;然后是实际编码信息,每位长度为3TE,格式为1X0,X=0表示高电平,X=1表示低电平,总长度为3TE×86=258 TE;最后是30 TE的低电平警戒位。
PWM数据传输格式如图7所示。
图7 PWM数据传输格式
3.2 软件解码
根据PWM数据格式,首先判断接收引导码。若低电平宽度大于5Te_max、高电平宽度>Te_max,则认为是非数据信号,合格的引导码高低电平比例为1:5,由于传输过程中存在变形,可将门限提高至1:2~1:7。
if((rec_l_cnt>(2* rec_h_cnt))&&(rec_l_cnt<(7* rec_ h_cnt)))
receiver_flg=1; //接收到引导码
由于引导码有多个,则找到引导码后需跳过其余的引导码,并等待宽度为10TE的低电平数据头,然后再接收实际数据信息(86位)。
接收86位数据信息时,为接收方便,可先收取前80位的数据,最后6位的数据单独接收。接收时,分别获取高电平时间rec_h_cnt和低电平时间rec_l_cnt。若rec_h_ cnt<rec_l_cnt,则接收的数据为1,否则为0,逐次移位存在数组receive_dat[0]~receive_dat[10]中,receive_dat [10]存放的是最后6位,需要右移2位右对齐。
对接收到的数据进行解密:由于接收到的PWM波跳码数据高地位与解码库内部解码所需数据相反,因此需要交换receive_dat[0-3]数据位置。
for(i=0;i<3;i++){
data_buf=receive_dat[i];
receive_dat[i]=receive_dat[5-i];
receive_dat[5-i]=data_buf;
}
将receive_dat[8]、receive_dat[9]的数据位置互换,然后提取PWM波中的USN数据,即可用于解密。调用解密库函数decrypt()进行解码,解码流程如图8所示。
decrypt((uchar*)(&receive_dat[8]),(uchar*)receive_dat);
解码后的CNT可用于数据验证以提高安全性,根据用户序列号正确性进行开门操作。
本文分析了基于MicroTiVo公司的MT3108芯片和微芯公司的PIC18F4520单片机的无钥匙智能汽车门禁系统的硬件和软件设计,针对门禁系统的安全性设计,开发了一款门禁系统。主要特点:
①交互通信的125 kHz低频感应距离为1.5 m,高频通信距离为70~80 m。
② 钥匙体积小,功耗低。静态功耗约3.2 μA,动态功耗约4 mA。
图8 解码流程
③跳码芯片采用了公匙跳码算法,提高了安全性。
本设计确保了每次密码的唯一性,密码不易被盗取,可广泛应用于车辆、厂房、办公等安防领域。
[1]孙枫舒,单武,陈勇,等.新型汽车防盗钥匙系统设计[J].研究与开发,2011(12):90-92.
[2]倪龙,和军平,林廖军.交互式无线汽车智能钥匙系统设计[J].计算机测量与控制,2010,18(5):1136-1138.
[3]薛巨峰,乔鹏.基于KEELOQ技术的遥控门禁系统的实现[J].集成电路应用,2013,39(2):45-47.
Keyless Access Control System Based on Hopping Code Chip MT3108
Zhao Guoshu1,Zhou Liying2,Zhai Lixin1
(1.School of Intelligent Science and Control Engineering,Jinling Institute of Technology,Nanjing 211169,China;2.School of Mechanical and Electrical Engineering,Jinling Institute of Technology)
This paper introduces the design of a keyless access control system based on MT3108 of MicroTiVo company and the microcontroller PIC18F4520 of Microchip company.The hopping code chip MT3108 uses elliptic curve cryptography(ECC)algorithm which strengthens the security of access control system.This paper elaborates flow chart of the system,working principle of the hardware and the process of encryption and decryption.The result shows that the design meets the demand of practical application.
MT3108;PIC18F4520;hopping code;access control system
TN92
A
杨迪娜
2014-11-11)
本课题收到江苏高校自然科学基金12KJB580003资助。