引言
遥控车门开关(remote keyless entry,RKE)方案对于汽车的配置来说,已经作为一种标准配置,成为汽车不可或缺的部分。遥控车门开关系统(RKE)对于提高汽车的防盗性、控制性有重要意义。大多数RKE系统具有汽车防盗、报警功能以及用于汽车、行李箱的门禁控制,其中一些系统还包括遥控启动汽车和汽车寻找的功能。以往设计的单向 RKE 系统是由一个控制端与一个执行端组成。这种系统最大的不便是只有用户发送信息给车门,而车门无法将自己的信息反馈给用户,这就使得用户无法知道车子的状况,给车子的安全性带来隐患。此外,由于系统是由电池供电,怎样尽量降低功耗也是一个比较大的问题。为了解决这两个问题,本文设计了一个基于Nordic 的nRF401收发机实现的双向RKE系统,同时采用语音芯片及其相应的滤波放大电路,通过内置的扬声器以实现系统自动语音报警。
系统中主要实现两种功能:当用户发送相应命令时,车子自动执行上锁、开锁功能,而当用户超出收发范围时,主收发器能够自动的发送警告信息,通过语音的方式告知用户已超出安全范围。数据的无线收发功能采用nRF401芯片以实现;系统的语音报警功能采用ISD4004系列芯片。
nRF401功能介绍
nRF401是挪威Nordic VLSI公司最新推出的单芯片RF收发机,专为在433MHz ISM (工业、科研和医疗) 频段工作而设计。它是目前集成度最高的无线数传产品。该芯片集成了高频发射、高频接收、PLL合成、FSK 调制、FSK解调、双频道切换等功能,具有性能优异、功耗低、使用方便等特点。nRF401 的外围元件很少,仅10个左右。只包括一个4MHz基准晶振(可与MCU共享)、一个PLL环路滤波器和一个VCO电感,收发天线合一,没有调试部件,这给研制及生产带来了极大的方便。其内部结构如图1所示。
nRF401采用20脚SSOIC封装,内部电路可分为发射电路、接收电路、模式和低功耗控制逻辑电路几部分。要发射的数据通过DIN端(第9 脚)输入。射频功率放大器具有高达+10 dBm输出功率。接收电路包含有:低噪声放大器,混频器,FSK解调器,滤波器等电路。接收电路中,低噪声放大器放大输入的射频信号,接收灵敏度-105 dBm。混频器采用1级混频结构,混频器的输出信号经中频滤波器滤波后送入FSK解调器解调,解调后的数字信号在DOUT端(第10脚)输出。
ISD4004系列语音芯片功能介绍
ISD4004芯片采用CMOS技术,内含振荡器、平滑滤波器、自动静噪、音频放大器以及多电平闪速存储器阵列,该芯片为非易失性器件 (nonvolatile),无需电源可保存数据长达100年,记录时间长,有8、10、12、16分钟多种芯片,重复记录可100000次。芯片设计是基于所有操作必须由微控制器控制,通过SPI总线和处理器相连,外围电路简单。
ISD4004语音芯片不但可以完成录音过程也可以完成放音过程。本文所讨论的语音报警器主要是指装在用户随身携带的上位机的放音电路中,不包含录音电路。而在实际应用中,录音部分预先将收录内容存储到语音芯片中,并分配一个特定的播音地址,当需要报警时只需要读取该播音首地址,随即报警信息就由语音芯片通过扬声器自动播放出来,实现即时报警。
系统硬件总体设计
双向RKE系统由上位机和下位机两大部分组成。其中上位机是用户随身携带的,可以理解为一种带报警功能的遥控钥匙,而下位机是安装在车门内的,用于开启车门。整个双向RKE系统构成如图2所示。
系统主要分为两部分:无线收发部分和放音部分。其中核心控制器采用ATMEL公司生产的MCU AT89C52,它通过异步串行口与射频模块建立联系。 其中射频收发芯片nRF401的12脚为通道选择:CS ="0"为通道#1(433.9 MHz),CS ="1"为通道#2(434.33MHz);18脚为电源开关:
PWR UP =“1”为工作模式,PWR UP =“0”为待机模式;19脚为发射允许:TXEN =“ 1”为发射模式;TXEN =“0”为接收模式。它们可以分别与MCU的I/O口P1.2,P1.3和P1.4相连,用于这些控制位工作状态的选择,而数据输入位DIN和数据输出位则可以分别与单片机的异步串行口TXD和RXD相连,这样MCU就可以控制射频芯片的收发时序了。
放音部分由于采用的芯片为ISD4004,其供电电压为3V,而单片机的所需供电电压为5V,因此它们之间互连需要经过一定的电平转换电路。单片机的P1.6通过电平转换电路接ISD4004的片选引脚/SS,控制ISD4004是否选通;P1.7通过电平转换电路接ISD4004的串行输入引脚MOSI,从该引脚读入放音的地址;P3.2和P3.3分别通过电平转换电路接ISD4004的串行时钟引脚SCLK和中断引脚/INT;AMCAP为自动静音端,使用时通过一电容接地;ISD4004芯片所需要的连接还有音频信号输出引脚AUDOUT,该引脚通过一个滤波放大电路与扬声器连接,放音电路原理如图4所示,其中由于单片机的四个引脚要与语音芯片相连,故需要图中所示的电平转换电路为4个(这里头只画出一个)。
系统软件设计
通信协议
双向RKE主要由上位机和下位机组成,要实现上锁/开锁功能及安全报警功能,就必须完成上位机和下位机之间的无线数据通信。整个系统的各个部分都是服务于无线数据传输这个目的。所以,在整个系统的软件设计中, 无线数据的传输为最主要部分。无线传输以数据帧的方式进行,数据帧的格式如表1所示。
前导码主要是用于防止有用数据被干扰;车子ID主要用来标志特定车子的信息,以便正确的辨认,如果ID不匹配,数据帧就会被忽略;信息码是用来表示用户的操作,这些操作包括上锁、开锁、显示警报等。当用户发送相应命令时,就分别执行上锁、开锁,而当用户超出收发范围时,主收发器能够自动的发送警告信息;校验和则用于检验接收的数据是否正确,当不正确时,需重发数据帧。
系统软件流程设计
由于整个RKE系统为一双向进行的系统,数据终端和主收发器之间的通信是双工的,所以在实际系统运行时,数据的传输方向也是不断变化的。为此,要实现双方协调通信,就必须设计出一个比较适合的收发次序。其上位机收发流程图如图4所示。系统上电后,上位机处于待机状态。当检测到上位机发射一个按键命令时,就表示用户要进行某种特定的操作,同时将操作信息送到扬声器,通过声音的方式向用户告知要进行的操作,此时上位机就打开发射器,发送相应的信息码 (如开锁、上锁等),而其它时候上位机都处于接收状态,如果没有接收到下位机发送过来的地址码,上位机此时就可以判断用户此时处于发送接收范围之外,于是通过P1.7读入放音地址将要预先存储在上位机中的报警信息,由扬声器发出语音信号向用户告警。如果上位机没有收到下位机发送回来的ACK(正确回应信号),此时上位机会要求用户再次按键,知道收到ACK命令,此时下位机才执行相应操作。
而下位机在系统上电后,首先进行初始化,然后就打开接收机以判断是否有用户在按键发布命令,如果没有检测到按键命令,下位机就打开发射机,不断的发送地址码给上位机,以确定双方是否在通信范围之内,用以提示用户。而当检测到按键命令时,下位机首先将上位机发送过来的操作信息码进行校验,如果检验不正确,就要求用户重新按键;如果检验正确,就发送ACK命令,以确认用户的操作是有效的。通过这种方式,可以有效的实现上位机和下位机的双向通信,这样双向RKE系统就可以稳定的工作,其下位机收发流程图如图5所示。
结语
采用射频芯片nRF401、AT89C52 MCU及语音芯片ISD4004构成的双向RKE系统,可以更直观的让用户通过语音的一种方式来表达所执行的命令,使系统变得方便实用。同时,系统中所选用的芯片都是功耗较低的,这对于用电池供电的上位机来讲非常重要。此外,所选用的芯片的尺寸都非常的小,MCU与nRF401以及ISD4004之间的接口都非常的简单,不需要太多的外围电路,这在某种程度上有利于系统的集成,方便用户的随身携带。在此系统基础上,如果在车门里再加一个压力传感器,这样就可以极大的防止车子遭到人为的破坏,更一步的提高车子的安全性。此外该系统还可应用在其它的场合,如数字语音通信、无线遥控防盗门、智能无线抄表等等领域,可以得到极大的推广。