摘要:本文介绍了基于射频SoC nRF9E5的无线收发系统框架、各个组成部分、工作方式和配置方法。在此基础上,设计了由nRF9E5和4位点阵式LCD模块构成的一种简单的双向遥控门锁显示系统。 关键词:双向遥控门锁;无线收发系统;LCD
引言
汽车遥控车门开关(remote keyless entry,RKE)已经成为汽车不可或缺的部分。RKE对于提高汽车的防盗性和控制性有重要意义。以往设计的单向RKE 系统由一个控制端与一个执行端组成,这种系统最大的不便是只有用户发送信息给车门,而车门无法将自己的信息反馈给用户,这就使得用户无法知道汽车的状况,给汽车的安全带来隐患。此外,由于系统由电池供电,降低功耗也是一个比较大的问题。为了解决这两个问题,本文设计了一个基于无线收发芯片nRF9E5和LCD芯片12864-12实现的双向RKE系统。
nRF9E5功能介绍
nRF9E5 是Nordic 公司 推出的系统级RF芯片,其内置nRF905 43 3/868/915 MHz收发器、8051 兼容微控制器和4 输入10 位80ksps ADC,其内置nRF905 收发器与nRF905 芯片的收发器一样, 可以工作于ShockBurst(自动处理前缀、地址和CRC)方式。内置电压调整模块, 最大限度地抑制噪声, 为系统提供1 . 9 ~3.6V 的工作电压。
nRF9E5 的片内微控制器有1 个和8051相同的串口,可以用定时器1 和定时器2 来作为异步通信的波特率产生器。微处理器中含有256B的数据RAM和512B的ROM,此外, 还扩展了2 个数据指针, 以方便于从XRAM 区读取数据。上电复位或软件复位后, 处理器自动执行ROM引导区中的代码。用户程序通常是在引导区的引导下, 从EEPROM加载到1个4KB的RAM中, 这个4KB的RAM也可用于存储数据。
nRF9E5片内集成了收发器,它可以通过内部并行端口或内部SPI与其它模块进行通信,具有同单片射频收发器nRF905 相同的功能。收发器通过片内的并行端口或S P I与微控制器通信。nRF9E5收发器由1 个完整的频率合成器、1 个功率放大器、1 个调节器和2 个接收器组成。输出功率、频道和其它射频参数可通过对特殊功能寄存器RADIO(0xA0) 编程进行控制。在发射模式下,射频电流为11mA,接收模式下为12.5mA。为了节能, 可通过程序控制收发器的开/ 关。
双向RKE系统硬件组成
双向RKE系统由数据终端和主收发器两大部分组成。其中数据终端是用户随身携带的,可以理解为一种遥控钥匙,而主收发器是安装在车门内的,用于开启车门。数据终端和主收发器之间的数据通信是通过nRF9E5来进行的。由于nRF9E5内置微控制器且所传输的数据量不是很大,因此在RKE系统中既不需要另外附加微控制器,也不需要扩展其它的存储器,使得系统硬件构造非常简单。整个双向RKE系统如图1所示。 图1 双向RKE系统构成 其中主收发器和数据终端都可以通过RS-232或者USB接口与PC相连,可以实现PC与nRF9E5之间的通信,这样就可以通过PC将数据终端要显示的字符(报警信息)以ASCII的形式写入到数据终端的内存中,当汽车需要报警时,数据终端就将这些报警信息提出来,然后通过LCD显示出来。同时可以通过PC将所有命令预先固化到硬件中,到时用户只需要通过手中的按键操作就可以实现数据的双向传送。
在用户端的数据终端中,由于采用的LCD为4位点阵式液晶显示器,此显示模块内部的控制和驱动器都是由CMOS电路组成,CMOS电路是低功耗器件,而nRF9E5也是采用CMOS结构,故可以省去单片机与显示模块之间的驱动电路,直接将两者相连。其硬件接口连接如图2所示。 图2 nRF9E5与 点阵式LCD接口示意图 按图中接口,上电时,LCD自动复位为8位数据总线、单行显示方式,显示器的左8位点亮,右8位熄灭。在初始化程序中须用指令将LCD设置成4位数据总线、双行显示方式,使显示的左8位和右8位都处在工作状态。
此外,对于nRF9E5而言,其最大的优点是具有载波检测功能。当收发器准备发送数据时, 它首先进入接收方式并探测所工作的信道是否空闲。载波检测的标准一般比灵敏度低5 dBm,比如,灵敏度为-100 dBm,载波检测功能探测低至-105 dBm 的载波。也就是说,载波低于-105 dBm,载波检测信号为低(一般为0),高于-95 dBm,则载波检测信号为高(一般为VDD),介于-105~-95 dBm 之间, 载波检测信号可能为低也可能为高。这个特性很好避免了同一工作频率下不同发射器数据包之间的碰撞,有效地防止了信号的干扰。提高了无线钥匙收发的稳定性。
此外,在系统中还需加一简单的蜂鸣器。当系统需要报警时,蜂鸣器就发出响声,而此时报警信息就会在LCD上显示出来。
系统软件设计
通信协议
要实现上锁/开锁及安全报警功能,就必须完成数据终端和主收发器之间的无线数据通信。整个系统的各个部分都是服务于无线数据传输这个目的。所以, 在整个系统的软件设计中, 无线数据的传输为最重要部分。无线传输以数据帧的方式进行,数据帧的格式如表1所示。
前导码主要用于防止有用数据被干扰;ID主要用来标志特定汽车的信息,以便正确辨认,如果ID不匹配,数据帧就会被忽略;信息码用来表示用户的操作,这些操作包括上锁、开锁、显示警报等。当用户发送相应命令时,就分别执行上锁、开锁,而当用户超出收发范围时,主收发器能够自动发送警告信息;校验码则用于检验接收的数据是否正确,不正确时,需重发数据帧。
软件流程
由于数据终端和主收发器之间的通信是双工的,所以在实际系统运行时,数据的传输方向也是不断变化的。为此,要实现双方协调通信,就必须设计出一个比较适合的收发次序。为了更好地说明程序流程,在这里将用户那边的数据终端定为上位机,而将车内的主收发器定为下位机。上位机和下位机收发流程如图3、图4所示。 图3 上位机收发程序流程 图4 下位机收发程序流程 结语
采用nRF9E5构成的双向RKE系统中的无线数据传输部分不需要外置微控制器,也不需要外扩存储器;当和点阵式LCD相连时,也不需要外置驱动器,这就大大地降低了系统的复杂性。此外系统中采用的都是耗能较低的模块,这在一定程度上实现了系统低功耗的要求。本文所设计的双向RKE系统可以提高数据传输的安全性,而配上显示器就能更直观地反映汽车的状态。不过系统也有不完善的地方,如果在系统中再加一个DAC,配上扬声器就可以更加直观地把汽车的信息反馈给用户。此外,如果在车门里再加一个压力传感器,就可以极大地防止汽车遭到人为地破坏,进一步提高汽车的安全性。
|