68HC908RF2内部高性能8位处理器主要负责与传感器的数据传输、数据分析处理及与RF发射电路的数据传输与控制。在图3发射电路中,PTA1和PTA2作为输出端口控制8020的工作模式;PTA3和PTA4作为输出向8020移位输入测量逼近值;PTA5是复用端,当MCU读取传感器的测量值时,PTA5通过OUT获取比较器的状态,当MCU在省电模式时PTA5作为键盘中断输入端口,通过OUT获得3s中断。另外,S1是速度开关,当汽车运行或停止时S1开关可以导通或闭合,这样MCU就可以根据车辆运行状态对程序作有效处理。
68HC908RF2内部还集成一个多频带工作的FSK/OOK调制电路,其工作方式由数字控制端(BAND和MODE)的逻辑状态决定。BAND为工作频带选择端口,将BAND置高,并选择晶体振荡器Y1为13.56MHz,此时经过32倍频后产生载波频率为434MHz的RF信号。MODE为FSK/OOK调制模式选择端口,将MODE置高,RF电路工作于FSK模式。
68HC908RF2虽将MCU和RF电路集成于一体,但其接口电路仍需要外部连接,如图3示。PTB1作为输出控制RF电路的使能端ENABLE;PTB2和PTB3作为串行口与RF电路的RFDATA和DATACLK相连,经过曼彻斯特编码后的压力温度等信息,以二进制数据流的方式传输给发射电路, 发射电路再以FSK方式进行发射。其FSK工作原理较为简单,当RFDATA输入“1”或“0”时,引起CFSK的输出阻抗的变化,从而切换晶体振荡器Y1的两个负载电容C1和C2,负载电容的改变使晶体振荡器的谐振频率发生很小的偏移,这样经过倍频后FSK信号就可以产生。
发射模块固件程序设计
发射模块的固件程序从功能上来看较为简单,但从系统的可靠性、使用寿命等方面来考虑,对程序设计的安全性、经济性、有效性等提出很高的要求。特别是依靠1块500mAh的锂电池TPMS发射机要工作8年以上,除了优秀的硬件设计外,固件程序对发射模块的各个电路进行经济、有效的控制显得尤为重要。
图4为简单的程序流程图,考虑省电的问题,整个发射模块一般时间都处于省电模式。当MPXY80203s中断唤醒MCU后,MCU立即控制8020进行压力温度检测并获得压力温度测量值,MCU再对测量数据进行判断,看轮胎压力及温度是否处于正常状态:如果胎压、温度正常,再判断定时发送数据的时间,如果定时时间没有到就进入省电模式,定时时间到,则进行组帧、曼彻斯特编码、发送RF数据,最后再进入省电模式。相反,如果胎压、温度异常就直接进入发送数据的程序。
图4 发射流程图
接收模块设计
本系统接收机采用摩托罗拉的接收芯片MC33594和中央处理器68HC908GT16,显示器采用液晶显示屏|显示器件。
接收模块硬件电路设计
MC33594是一个具有自动增益控制的高灵敏度的OOK/FSK解调芯片,内部包括混频、中频放大、锁相环、解调、数据管理及SPI接口等电路。MCU可以通过SPI接口对MC33594的内部寄存器进行配置,从而设置该接收芯片的调制类型、数据接收码速率、RF载波频率等信息。图5为TPMS接收电路,MC33594通过接收天线接收发射机发射的RF信号,将RF信号解调后通过SPI接口以中断方式传输给68HC908GT16(MCU),MCU负责处理数据、显示数据,并在必要时启动报警电路。
图5 接收电路
接收模块固件程序设计
接收程序与发射程序类似,虽然功能简单,但从可靠性来看,特别当一个接收机要同时接收4个发射机甚至更多发射机的数据时,接收程序处理数据的有效性、及时性显得更为重要。
图6为接收机程序流程图,考虑接收数据的有效性,我们设计SPI中断方式接收数据,收到数据帧后MCU解析出发射机的ID号、压力值、温度值等信息,再判断该发射机的ID与本接收机内存储的ID是否一致,如果不一致,则丢弃该组数据并进入省电状态。如果ID一致,则处理数据并根据ID显示相应轮胎的压力温度数据,在压力或温度超出正常范围时能及时、准确地报警。
图6 接收流程图