《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > PKE智能钥匙系统设计
PKE智能钥匙系统设计
来源:微型机与应用2010年第20期
孔慧芳,丘宇宁
(合肥工业大学 电气与自动化工程学院,安徽 合肥230009)
摘要: 介绍了一种基于微芯公司PIC16F639和PIC18F4680单片机的汽车无钥匙门禁系统的设计方案。设计了应答器模块的高频发射与低频接收电路,基站模块的高频接收与低频发射电路,并给出了应答器模块的工作流程图。详尽分析了Keeloq加密解密过程以及系统间的通信协议。结果显示,此设计方案能够满足实际应用中的各种通信要求。
Abstract:
Key words :

摘  要: 介绍了一种基于微芯公司PIC16F639和PIC18F4680单片机的汽车无钥匙门禁系统的设计方案。设计了应答器模块的高频发射与低频接收电路,基站模块的高频接收与低频发射电路,并给出了应答器模块的工作流程图。详尽分析了Keeloq加密解密过程以及系统间的通信协议。结果显示,此设计方案能够满足实际应用中的各种通信要求。
关键词: 智能钥匙被动无钥匙门禁;Keeloq加密;低频唤醒

    随着汽车电子技术的不断发展,传统的无线门禁系统已无法满足广大用户的需求。免持式被动无钥匙门禁系统PKE(Passive Keyless Entry)正迅速成为汽车远程无钥匙门禁应用的主流,并成为新型汽车的普遍选择。在汽车装配有PKE智能钥匙系统的情况下,车主只要靠近车辆或者碰一下车门,车门就能自动打开[1]。PKE智能钥匙系统是汽车智能化、信息化、电子化的体现,提高了整车的安全性、可靠性、舒适性,具有极佳的市场前景和巨大的潜在效益。
1 系统硬件设计
1.1 PKE系统的工作原理

    PKE智能钥匙系统分为基站(车身)和应答器(钥匙)两部分,系统框图如图1所示。这两部分之间采取双向通信。该系统有两种工作方式:第一种是车辆中的基站单元不停地发送一条编码为125 kHz的低频报文以搜寻并唤醒一定范围内的应答器。该信号范围内的所有应答器都能够接收到该报文,并对编码的数据字段进行验证。一旦车主身上的应答器识别成功,它就会自动发送一条频率为433.92 MHz的射频Keeloq编码报文,基站单元在收到该报文后对其进行解码,如果识别成功,将控制指令执行机构打开车门。第二种工作方式中基站单元为了降低电流消耗并不会轮询应答器。基站单元一般处于休眠状态或掉电状态,只有当触发事件发生时才能将其唤醒,该触发事件一般是汽车门把手上的红外信号或者是由汽车门把手装置激活的微动开关。在第二种工作方式下车主必须碰一下车门才能触发系统,从而打开车门。

1.2 应答器(钥匙)模块设计
    应答器模块由微控制器、高频发射电路、低频接收电路和开关按钮组成,其电路图如图2所示。由于应答器模块是车主随身携带的,所以该模块必须以体积小、功耗低为设计原则,同时必须具备一定的安全性。根据以上特性,微控制器选择微芯公司的PIC16F639。该芯片采用SSOP封装,体积小,内置一个Keeloq加密模块和一个3通道模拟前端,可用于多种低频检测和双向智能通信。

    应答器模块采用3 V纽扣电池供电,采用内部4 MHz时钟。在没有低频激励的情况下,应答器模块以标准RKE(Remote Key Entry)模式工作,当接收到有效的低频激励报文时,微控制器将如同按下一个虚拟按键一样做出响应。4个按键(S1~S4)分别接到微控制器的PORT A口,通过电平的变化唤醒休眠中的PIC16F639,并触发中断,完成相应的上锁、解锁、报警等功能。当中断程序完成以后,PIC16F639将重新进入休眠模式。二极管D1用来指示高频信号的发射,高频信号由引脚RC5发出的PWM经过声表面波谐振器产生[2]。
    应答器对基站发送过来的低频唤醒信号通过PIC16F639的3通道模拟前端实现。PIC16F639具有高达3 mVpp的模拟输入灵敏度的3个天线连接引脚(LCX、LCY、LCZ)。通过连接3个分别指向x轴、y轴、z轴的天线,应答器可以随时接收来自任何方向的信号,从而降低由天线的方向性而造成信号丢失的可能性。在此系统中,3个方向天线采用PREMO公司专门为PIC16F639设计的集成天线模块,该天线模块体积小、精度高,电感值在出厂时已经配置好,只需要配合对应通道的电容便可使用。对于免持式操作,由于应答器持续等待并检测输入信号,产生电池预期寿命的问题。为了减小工作电流,可以对模拟前端内置的输出使能滤波器进行配置,设定报头匹配序列。当模拟前端搜寻信号时,数字MCU部分可以进入休眠模式,只有在低频输入信号的报头序列波形与滤波器所设定的吻合时,才能唤醒数字MCU。即当有效低频信号通过内部电路解调并在PORT C口RC3引脚上输出LFDATA数字信号时,利用与RC3相连的PORT A口RA2引脚触发中断,才能唤醒休眠中的数字MCU。PIC16F639通过内部SPI配置模拟前端。
    应答器模块的高频发射电路如图3所示。声表面波谐振器SAW与功率放大器Q1构成了一个开关键控高频发射器。L1作为高频发射器的天线,一般通过PCB上的金属走线形成。系统需要发送的各种信息经过Keeloq加密并PWM编码后由RC5引脚输出,当输出为高电平时驱动发射电路工作;当输出为低电平时,发射电路截止。

1.3 基站(车身)模块设计
    基站模块由微控制器、高频接收电路、低频发射电路、液晶显示电路及总线传输电路组成。基站模块的微控制器采用微芯公司的PIC18F4680,工作频率为40 MHz。该芯片拥有64 KB的Flash存储器,1 KB的EEPROM存储器及3.3 KB的SRAM存储器;还拥有1个SPI接口、1个I2C接口、1个LIN接口及1个ECAN接口,完全可以满足与汽车控制器进行信息交换的要求,同时该芯片具有丰富的I/O资源,为配置液晶屏提供了可能,让车主能够及时了解基站模块的工作情况。本文着重介绍高频接收电路和低频发射电路的设计,其电路如图4、图5所示。

    高频接收电路采用安阳市新世纪电子研究所的一款超再生接收模块J04V。J04V是一款低功耗、小体积接收模块,采用SMT工艺,性能稳定,具有较好的灵敏度及性价比,可以广泛应用于需要长期处于接收状态的遥控报警及单片机数据传输系统。J04V的接收频率为433.92 MHz;工作电压为3 V,工作电流只有0.2 mA,功率极低;外形尺寸为10 mm×23 mm,并且不需要外接天线,能够满足本系统的设计要求。超再生模块J04V集成度高,接线简单,接收到的高频数字信号通过OUT引脚直接传送到PIC18F4680的RB4引脚,触发中断,中断程序进行解码操作,将编码信号还原成原始数据,从而通过总线控制相关指令执行机构动作。
    低频发射电路由一个TC4422功率放大器和一个LC串联谐振电路组成。在PKE系统中,低频信号的发射和接收通过电磁感应进行通信,当低频功放驱动器的电流为500 mA左右时可以获得较好的传送距离,而为了提高输出回路品质因数Q,低频功放驱动器的输出阻抗必须在10 Ω以下,因此选用TC4422功率放大器。该电路可以产生一个基于PWM输出的载波信号。TC4422放大来自微控制器的125 kHz低频信号的功率,通过由天线L1、电容C2、C3、C4组成的LC串联谐振电路后,低频方波脉冲将变成正弦波[3]。当LC串联谐振电路的谐振频率与PWM信号的频率一致时,通过L1的负载电流最大,从而产生很强的磁场,此时发送信号强度最大。
2 系统软件设计
2.1 Keeloq编码的实现

    Keeloq实际上是一个“ASIC”的特别设计,内含加密及解密技术,适用于遥控或命令辨别的应用场合,如安全锁、车库门遥控、秘密通信、软件保护等。Keeloq加密算法其实是一种非线性的数学推算公式,当输入数据经过该算法加密后,输出数据对输入数据而言就是唯一的。Keeloq核心组成元件分别为制造商代码、序号、编码密码。制造商代码为由制造商决定的不可泄露的原始密码,用来辨别不同制造商之间的产品,并且应答器与基站的制造商代码必须相同才能互相识别。序号的作用是区别不同的应答器,每个应答器都有自己的一个序号。在标准加密模式下,编码密码是由制造商代码与序号利用解码算法共同产生的,用于产生跳码,储存于微控制器的EEPROM中。Keeloq编码过程如图6所示。

    每当应答器的按键按下时,PIC16F639便将一组66 bit的加密资料以PWM编码的方式通过高频发射器传送出去。这66 bit的加密资料包含34 bit的固定码与32 bit的跳码。其中34 bit的固定码包括28 bit的序号、4 bit的功能键以及2 bit的状态位。4 bit功能键表明了应答器中哪一个按键已被车主按下,而基站必须根据不同的功能键数值执行相应的命令。另外,Keeloq编码加密算法利用64 bit编码密码、16 bit同步计数值、10 bit识别码、4 bit功能键、2 bit溢位指示通过非线性数学推算公式生成32 bit的跳码[4],而同步计数值在每一次按键按下以后将自动加1并存入EEPROM中,这将使下次编码加密时形成一组新的跳码,大大提高了安全性。
    基站接收到66 bit的加密资料后,首先检查固定码中的序号是否与存储在EEROM中的序号是否一致,然后运行解密算法,得到识别码、同步计数值、功能键、溢位。PIC18F4680先将解码后的识别码与固定码中序号的低10位进行比较,看是否相等;然后比较解码后的功能键数值与固定码中的功能键数值;最后判断解码后的同步计数值与EEPROM中的旧的同步计数值是否合理增加。如果有一个步骤发生错误,微控制器则判定接收到的是一组不合法的资料,不会进行下一步动作。
2.2 通信协议
    基站与应答器之间的通信采用PWM编码方式进行半双工通信。1个数据由3个位元组成,位元周期Te一般取100 μs~400μs,其格式如图7所示。微控制器在接收PWM时通过前导资料的指引,做好了接收数据的准备。当同步导引过后,微控制器检测到第一个上升沿时,等待1/2Te时间后立即取样并检测是否为高电平1,如果为0则接收资料失败,然后延时一个Te时间后立即取样作为资料位元,再延时一个Te时间取样并判断,如果为高电平1则接收资料失败,最后等待下一个上升沿的到来,如等待时间超过一个Te则接收资料失败。依此循环,直到资料全部接受完毕。高频与低频数据发送格式如图8、图9所示。

2.3 流程图
    应答器工作流程图如图10所示。

    本文介绍了PKE智能钥匙系统的总体设计方案,给出了详尽的硬件电路及软件设计。实践证明该系统体积小、功耗低、通信良好、安全性强、应用市场广阔,有着很大的实用价值。
参考文献
[1] MUHAMMAD A M,ROLIN D M,DANNY C.PIC技术宝典[M].北京:人民邮电出版社,2008.
[2] Microchip Technology Inc.AN1024.PKE system design using the PIC16F639[Z].2006.
[3] Microchip Technology Inc.Passive keyless entry(PKE) reference design user’s manual[Z].2006.
[4] 石云.基于KEELOQ技术的车库门禁系统[J].现代电子技术,2008(15):144-145.

此内容为AET网站原创,未经授权禁止转载。