APP下载

基于ARM的嵌入式轮胎压力监测手持终端设计

2019-10-14许华荣吴飞斌

仪表技术与传感器 2019年9期
关键词:描述符胎压轮胎

梁 攀,许华荣,吴飞斌,韩 军

(1.厦门理工学院电气工程与自动化学院,福建厦门 361000;2.中国科学院海西研究院泉州装备制造研究所,福建泉州 362000)

0 引言

确保轮胎压力正常是汽车安全行驶的重要保障之一,轮胎压力监测系统(TPMS)利用安装在车辆轮胎内部的胎压传感器将压力、温度等信息通过无线信号发送到驾驶室的显示终端上,胎压异常时则发出警示信号,在行车安全性上起到了重要作用[1]。TPMS要准确指示故障轮胎所在位置则需要接收端将传感器和其实际的安装位置匹配以实现轮胎定位。轮胎定位的方法有多种,采用传统的方法会在传感器内部提前写入位置信息并在外部标注该传感器安装时所对应的位置[2],在轮胎换位或传感器更换时需使用对应位置的传感器重新安装,过程较繁琐;间接式TPMS可利用采集到的轮速信号结合神经网络对轮位进行识别,该方法需对每辆车采集数据进行处理和大量的训练[3];基于场强的定位技术可根据信号强弱判断传感器安装距离,结合加速度区分左右轮位从而实现轮胎定位[4-5],但在电磁干扰严重或同侧并排安装多个传感器时易导致定位失败。针对轮胎数目较多布局复杂的情况,为确保定位可靠且易于操作,使用近距离低频通信实现轮位匹配的方法[6]可有效运用于商用车辆。

本文以SP370胎压检测传感模块为数据采集对象,利用其低频唤醒特性,设计出可低频配置胎压传感器轮位的嵌入式手持终端,同时可实时查看包括轮胎气压、温度、加速度及模块电压在内的相关参数,方便在现场能确保传感器的安装可靠性。

1 系统概述

该手持设备以STM32F103微控制器作为控制核心,射频数据接收部分选用TDA5235多频段高灵敏度接收芯片。SP370胎压传感模块发回的数据经射频芯片处理后再送入微控制器,接收到的数据可以写到由W25Q64构成的存储模块中,也可以交由液晶触摸屏显示,方便用户实时查看。在交互界面上用户可以通过点击相应按钮发送指令给胎压传感模块,还可使用USB接口将保存到存储模块中的数据导入到电脑以备查看。系统的整体结构框图如图1所示。

2 主要电路模块设计

2.1 射频信号接收电路

在有干扰的情况下,选择射频接收芯片的主要考虑因素是其高灵敏度和高稳定性[7]。本设计中选择的TDA5235无线接收芯片具有低功耗、高灵敏度性能,支持多频段ASK/FSK调制及双相编码。接收器采用超外差/低中频架构,经二次下变频可良好地抑制镜像通道频率,能迅速适应频率变化,完全集成的∑-Δ小数N分频频率合成器可实现10.5 Hz的高分辨率频率合成,内部器件的高度集成,使其应用电路只需较少的外围元件。微控制器只需通过SPI接口即可实现对TDA5235的配置。芯片的应用电路设计如图2所示。

图1 系统结构框图

图2 TDA5235应用电路图

图2中,带宽为330 kHz的陶瓷滤波器SFECF10M7EA00用于完成第一中频频率为10.7 MHz的选择,当考虑设计成本时,可使用π型LC滤波器代替或者直接采用以中频频率为274 kHz的单下变频机制处理接收到的信号。天线阻抗匹配采用L型匹配网络,根据实际的分析调试,匹配网络中采用的电感值为39 nH,电容值为0.5 pF时,可将天线阻抗匹配到50 Ω达到最佳的接收效果。

2.2 低频磁场发送电路

为保证手持设备与传感器的通信质量,并将通信范围限定在有效距离内。系统采用能有效穿透混凝土、塑胶等非磁性材料的低频磁场,对传感器实现近距离唤醒[8]。低频磁场的发送采用LC串联谐振电路,考虑到发射线圈在同一位置产生的磁场强度与线圈半径成正比,因此电路设计中低频天线选用DO5022P-333ML电感,该电感属铁氧体磁芯线圈电感,有较大的线圈半径和品质因素。模块工作时,由微控制器引脚输出的编码数据送入TC4422的输入引脚,TC4422可持续输出最大为2 A的电流信号,在编码信号的作用下电路开始谐振,产生低频磁场,并且经过功率放大后确保了有效的通信距离[9]。低频信号发送的电路原理图如图3所示。

图3 低频信号发送电路图

2.3 触摸显示接口电路

显示界面采用3英寸TFT彩屏,微控制器和彩屏驱动器通过MIPI DBI Type B规范连接,16位并行数据传输有效地保证了数据帧的及时刷新。屏幕按键采用电容式触摸屏实现,支持多点触控,MCU只需要通过I2C接口即可获取触摸点位置。LCD触摸显示屏接口设计如图4所示。

3 软件设计

系统的软件功能较为复杂,良好的人机交互界面需要整个系统有较高的实时性,因此在软件设计上采用将整个系统划分为多个任务,由FreeRTOS实时内核进行调度。系统中,按照数据的处理流程将系统分为了显示数据刷新、低频信号发送、射频信号接收、屏幕触摸检测、USB数据传输这几个不同的模块,模块之间通信采用事件驱动机制和消息驱动机制相结合的方法,保证了系统的可靠性和实时性。图5为程序结构整体框图。

图4 触摸显示屏接口原理图

图5 程序结构框图

图5中,FreeRTOS系统根据各任务中的信号量以及延时周期判断是否解除任务阻塞并在就绪任务中挑选优先级高的任务执行。其中STemWin界面显示任务为核心任务,负责接收触摸检测任务发送的触摸位置并做出界面刷新,同时还根据指令参数调用相应的子程序。从图5可以看出射频信号接收处理、低频信号发送、USB数据存储3个子程序依赖于STemWin界面显示任务为其提供的程序运行环境,而FatFS文件系统则为数据的读写提供了支持。

3.1 信号接收模块程序设计

射频接收模块的初始化在系统上电之后完成,系统正常工作时完成数据包的接收后就会进入硬件中断对数据进行循环冗余校验。在确保数据的正确性后,由程序释放信号量,此时上层程序模块获取信号量,从阻塞状态转入运行态随即对数据格式进行解析,最后通过STemWin将数据显示到屏幕上供用户查看。数据接收流程如图6所示。

图6 数据接收子程序流程图

3.2 低频发送模块程序设计

低频信号通过串联谐振电路产生,其传输比特率为3 906 bit/s,载波频率为125 kHz,采用开关键控调制,曼彻斯特编码。基带信号的产生由程序控制完成,微控制器引脚按编码规则和电路谐振条件输出方波,部分数据位的编码波形示意图如图7所示,编码波形频谱如图8所示,可见频谱分布满足设计要求。

图7 单极性曼彻斯特编码波形

图8 低频信号频谱

3.3 主要驱动程序编写

3.3.1 液晶屏驱动

非直接访问型LCD驱动文件的编写内容包括基本的描点、画线、绘制图像等功能函数,LCD_X_Config和LCD_X_DisplayDriver函数用于建立STemWin和液晶屏板级驱动间的联系。GUIConf.c和GUI_X_FreeRTOS.c文件分别用于提供界面内存管理和操作系统相关的函数接口[10]。

3.3.2 文件系统驱动

FatFs是一款开源的文件系统模块,支持多卷、多种扇区大小,并且支持实时操作系统,当使用扇区对齐的方式进行读写访问时,可以有效提高读写效率[11]。本设计中FATFS操作的存储对象是SPI Flash,该存储芯片内部有128个块,每个块包含16个扇区,每扇区大小4 KB,总容量为8 MB。

文件系统的功能裁剪配置均在ffconf.h文件中完成。在diskio.c文件中对底层驱动编写,需要完成disk_status,disk_initialize,disk_read,disk_write,disk_ioctl,get_fattime 6个接口函数。当使能FATFS模块的可重入功能时,需在ffsystem.c文件中编写与所使用操作系统相关的信号量管理函数,实现互斥信号量的创建、删除、释放、获取功能。

3.3.3 USB驱动

手持设备采用USB连接PC主机能方便地实现数据导出,无需复杂的外围硬件电路设计,利用STM32F103微控制器上集成的USB2.0外设并编写相关驱动即可实现该功能。USB协议定义了层层包含的多种描述符,最上层的为设备描述符,依次为配置描述符、接口描述符、端点描述符以及字符串描述符等其他描述符[12]。这些描述符为USB主机提供了数据传输的基本信息。在usb_desc.c文件中完成大容量存储设备不同描述符基本信息的配置,主要描述符的详细配置说明如表1所示。USB数据的收发则通过端点完成,在usb_conf.h文件中为USB大容量设备设置2个批量传输端点,一个控制端点,mass_mal.c文件中编写的SPI Flash底层读写驱动则供USB批量传输端点读写时调用。

表1 USB描述符说明

4 实验与分析

为验证手持设备的功能实现情况和设计方案的可行性,首先使胎压传感模块上电之后处于低速发送模式,然后通过手持设备上的唤醒按钮发送低频信号将其设置为每s发送1次数据,手持设备显示接收到的数据即可验证其双向通信的有效性。通过在不同距离下对传感器低频唤醒,当低频模块采用5 V电压工作时测量到的唤醒距离始终维持在40 cm左右,因此在使用该设备时不会对其他较远距离处的传感器造成误唤醒。轮胎位置编号可根据每个胎压传感模块唯一的ID和实际安装位置灵活分配。胎压传感模块在被分配到轮位编号后便存储到芯片内部,同时也将本身的ID和轮位编号一起发送给接收设备,数据接收端根据不同的轮位编号即可判端胎压传感模块的安装位置,通过手持设备上显示的轮位编号则可以判断此前的设置是否成功,最终实现轮胎定位功能。测试设备如图9所示,其中标识1处为胎压传感模块,标识2处为手持设备。测试结果如图10所示,基于STemWin的人机交互界面显示了在室内环境下从胎压传感器获取到的相关参数。

图9 实验设备

图10 测试结果

为了测试手持设备和传感器之间的射频通信质量,通过手持设备唤醒胎压传感器后,手持设备进入数据包接收状态并每20 min统计1次该时间段内的丢包率,5 h内的实验统计结果如图11所示,丢包率始终保持在2%以下,具有良好的接收性能。

图11 丢包率测试

5 结束语

使用该手持设备可提高胎压监测系统在多轮胎情况下安装的便捷性,适用于单个传感器更换时轮胎定位及轮胎换位时所有轮胎的重新定位。全文完成了手持终端的总体设计,对重要的应用电路进行了详细的阐述,软件框架和主要驱动的编写也一并做了详细的分析。通过实验验证了该设备满足实际操作要求,具有广泛的应用前景,同时也可供其他嵌入式无线类设计参考。

猜你喜欢

描述符胎压轮胎
汽车胎压监测技术探讨
基于结构信息的异源遥感图像局部特征描述符研究
元征X-431 PAD V实测: 2018年奇瑞艾瑞泽GX胎压传感器学习
2019款广汽传祺Aion S车胎压报警灯点亮
——元征X-431标定胎压传感器的方法
基于AKAZE的BOLD掩码描述符的匹配算法的研究
胖瘦自如的轮胎
基于深度学习的局部描述符
大轮胎,玩起来
基于Android 胎压监测系统的设计
特征联合和旋转不变空间分割联合的局部图像描述符