利用PIC16F639设计可低频唤醒的TPMS发射系统
扫描二维码
随时随地手机看文章
在内置模拟前端的单片机PIC16F639 的基础上设计出一种可低频唤醒的 TPMS 发射机,它通过低频信号获取操作指令信息,再通过高频信号将测量数据发射出去。实现了TPMS发射机与驾驶员的双向通信,提出了具体的硬件与软件设计方案。
TPMS(Tire Pressure Monitoring System)是胎压检测系统的英文缩写形式。这种系统的原理是通过安装在轮胎内的传感器检测轮胎压力、温度等参数,并通过无线方式实时准确地将测量值传送给接收装置,驾驶员通过液晶显示器了解车辆的轮胎状况,可有效降低因爆胎引发交通事故的几率。
传统的胎压检测系统一般采用定时唤醒或加速度唤醒的方式延长胎内发射装置的使用寿命,驾驶员对胎内压力检测系统的启动、暂停、检测方式无法进行控制。同时,在传统胎压检测系统中,将轮胎的定位信息写入轮胎内 发射系统 的ID中,如果更换轮胎则需要对定位信息重新设置,否则系统无法正确反映轮胎位置。采用可低频唤醒的TPMS,驾驶员可对检测系统的工作状态进行控制,通过设定轮胎的检测顺序,就可以解决轮胎的定位问题。
1 发射系统原理与解决方案
从图1可知,发射系统主要由胎内传感器、信号处理模块、高频发射模块和LF接收模块组成。其基本工作原理是:系统接收到低频唤醒信号后,根据信号调理与译码所得指令调整系统的工作状态,胎内传感器将检测量传输给MCU,再通过发射模块以433.9MHz载频发送出去。
1.1 传感器
本系统选用Freescale公司的MPXY8020A型硅压阻式压力传感器,其内部包括压力、温度传感器,具有电源管理和数据输出功能。可通过S0、S1引脚控制其工作模式,每隔3s通过OUT引脚发出370?滋s宽度的唤醒脉冲,约每52min通过/RST引脚发出一个复位脉冲[1]。
1.2 信号处理与低频接收模块
MicroChip公司的PIC16F639是一款带有三通道模拟前端(AFE)的MCU,其模拟前端特性由MCU固件控制。由于使用方便,该器件可用于多种智能低频检测和双向通讯应用中。因其具有工作电压范围宽、待机电流小、工作电流低等特点[2],十分适合应用于胎压检测。其集成的三通道模拟前端可检测低至1mV(峰-峰值)的125kHz输入信号,具有三个天线连接引脚。通过连接指向X、Y和Z方向的三个天线,应答器可随时接收来自任意方向的信号,从而降低因天线的方向性而造成信号丢失的可能性。各天线引脚的输入信号的检测是相互独立的,并随后相加。通过对配置寄存器进行编程,每个输入通道可以被单独使能或禁止。被使能的通道越少,器件的功耗就越小。
1.3 高频发射模块
发射模块采用Maxim公司的MAX1479,可发射300MHz~450MHz的ASK和FSK数据,在FSK模式下采用Manchester码可达到20kbps的数据速率。该芯片具有低电源电流(ASK模式下为6.7mA,FSK模式下为10.5mA),仅200?滋s的启动时间等优点,非常适合应用于低功耗设计[3]。
2 TPMS发射系统硬件设计
TPMS发射系统硬件主要由发射芯片MAX1479、单片机PIC16F639和传感器MPXY8020A构成,如图2所示。模块发射频率为MAX1479外接晶振频率的32倍频,即需外接13.56MHz振荡器。MODE引脚接高电平,为FSK调制模式。CLK0和CLK1引脚可以设置CLKOUT频率输出引脚的输出频率。DEV0、DEV1、DEV2引脚可为FSK调制模式设置频率偏移,当DIN引脚为高电平时,PAOUT输出高频信号至天线。PIC16F639内置了三通道模拟前端,由于低频发射基站与接收模块位置相对固定,只需安装一个低频接收天线即可。接收天线为铁氧体磁芯线圈,电感量为7.1mH,并联220pF电容后,可在125kHz处谐振,并联谐振阻抗最大,当发射线圈与接收线圈相互平行,即可最大限度地拾取有用信号。每个通道内还具有一个调节电容,可用来调节外部天线。此电容可通过寄存器配置电容大小,最大63pF,可1pF步进调整。LCCOM引脚为三通道的公共地。单片机使用内部已校准的8MHz振荡器,可通过寄存器中IRCF位配置分频系数,分频后可得到低至31kHz的时钟频率。传感器与单片机采用SPI串口方式连接,可以通过配置S1、S0引脚使传感器工作于待机、测量压力、测量温度和读数据这四个状态。OUT引脚连接至RA1引脚,并每隔三秒发出唤醒脉冲,PORTA口电平变化引发中断,将单片机从休眠模式唤醒。
3 发射系统软件设计
3.1 RF传输协议
RF信号的传输采用曼彻斯特编码,即一个数字信号值在每一个比特位周期内作高、低电平之间的切换,前半周期高电平后半周期低电平表示数字1,而先低后高表示数字0。MAX1479的 FSK模式最大数据传输率为20kbps,在本系统中采用9.6kbps的数据率。RF数据帧格式如表1所示。
(1)前导位:由连续的31个数字1接一个数字0组成,前导位可以使接收器识别出有效的RF信号,并可使接收器与发射信号频率同步,因此可补偿发射机振荡频率的误差。前导位的位数可以不固定,位数长的前导位有利于提高接收器的灵敏度,而位数短的前导位有利于节省发送端功耗。
(2)发射机ID:每个发射机都有惟一的ID号码,32位的长度可极大地避免出现两个相同ID的情况。
(3)压力值:压力值采用8位无符号数表示,每一位代表2.5kPa。
(4)温度值:温度值采用8位无符号数表示,最低可测温度为零下40度,每一位代表0.8度。
(5)状态位:包括电池低压检测数据、传感器的工作模式信息。
(6)校验和位:校验和长度为8位。其产生的方法是,发送时,对所有数据求异或结果再取反作为校验和;接收时,对所有数据连同校验和求异或求反,结果为0表示正确,否则错误,丢弃数据包。
3.2 LF传输协议与软件流程
LF信号的传输也采用曼彻斯特编码。由于 PIC16F639 模拟前端输入调制频率最高为4kHz,所以选择1kHz作为LF输入信号的数据频率。LF数据帧格式如表2所示。
(1)AGC稳定时间:这是一个持续的高电平脉冲,可将AFE从休眠模式唤醒,AGC模块可以自动调整过强的输入信号电压,使之达到后续电路可接受的水平,AGC稳定时间后,AGC稳定于输入信号电平。如果AGC稳定时间不符合要求,AFE将被软复位。
(2)唤醒滤波器脉冲:唤醒滤波器用来使能LFDATA输出并唤醒单片机,但前提条件是在LC输入引脚接收到特定的脉冲序列。这样可以防止由于噪声或不想要的输入信号等原因而致使AFE唤醒单片机。唤醒滤波器脉冲的高持续时间和低持续时间分别由OEH、OHL位决定,通过SPI口编程。
(3)命令位:8位数据中的第1位将引起PORTA电平变化中断使单片机从休眠模式唤醒,剩余的7位数据作为命令代码。单片机通过定时采集RA4引脚电平,获得相应数据,并通过与单片机预定义值进行匹配,产生相应动作状态。
(4)校验位:采用奇校验方式,即当数据中1的个数为奇数时,则校验位为0;否则校验位为1。
(5)结束位:用两个连续的数字0表示结束位,结束位采用NRZ编码格式。
图3是PIC16F639检测低频信号流程图。当单片机上电后,可以通过SPI口对AFE的8个寄存器进行设置。打开PORTA电平变化中断后进入休眠模式。当LC输入引脚检测到输入信号,输入的AGC稳定时间电平超过20mV时将置位AFE状态寄存器AGCACT位。如果输入信号不到20mV,则不会激活AGC。由于只使用一个模拟通道,因此当检测到输入信号时,只置位WAKEY位。若AFE被唤醒后,超过16ms没有信号输入,则软复位将使AFE重新回到休眠状态。如果未使能唤醒滤波器,则后续接收到的信号将被AFE认为是有用信号,并直接从LFDATA引脚以数字量输出。否则,后续信号必须满足唤醒滤波器的时序脉冲要求。如果不满足,且超过32ms没有正确信号输入将置/ALERT引脚低,并返回到休眠状态。如果满足,则通过LFDATA引脚唤醒单片机并输出数据。单片机根据译码数据被重新配置。
3.3 发射模块基本程序流程
当系统上电复位后,PIC16F639首先执行初始化命令,随后进入休眠等待状态,如图4(a)所示。当检测到传感器唤醒脉冲或LF的输入信号时,系统退出休眠状态。检测到传感器唤醒脉冲后,若满足数据检测条件,则单片机通过配置传感器S1、S0模式选择引脚 ,控制传感器检测压力及温度,并将读取的数据通过SPI口传至PIC单片机,判定是否满足配置发射条件,系统默认的发送条件是30秒发送一次,但也可以通过低频唤醒指令自行设置发射信号的时间间隔。当测量的压力与温度变化量超过阈值时,系统则会自动修改发送条件至快速发射模式,即将发射数据时间间隔缩短到800ms,使驾驶者可以实时掌握轮胎状态,及时采取防范措施。当发射完成后,系统再次进入休眠状态,以上基本流程如图4(c)所示。如果系统被LF信号唤醒后,则首先对LF输入的曼彻斯特编码信号进行译码,根据译码信息重新配置发射条件与数据检测的时间间隔,也可以控制 TPMS 发射系统 的启动和暂停,如图4(b)所示。
可低频唤醒的TPMS发射系统具有低成本、低功耗、高集成度、具有双向通信功能的特点,这使它比传统TPMS更具市场竞争力。随着TPMS在中国的普及,该系统将具有较大的推广价值。
参考文献
[1] Freescale Corporation.