巫肇彬,张守峰,何为星,周 航,沈启广
(广西科技大学 电气与信息工程学院,广西 柳州 545006)
目前,汽车的社会保有量维持在一个较高的水平[1],车辆状态信息在线监测、远程定位及道路导航等需求逐渐增多[2-3];汽车功能的增多和智能化水平的不断提高致使车辆的结构越来越复杂、精细,车辆状态信息种类繁多,对维修人员的技术要求越来越苛刻,对在线监测设备也提出了较高的要求。另一方面,道路安全评价对提高道路交通安全度尤为重要。据统计,截至2017 年6月,全国机动车数量突破3.04 亿辆;2011~2017 年,全国每年约6 万人死于交通事故,其中由驾驶员认知及行为决策失误造成的交通事故约占80%[4]。因此,驾驶员也渴望了解自己的汽车行驶过程中一些数据,从而更加主动地对车辆进行管理[5]。
目前,交通领域已成为物联网战略技术产业重点推广示范领域之一[6],其中车辆联网是汽车未来发展的趋势之一[7]。车载诊断系统(on board diagnostics, OBD)是车辆联网的重要部分,当与车载控制系统有关的控制系统或相关电子部件有故障时,其随时向驾驶者发出警告[8]。最初使用 OBD 的目的是辅助维修人员进行车辆诊断,随着汽车科技的发展和车联网技术的应用,OBD 的用户逐渐从传统汽车的服务专业人员转向广大车主[9]。虽然OBD 技术越来越成熟,具备了故障诊断、实时监控及远程传输数据等一系列拓展功能[10],且各种各样的OBD 技术层出不穷,但大多只局限于故障诊断这一方面,且人机交换功能并不完善[11];同时,仅部分高端车配置有在线监测设备,且还存在功能单一、体积大、普适性差等缺点。针对此类问题,本文设计了一套车辆在线监测系统,其基于OBD 协议获取车辆信息并结合物联网通信技术实现车辆与网络的互联,最终实现车辆信息在云端存储。该系统不仅便于驾驶者与车辆管控人员实时了解车辆状况,而且还可及时发现车辆行驶中的不良驾驶问题,从而减少或避免交通事故的发生。
车联网信息监测模块作为现有车辆功能基础上一项简易、低廉的联网设备,被逐渐扩展适配应用于整个车辆市场。对于车联网监测方面的需求,目前主要体现在以下几个方面: (1)能够及时发现车辆异常信息并做出判断;(2)对故障信息发出警告信号;(3)对车辆保养维护作出合理的建议;(4)能够实时的定位并具备防盗预警功能。
目前商品化的在线监测设备特定性强,只能用于部分车辆,无法做到设备通用化。本文所设计的车辆远程控制系统不仅可实时远程监测车辆运行状态并将数据上传至服务器,同时还将车辆的运行状况反馈给监控中心,以实现车辆的检测、管理、监督功能的一体化。该系统由嵌入式监测模块、云端数据库和管理平台3 部分组成(图1),可实现数据的采集、分析及应用等功能,其中监测模块用于车辆状态信息流的获取,云端数据库用于远程数据存储及分析,管理平台负责数据状态的监控。
图1 基于OBD 协议的车辆远程监控系统结构Fig.1 Structure of the vehicle remote monitoring system based on OBD protocol
嵌入式监测模块主要由4 大模块组成(图2),分别为负责主控制中心的MCU 端、OBD 协议转换模块、GPS 定位模块以及负责数据传输的GPRS/GSM 模块。
图2 嵌入式监测模块结构Fig.2 Structure of the embedded monitoring module
主控制中心的MCU 端采用Cortex-M3 主控芯片,搭载微型嵌入式操作系统控制实现数据信息的交互,主要接收GPS 定位模块、OBD 协议转换模块传输回来的数据,并对此类数据进行处理分析;当检测到车辆发送的数据存在异常时,系统进入故障识别程序,提取故障码识别,判断出车辆发生故障的具体部位,并将此数据结合GPS 产生的定位信息构建特定格式的数据包,由GPRS/GSM 通信协议将数据包发送至远程服务器终端。
OBD 协议转换模块搭载ELM327 转换协议芯片,通过K 线协议与CAN 总线协议读取识别车辆的电子控制单元,达到对车辆状态信息采集的目的。
GPS 定位模块主要是采集车辆的位置信息,并通过串行接口将车辆的位置信息发送给主控制中心的MCU 端。
GPRS/GSM 模块主要将主控制中心MCU 端的数据发送到网络服务器,实现车辆的远程监控。
本文所设计的车辆远程控制系统主控芯片采用低功耗、高效率的STM32 型芯片,搭载GPS 定位模块、GPRS/GSM 通信模块、OBD 协议转换模块和电源模块,其结构如图3 所示。
图3 系统结构原理框图Fig.3 Block diagram of the system structure
GPS 定位模块采用ATK-NEO-6M-V23 型模块,此模块核心采用UBLOX 公司NEO-6M 模组,具有50 个通道,追踪灵敏度高达-161 dBm,测量输出频率最高可达5 Hz。此外,该模块自带陶瓷天线及MAXIM 公司20.5 dB 高增益LAN 芯片,搜星能力强;自带可充电备用电池,可以掉电保持星历数据;可通过串口进行各种参数设置,使用方便,体积小巧,性能优异,具有高性能、低功耗的优点。定位模块输出TTL 电平,通过串行接口与远程监控系统相连,具有很强的兼容性。GPS 定位模块电路如图4 所示。
图4 GPS 定位模块电路Fig.4 Circuit of the GPS positioning module
GPRS/GSM 通信模块采用SIM800A 型模块,其基于MT6261系列设计,双工作频段(GSM900/1800MHz),可以低功耗地实现语音通话、短信、GPRS 数据传输、文本播报(TTS)和基站定位等功能;并搭配TCP,UDP,FTP 及PPP 等多种协议,使得AT(attention)命令能够直接调用这些传输协议,灵活地满足各种不同的环境需求。SIM800A 模块电源采用开关电源模块供电,电源利用效率高,支持USB 直接供电,同时带电源使能引脚,可以控制模块电源,起到很好的保护和抗干扰作用。图5 示出SIM800A 模块电路。
OBD 协议转换模块采用ELM327 芯片,其支持所有OBD-II 自诊断系统及与其相兼容的通信协议检测,OBD 协议数据被转换成串口数据类型,车辆信息被准确无误地传输至CPU。图6 示出OBD 协议转换模块电路。
图5 SIM800A 模块电路Fig.5 Circuit of SIM800A module
图6 OBD 协议转换模块电路Fig.6 Circuit of the OBD protocol conversion module
电源转换模块为芯片提供能量。根据芯片的电压工作范围选择合适的电源芯片,同时考虑噪声、转换效率等因素,模块中采用LM2676 型开关电源芯片输出3.3 V电压,采用LT1761型线性电源芯片输出5 V电压。通过开关电源和线性电源芯片的优化组合,使系统的电源效率最大化。图7 示出电源转换模块电路。
图7 电源转换模块电路Fig.7 Circuit of the power conversion module
基于OBD 协议的车辆远程监控系统软件设计主要包括终端OBD 监测程序和远程监控界面的设计(图8)。终端OBD 监测程序通过AT 指令读取车辆内部ECU 实时数据、GPS 定位数据等,并将此类数据融合成特定的数据包,经由GPRS/GSM 通信协议传至服务器。用C#语言设计的Web 网页端来呈现车辆运行数据信息,用户可同时用电脑和手机登录相应IP地址进入网页进行查看。
图8 系统软件框架Fig.8 Framework of the system software
将诊断设备接入汽车DLC 接口,校验正确后,开始判断协议以便进行数据采集处理。终端OBD 监测程序中,首先使用OBD Task( )初始化系统,打开 CAN接口并配置相应的波特率和位数参数,初始化I/O 接口、传输函数和应用层函数;然后通过AT 指令读取车辆内部ECU 实时数据,将其转换成标准的OBD 数据,并判断数据是否异常;将正常数据上传至服务器,将错误代码进行解析生成错误代码存储并上传至服务器。终端OBD 监测程序如图9 所示。
图9 终端OBD 监测程序Fig.9 Terminal OBD monitor program
系统监控界面设计架构(图10)包含用户层、服务层和数据层3 部分。用户可通过专有的IP 地址登录服务器终端,对所需要的数据进行设置及请求,从而查看车辆的状况信息,包括GPS 定位信息、车辆电气参数等。通过系统监控界面可实现对用户数据、行车数据和诊断数据等的管理。
图10 监控界面架构Fig.10 Architecture of the monitor interface
GPRS/GSM 模块使用AT 指令进行相关操作。首先进行初始化,设置GPRS 连接服务器,待连接稳定后进行数据包的鉴权分析,最后建立通信链路,通过TCP连接到远端服务器,实现高效率的数据传送。GPRS/GSM 通信流程如图11 所示。
图11 GPRS/GSM 通信流程Fig.11 GPRS/GSM communication flow
为了检测该系统能否正常地采集车辆数据并对数据进行分析判断以实现车辆的远程监控,对所设计的系统进行测试。OBD 诊断系统设备包括GPS 定位模块、GPRS/GSM 通信模块及OBD 协议转换模块。将连接好的整套OBD 检测设备连接车辆的DLC 接口,启动汽车,OBD 即可读取车辆的相关数据,OBD 诊断系统实物如图12所示。
图12 OBD 诊断设备实物Fig.12 Physical OBD diagnostic device
携带测试设备绕着广西科技大学东环校区一圈,实时采集其定位数据并发送至终端服务器。随着设备的移动,GPS 定位器实时地更新位置信息,并将位置信息打包,利用GPRS/GSM 通信协议发送至服务器;通过登录IP 客户端,即可在Web 网页端查看设备所在位置和轨迹。测试设备的部分定位数据如表1 所示,测试设备的运动轨迹如图13 所示。
表1 测试设备部分定位数据Tab.1 Some location data of test device
图13 定位数据轨迹Fig.13 Location data trajectory
受限于实际条件,本实验在常温下采用OBD 模拟器产生车辆的模拟信号,通过OBD 协议传输到测试设备。OBD 模拟器通过指令的控制,可以输出发动机转速、车速、发动机温度、进气管压力等与车辆相关的参数。在实验的过程中,实时更新OBD 模拟器输出的车辆模拟信号,在监测界面中可实时查看所采集的相关数据,包含常见的发动机转速、车速、发动机温度、气压等,可根据需要随时切换显示内容。此外,如果OBD 模拟器输出信号存在异常情况,系统将会对异常数据代码进行诊断分析,并发出相应的警报。参数测试项目如表2所示。
表2 测试车辆参数Tab.2 Test vehicle parameters
车联网在线检测系统的使用能够带动汽车产业链的不断延伸,搭建汽车服务和交通安全的桥梁,促进交通网络的互通,提高资源的利用率,从而满足汽车产业的可持续发展。本文设计了一种基于OBD 协议车辆远程监控系统,介绍了系统设计方案,给出了硬件电路结构及软件算法,并设计了远程监控平台。实验测试结果表明,基于OBD 协议车辆远程监控系统能够实现车辆相关信息的采集;一旦车辆出现异常情况,系统能迅速进行诊断并给出故障代码,以便驾驶员及监控中心工作人员实时掌握车辆状况,实现车辆的远程诊断。 该系统的出现改善了车辆在信息获取方面存在的程序烦琐、时间滞后等问题,实现了车辆健康状态的实时监测,其推广应用对车辆监测和车联网的发展有一定的意义。优化算法、提高故障代码诊断率将是下一步研究的重要内容。