基于STM32的汽车胎压监测预警系统

2018-04-12 11:45李彦君张潇丹刘佳林
数字通信世界 2018年3期
关键词:胎压管脚寄存器

李彦君,张潇丹,刘佳林,楚 杰

(山东科技大学电气信息系,济南 250031)

1 引言

胎压监测预警系统(TPMS)的主要功能包括胎压数据的采集和处理,数据的发送和接受,对数据进行分析和响应,在此基础上,加入显示屏幕和报警系统,声光报警系统也可以在搭载PWM技术后进一步优化,将蜂鸣器单纯刺耳的声音变得能够易于人们的接受。按键使驾驶员和系统能进行有效的交互。随着科学技术的发展,单一的有线数据传送方式已经不能再符合生活需要,特别是在汽车驾驶系统当中,必须选择无线传输的方式,这样的传输的方式,就一定需要上位机和下位机两套主控板,两块嵌入式的微处理器分别搭载不同的模块,在轮胎模块上,搭载传感器来实时地采集数据,通过高频发送模块将所采集的数据传输到监视器模块上面,监视器模块上面搭载高频接收模块,显示模块和键盘等能够实现与人的良好交互,加入声光报警系统后,提醒的方式会更加的智能化,该系统广泛的应用到生活中,会大大的减少由于爆胎而引发的致残致死的交通事故,给人们的出行提升安全保障。胎压传感器采用MPXY8020a芯片,无线传输采用低功耗的NRF24L01,声光报警采用传统的LED和蜂鸣器就可实现。

2 系统设计方案

本文设计的胎压监测预警系统中,MCU采用了两块stm32f103系列的单片机,分别作为下位主控机和上位主控机。采用MPXY8020a胎压传感器连接到下位主控机,来采集实时的胎压状况,再通过无线发送和接受模块NRF24L01,将胎压传感器采集的数据传送到上位主控机当中,将所采集的数据显示到LCD显示屏幕上,并在上位主控机设置胎压阈值,达到后触发LED和蜂鸣器实现预警的功能。

图1 整体硬件系统设计方案

从物联网角度的感知层,网络层和应用层来看,本系统的感知层主要是依靠MPXY8020a传感器的胎压采集和温度采集,网络层主要是依靠nrf24l01的无线通信来进行数据传输,应用层是将收集到的胎压温度数据通过运算、比较来进行显示和警示驾驶员。

3 模块工作原理

3.1 MPXY8020a胎压传感器

原理:MPXY8020A 是理想的胎压监测传感器,它集成了压力传感装置、SPI的数据接口、DAC转换器、模拟值比较电路、待机唤醒电路等相关的配置。它能够在 0kPa~637kPa压力和-40℃~125℃温度的有效区间内正常工作。采集方式是利用逐次逼近法完成,如果猜测值太小,结果寄存器的最低位置“1”,如果猜测值太大,则结果寄存器的最低位置“0”,用新的猜测值继续逼近,直到得到最终结果。利用胎压传感器来采集实时的轮胎气压或温度数据,是整套系统的根基。

3.2 NRF24L01无线通信模块

原理:NRF24L01是一款工作在2.4-2.5GHz世界通用ISM频段的单片收发芯片,无线收发器包括:频率发生器 增强型 SchockBurstTM 模式控制器、功率放大器、晶体放大器、调制器、解调器、输出功率频道选择和协议的设置可以通过SPI接口进行设置极低的电流消耗,当工作在发射模式下发射功率为6dBm时电流消耗为9.0mA 接受模式为12.3mA掉电模式和待机模式下电流消耗模式更低。NRF24L01无线通信模块能够把系统中,上下位机之间互相的通信和数据的传输就是利用它来完成。

3.3 TFTLCD显示模块

原理:要实现LCD屏幕与开发板的互联需要将屏幕对应的管脚与开发板相对应,2.8寸 TFTLCD采用16位80并口,连接时需要将DB1~DB8,DB10~DB17,总是按顺序连接MCU的D0~D15。在管脚连接好之后,还需要调用相应的初始化函数对屏幕进行初始化,之后才能对屏幕进行设置显示等操作。一般采用ILI9341 驱动时序对屏幕进行初始化。该屏幕采用RGB565格式,可以显示65536色。通过真彩LCD显示屏,讲错采集的数据进行显示,成为系统与驾驶员之间交互的桥梁。

4 系统电路设计

MPXY8020A 胎压模块:

VDD和VSS引脚:在VDD与VSS两个引脚之间,通常接1个0.1uF的电容进行电源滤波。

OUT引脚:是一个输出管脚,在采样值高于电压比较器的极限值时,输出1;反之输出0。比较器的数值储存到芯片的8位DAC寄存器。

RST引脚:是一个输出管脚,一般设置在高电平状态;当10级的数据分频器产生数据的溢出时,管脚的状态就会被设置成为低电平。

S0和S1引脚:是一对输入的管脚,选择芯片的模式和状态。

DATA引脚:是一个输入管脚,电位比较器的极限值设置,DATA引脚为串行数据输入引脚。

CLK引脚:是一个输入管脚,来提供SPI的时钟信号。当MPXY8020A写数据时,在CLK引脚信号的上升沿,串行数据从DATA引脚按时序送到片内移位寄存器,在CLK引脚信号的第8个下降沿,数据被送到片内D/A寄存器。

NRF24L01无线通信模块:

SCK:由芯片控制的SPI时钟线。

CSN:模块的片选线,CSN在低电平下芯片会工作。

MOSI:模块的Master output slave input数据线。

MISO:模块的Master input slave output数据线。

CE:模块选择模式。

IRQ:给予模块相关的中断信号。

配置寄存器来定义和使能NRF24L01所有的配置字,通过SPI口访问这些配置寄存器。

TFTLCD显示模块:

TFTLCD显示屏的管脚特性有:LCD_CS是作为为LCD显示屏的片选处理信号,LCD_WR是作为LCD的写入寄存器处理信号,LCD_RD是作为LCD的读入寄存器的处理信号,DB[17:1]是作为16位双向数据总线。LCD_RST是用作LCD显示屏硬复位的信号,LCD_RS是用作命令/数据的标志(0是命令,1是数据),BL_CTR控制背光的数字信号,T_MISO/T_MOSI/T_PEN/T_CS/T_CLK是作为触摸的接触信号。

5 软件设计

在程序当中是定义相关的变量和对所用到的功能函数和配置函数的初始化,在此之后检查相应的硬件是否正常工作。由这样的思路将程序分为发送部分和接收部分的两大块,在发送部分中初始化MPXY8020a传感器和NRF24L01的配置,并计算压力值,对数据进行发送实现这样的过程,在接收部分当中,对按键,无线模块和声光报警还有LCD显示屏进行相关初始化配置,并判断所按键值,来进行相应的界面显示,以此来实现与系统的人机交互功能,判断数据是否达到所设的阈值,来判断是否触发声光报警模块。主程序模块如图2所示:

图2 主程序配置流程

MPXY8020A胎压传感器:

该传感器利用模数转换器将采集到的模拟量转变为数字量,利用串行通信SPI将所采集到的数据传到上位主控芯片上。通过GPIO的配置可以改变本传感器的工作模式,当处于压力测试工作状态时,压力信号的测量是通过传感器的压力电容信号转化来实现的。所以,在进行编程的时候,对本模块应先配置到初始化模式,通过阅读使用手册,推荐进行数据采集时延时500us,这样采集到的数据误差是最小的,可以避免因时间原因导致读出的数据不准确。

NRF24L01无线模块:

该模块的工作模式主要有四种:收发模式、配置模式、空闲模式和关机模式。将采集到的胎压数据信息放置到缓冲区内,并将数值进行取百位,十位和个位,将其变为字符串一一放置到缓冲变量数组内,经过TX包一位一位发送,在接收端,通过RX包一位一位接收,当传输结束时,在最后一位加上结束位标识传输结束,经过测试此种方式可以实现无线传输数据。

TFTLCD显示模块:该显示屏幕与微控制器之间是通过一些列的专属指令来进行GRAM的读和写操作,具体指令如下:所有的ILI9341指令都是8位的,仅在处于读写GRAM的时候是16位。读取LCD控制器的ID是通过0XD3指令是。所以即使屏幕的型号不同也没有关系,通过这样的指令可以修改型号ID,大大增强了微控制器对于屏幕型号的兼容性。0X36指令可以控制ILI9341存储器中的读写方向,是存储访问控制指令,在连续写GRAM的同时可以借助此指令来控制指针GRAM的增长方向,从而控制屏幕所处的显示方式,在读模式时,采用了同样的控制增长的方式。在默然条件以从左到右,从上到下的扫描方式来控制X坐标,0X2A指令是列地址设置指令。同样在默认条件下在从左到右,从上到下的扫描方式来控制设置Y坐标,0X2B指令是页地址设置指令。0X2C指令是写GRAM的指令,在设置该指令以后就可以为LCD的GRAM里面写入颜色数据。同时该指令还可以支持连续写,通过地址自增的方式实现连续填充。0X2E该指令是读GRAM指令,可以用于读取ILI9341的显存(GRAM),与0x2c指令一样,该执行也可以通过地址自增的方式来连续读取GRAM中的数据。

6 结束语

在完成系统设计后,经过单独模块测试和系统整体调试,能够实现胎压监测和预警功能。本系统的设计不局限于胎压监测,还可搭建倒车预警,车速预警,测量车距等实用功能,实用性和商业价值将更高。

[1]周斌,李文印,兰淑梅.MPXY8020A轮胎压力传感器的SPI接口技术[J].仪表技术,2004(04).

[2]郭靖.汽车胎压监测系统的开发设计[J].数码世界,2017(03).

[3]张鉴,戚昊琛,杨文华,黄正峰,胡智文.一种用于胎压监测的MEMS压力传感器设计[J].电子测量与仪器学报,2015(10).

猜你喜欢
胎压管脚寄存器
汽车胎压监测技术探讨
STM32和51单片机寄存器映射原理异同分析
元征X-431 PAD V实测: 2018年奇瑞艾瑞泽GX胎压传感器学习
2019款广汽传祺Aion S车胎压报警灯点亮
——元征X-431标定胎压传感器的方法
Lite寄存器模型的设计与实现
一种异步FIFO的Read/Write Data Flow Through功能测试方法∗
基于Android 胎压监测系统的设计
基于图像处理的异型电子元器件管脚偏移误差检测方法研究
CMOS数字IC管脚电容的估算与测量
高速数模转换器AD9779/AD9788的应用