远程无钥匙进入系统的方案设计
图1 RKE系统结构框图
RKE系统的用户可以通过钥匙链发送数据来打开和关闭汽车门。图1中,用户可以按下按键开关来发起与接收机的通信,通过一串64~128位长度的数据流进行发送器和接收器的会话。该数据流包括前引导码、命令码和一串加密滚动码。通信速率通常选用2~20 kHz之间,采用ASK调制方式,主要为了延长发送部分钥匙链中电池的使用寿命。
1 系统设计
1.1 功率设计
设计中主要考虑的是低电流消耗情况下的高可靠性、系统的成本以及发送器和接收器的寿命。对于发送器,电池寿命在3~5年是可以满足要求的。电池寿命对于接收器件也很重要,因为接收器件必须总是在线侦听发送端数据,典型的电流要求不超过1 mA。一个设计方法是,在一定时间内,接收端保证能够检测到有效的发送信号;为了最大限度地节约电量,接收器在其他的时间睡眠。
1.2 安全性设计
系统的安全性也是一项主要考虑的因素。通过采用Microchip公司专为RKE系统设计的使用DES算法的安全密钥芯片HCS300来实现系统数据的安全加密,防止发送的数据被恶意盗取拷贝;同时在接收端使用MC9RS08KA2进行解密和继电器控制。
HCS300的操作电压为2.0~6.3 V,是一个可编程28位串行码、64位加密键值、66位发送长度、32位跳频码、4位按键码、2位状态码,具有键值读保护措施的芯片。
DES编码、解码图如图2和图3所示。
图2 DES编码图
图3 DES解码图
16位的同步计算器,在每次发送代码后都要发生改变。它随按键的次数而增加。根据DES算法加密,在每次发送的代码中,由于同步计数器的变化而使得每次发送的代码有大于50%的部分不一样。图2说明在编码过程中如何使用HCS300的内部可编程EEPROM,一旦编码器检测有按键按下,它就立即读键值,同时刷新同步计数器。按键和同步计数器经过加密算法处理,输出数据是32位的加密信息。携带按键信息的32位代码和串行码组成了整个发送码,将被接收部分接收到。
解码部分必须先学习发送端的数据码,学习包括计算发送端的键值、解密32位的加密信息和可编程阵列中的串行码、同步计数器以及键值。在正常的操作模式中,每次接收到的有效格式的信息都被计算。串行码用于表示发送码是否被学习过。如果发送码被学习过,那么它的信息被解密和同步计数器值校验,最后接收系统执行按键操作请求。图3表示了接收部分接收到的信息和它的可编程EEPROM(设计中使用AT24C02)中存储信息的关系。
1.3 射频收发器件和微处理器特性
为了保证系统能够在较低电流消耗的情况下,有较高的发射功率和接收灵敏度,系统选用了Maxim公司的MAX1473接收芯片和MAX7044发射芯片。
MAX7044发射芯片工作电压为+2.1~6.0 V,7.7 mA的低工作电流,250 μs的启动时间。通信速率能达到100 kbps,小封装3 mm×3 mm,8引脚SOT23封装。它消除了基于SAW发送器设计的问题;采用晶体结构,提供了更大的调制深度和快速的频率响应机制;降低了温度的影响,温度范围可达-40~125 ℃。
MAX1473接收芯片采用3.3 V锂电池供电,250 μs启动时间,小于2.5 μA的待机模式工作电流,-114 dBm的灵敏度;采用TSSOP 28引脚封装设计。
MC9RS08KA2作为Freescale公司新推出的一款集成多个功能的高性价比MCU,具有键盘中断和高达20 MHz的内部时钟,以及8位模计数器,2 KB Flash空间,63字节RAM;同时有等待和3种停止模式,满足系统的超低功耗设计(设计中电流小于1 μA),以及简易的6引脚BDM编程调试接口,便于系统的实时升级。设计中采用6引脚DFN精密小引脚封装,满足系统的小体积要求。
1.4 硬件设计图
按键DES硬件加密部分电路如图4所示。发送部分射频前端电路如图5所示。
接收部分射频前端电路如图6所示,元器件参数如表1所列。接收部分微处理器控制电路如图7所示。
图4 按键DES硬件加密部分电路
图5 发送部分射频前端电路
图6 接收部分射频前端电路
表1 典型电路的元器件参数
图7 接收部分微处理器控制电路
1.5 软件设计
编码加密操作流程如图8所示。
图8 编码加密操作流程
如果有按键按下,HCS300将被唤醒,同时通过10 ms延时消抖。同步计数器、描述信息、按键信息被编码形成跳频码。每次发送跳频码都会不一样,即便是同一个按键按下,在64K次按键过程中发送的跳频码也不会发生重复,因此在较长的时间内,按键密钥信息不会被盗取。如果在发送的过程中检测到新的按键按下,那么将会立即复位,而且当前的代码将不会继续执行;离开按键后,对代码字是没有影响的,除非没有按键继续保持按下状态,在任何情况下传输代码都会完成,同时系统下电。
接收部分解码解密流程如图9所示。
图9 解码解密流程
上电后,MC9RS08KA2开始判断系统是否有I/O中断产生。如果没有,则系统进入低功耗睡眠模式(停止模式3);如果有I/O中断产生,那么进入中断,唤醒MCU,同时进行软件DES算法解密。如果解密不成功,则继续接收数据;如果解密成功,则执行相应的继电器操作(如开/关门等),然后系统继续进入睡眠状态。
2 结论
通过结合多家外围器件和微处理器件,利用Microchip KEELOQ芯片的安全性,Maxim的射频芯片的可靠性、稳定性和Freescale微处理器的高集成度及性价比,整合各家优势,提高了系统的整体性能。通过实际运行,系统达到了预先设计的要求。本次设计只使用了2个按键,根据需要可以外扩功能按键达到15个,用于实现不同的控制信息要求。设计人员可以根据自行需要进行相应的扩展。
参考文献
[1]www.semiconductors.philips.com;www.freescale.com.
[2]www.maxim-ic.com;www.microchip.com.