商用车维修服务链关键技术研究
2016-03-17丰盛,许勇
丰 盛,许 勇
(桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004)
商用车维修服务链关键技术研究
丰盛,许勇
(桂林电子科技大学 电子工程与自动化学院,广西 桂林541004)
摘要:作为构建商用车维修服务链的关键设备,设计了一种基于J1939协议的车载商用车故障诊断系统;该系统扩展了传统车载故障诊断系统,利用无线通讯技术将采集到的J1939车辆故障信息和GPS定位信息实时上传至车辆监控中心;目标是实现商用车车辆动态监控、故障诊断和预警以及车辆维修保养服务的网络协同管理;系统以Cortex-A8为主控制器和嵌入式Linux为平台,包括故障采集与分析模块,利用Qt设计用户界面;经多次测试实验,故障诊断快速准确,无线传输数据实时性强,丢包率低。
关键词:商用车;汽车维修服务链;车辆远程监控;商用车故障诊断;J1939协议
0引言
就我国车辆运行情况而言,由于发展过快,道路建设和车辆的管理规范执行不够,实际上很多车辆运行在“亚健康”状态,特别是商用车,其中又以卡车情况最为严重。此外,路况复杂,超载普遍,厂家质量服务体系不健全,社会维修配件市场不规范,造成我国汽车使用成本高,效率低,安全性普遍较低。其中,商用车多用于长运输,故障发生率高且危害极其严重。所以高效,高质量的商用车维修服务链开发迫在眉睫。
作为商用车故障诊断和维修服务的关键设备,目前市面上已开发了多种基于OBD-II的车辆故障诊断系统[1-4]。但是大部分局限性比较明显:1)这些系统价格昂贵,专业技术要求高,功能单一,且标准不统一,不利于推广;2)大部分系统都是独立工作,没有利用互联网将各个环节联系起来,无法提高维修效率;3)大多采用WINCE系统开发,该系统的封闭性不利于现代终端设备应用开发。
针对上述问题,本文设计了一种基于Cortex-A8和Linux系统的商用车故障诊断系统,利用无线通讯技术将系统采集到的故障报文和GPS位置信息通过TCP/IP协议发送至4S店或整车厂[5-6]。据此分析驾驶员的行车习惯并快速指导维修,以此构成一条维修服务链 。
1系统的总体设计
商用车维修服务链集合了车辆、商用车企业、4S店、维修服务人员等元素,以车载终端为核心。本文设计的车载终端系统与车辆OBD-II接口相连,实时的诊断和储存车辆的故障信息,并将解析后的故障进行显示方便维修人员查看。此外车辆的故障信息和GPS信息通过无线网络传送至售后服务端以便实时监控。该系统是基于J1939协议诊断,其通讯速率为250 kb/s,为了满足其实时的解析速率,本系统选择主频为1 GHz处理器和上行速率能达到384 kb/s的3G网络。
系统的总体设计如图1所示,有以下6个模块:触摸屏模块及服务器端、CAN节点模块、3G模块、GPS模块及SD卡模块。其中ARM板以Cortex-A8微处理器为平台,搭载GPS模块实现定位功能;CAN模块用于连接挂载在CAN网络上的各节点,用于模拟车辆ECU的报文发送;触摸屏模块实现触控功能以及显示从节点处发送过来的报文及诊断信息;SD卡用于记录行车状况的相关数据,并最终完成汽车资料数据库;3G模块为WCDMA模式,用于系统联网和报文发送。
图1 系统总体设计框图
2系统硬件设计
2.1处理器
根据功能需要,本系统采用的处理器为三星S5PV210,它是一款适用于智能手机和平板电脑等多媒体设备的应用处理器,S5PV210采用了ARM Cortex-A8内核,主频为600 MHz~1 GHz。A8可以满足各种移动设备的需求,符合本系统大数据量的计算。嵌入了S5PV210的核心板E210COREV3各外围资源如图2所示。
图2 核心板框图
2.2GPS模块
在商用车领域车联网的内容非常丰富,导航功能不再是重点,核心功能是采集数据的处理分析,可以为商用车企业提供管理、调度和故障诊断服务。实现车辆的远程监控,国内市场也有多种商业系统出现。以客车信息联网系统海格G-BOS系统为例,通过车辆定位信息采集和传输,通过后台服务系统实现对客车的全程监控管理。
本文设计的车载终端开发了GPS模块,实现定位信息的显示和上传。同时为了满足“两客一危”卫星定位装置要求和以后双模定位开发,系统中还留有北斗接口。GPS模块选用高性价比的GTS-4E系列的GTS-4E-00,具有48通道,高灵敏度,更快的GPS信号捕获能力,更低的功耗和更宽的工作电压范围。GTS-4E-00专为UART应用而设计,本系利用开发板中的UART3来读取GPS信息,程序中波特率设置为4800bps。GPS数据协议是指NMEA-0183协议,本系统中开发板读取并且分析GPGGA语句,获取的GPS信息显示如图3所示。
图3 GPS显示界面
2.3无线模块
由于现在4G网络普及和覆盖都有限,不符合商用车长途运输的特点。而3G网络技术相对成熟,普及人数和覆盖地区都比4G网络更广。本文就选用了龙尚的3G模块U6300V,它是一款适用于HSPA/UMTS/EDGE/GPRS/GSM多种网络制式的无线终端产品。有如下优势:1)支持7.2 Mbps(DL)/5.76 Mbps(UL);2) Mini PCI-E标准连接器,方便调试和售后维修;3)嵌入TCP/IP协议栈,支持多个Socket和IP地址。这些优势很好地保证了车辆的信息的及时上传。
2.4CAN 控制器
SPV5210内部没有集成CAN控制器,为了能与CAN网络实现通讯,选用了控制器MCP2515。SN65HVD230作为CAN收发器。MCP2515是一款独立CAN协议控制器,完全支持CAN V2.0B技术规范,通信速率达 1 MB/s,具有高速 SPI 接口,能够满足车辆上 CAN 网络通信的要求。MCP2515与处理器的连接是通过SPI来完成的。
3系统软件设计
3.1应用程序流程
本系统应用程序开发平台是在移植了Linux3.0.8和ARM版的Qt4.7的开发板上,运用Qt Creator来设计界面,按功能划分为GPS定位,3G收发界面,故障诊断界面,如图4所示。界面的开发利用Qt的UIC(User Interface Compiler for the Qt GUI toolkit)工具,它的主要功能是读取由Qt Designer 制作的用户界面(即.ui文件)生成相应的C++头文件,该头文件的形式为Ui_YourFormName.h。Qt核心机制是信号与槽机制,用户能很方便的操作一个窗口部件使其它窗口响应或者完成其它操作。如当用户点击一个发送按钮,信号clicked()就由PushButton对象发射出去(emit)从而触发SLOT槽函数实现发送功能。
图4 应用程序设计流程图
3.2CAN网络通讯程序
Socket CAN子系统是实现Linux下CAN协议的一种方式[7]。Linux下最先使用 CAN 是基于字符设备来实现的,而 Socket CAN 使用 Socket 接口和 Linux 网络协议栈,这样 CAN 设备驱动可以通过网络接口来调用。为能使用 CAN 设备,首先需要向 Linux 内核注册 MCP2515驱动,然后配置编译内核。Socket CAN核心程序如下:
1)创建socket
int skt = socket( PF_CAN, SOCK_RAW, CAN_RAW );
2)找到使用的接口
struct ifreq ifr;
strcpy(ifr.ifr_name, "can0");
ioctl(skt, SIOCGIFINDEX, &ifr);
3)选择CAN接口,并套接字绑定到它
struct sockaddr_can addr;
addr.can_family = AF_CAN;
addr.can_ifindex = ifr.ifr_ifindex;
bind( skt, (struct sockaddr*)&addr, sizeof(addr) );
4)发送报文程序实例
struct can_frame frame;
frame.can_id = 0x123;
strcpy( frame.data, "foo" );
frame.can_dlc = strlen( frame.data );
int bytes_sent = write( skt, &frame, sizeof(frame) );
5)接受报文程序
int bytes_read = read( skt, &frame, sizeof(frame) );
3.33G网络通信程序
本系统无线模块使用内嵌有TCP/IP协议栈3G模块U6300V,通过PPP拨号接入3G网络。开发板收到的GPS数据和CAN报文由3G模块自行封装成符合TCP/IP格式的数据包,经过3G基站的互通功能单元IWF(Inter Working Function)实现无线数据业务和IP接入网的互通,完成数据的Internet接入。Qt自带有网络编程,其中传输层应用最广泛的是TCP/IP网络程序设计。Qt提供QTcp-Socked和QTcpSever两个类,用于编写TCP客户端和服务器的应用程序。本系统作为客户端,服务器端采用网络助手软件。客户端主要程序如下所示[8]:
1)构造函数中创建用于开启3G线程
this->th = new Thread_3G();
2)与服务器连接函数
void Console::on_Establish_clicked()
{
tcpSocket->connectToHost("10.41.228.186",8089);//服务器IP地址和端口号
}
3)发送数据至服务器程序
tcpSocket->write(msg.toStdString().c_str(),strlen(msg.toStdString().c_str()));
4)接受数据程序
QString s = tcpSocket->readAll();
4系统的集成与测试
在完成设计与外围电路制作后,利用开发板资源集成各个模块,主要有CAN模块的连接、3G模块的接连、CAN测试节点的连接和GPS模块的连接,并对整合后的系统进行了功能测试。
4.1系统功能测试
4.1.1故障诊断测试
系统故障诊断设计是根据J1939协议和应用层规定的故障诊断代码进行诊断,故障码DTC(Diagnositic Trouble Code)主要参数有SPN(可以参数编号,值19位),FMI(故障模式标识符,值5位)和OC。其中SPN表示发生了什么故障,FMI表示什么类型的故障,OC为故障的发生次数。如故障spn=108,fmi=12,oc=3,即油滤喷嘴堵塞,故障发生3次,故障spn=91,fmi=7,oc=5,即加速踏板失灵,故障发生5次。
系统的数据模拟采用周立功公司的USB-CAN分析仪CANalyst-II来搭建系统CAN网络。它能很方便的设置CAN报文ID,数据域,发送周期,发送次数等重要参数,并能循环发送报文。能很好的模拟车辆报文发送。为了验证效果,本文测试中设置了10个故障报文,波特率设置为20 kbps,报文每次发送间隔为1 s,循环10次。实验结果如图5所示。
图5 故障诊断界面
4.1.23G测试
如图6所示,界面左侧为接收的故障报文和GPS信息,发送按钮为发送当前页面信息至服务器端显示。界面右侧为服务器返回的信息,包含PING百度网站返回的信息,3G模块上网正常,带宽稳定,丢包率低。“建立连接”按钮为与服务器建立连接。图7为截取服务器端接收界面图。
图6 3G收发界面
图7 服务器端接收界面
4.2测试结果分析
从多次测试结果分析可知, 3G模块传输速度一般都能达到300 Kb/s以上、且几乎无丢包情况。对于在不同模拟条件下发送的车辆报文数据,故障诊断和报文接收模块都可以快速解析,正确显示。
另外, 其它的实验表明:数据的保存、查询和删除等功能都能够正确操作。GPS定位准确、室外情况误差极小。说明所设计的车载终端系统达到设计目标,工作稳定可靠,实时性好,达到了故障诊断和上传故障信息的要求。
5结束语
针对商用车维修服务链,本文提出了基于3G的远程检测方案,实现了简单的故障分析处理模块,利用监测系统获得车辆参数处理故障。同时,还能将采集到的相关车辆运行关键信息数据传送至4S店或整车厂,逐步充实车辆的故障模式数据。通过和远程监控系统的交换,可以在远程进行更高层次的,故障分析和处理模块,最终建立商用车故障维修知识库和完善维修信息服务链。
参考文献:
[1] 陆世鹏,许勇. 基于SAE J1939协议的车辆下线监测系统设计[J]. 汽车技术,2013(2):41-45.
[2] 胡亚丽,黄秋元.基于J1939协议车辆终端信息采集系统的实现[D].武汉:武汉理工大学,2012.
[3] 曹恺,颜伏伍.轻型汽油车远程检测及故障诊断技术研究[D]. 武汉:武汉理工大学,2013.
[4] 王强龙,陆辉山.基于ARM的嵌入式柴油机故障诊断系统的设计与研究[D]. 太原:中北大学,2013.
[5] 杨攀,曾成.基于3G的智能电表网络接入方案[J].计算机测量与控制,2014, 22(1):212-214.
[6] 卜峰,李传江.基于GPS/GPRS的客车远程监控系统设计与实现[J]. 计算机测量与控制,2014, 22(1) :79-81.
[7] 骆志宏,许勇,马秋香.商用车在线故障诊断系统设计与实现[J].计算机测量与控制.2015, 23(4):1098-1101.
[8] 付贤强,石春,黄周义,等. 纯电动客车远程视频监控终端设计与实现[J]. 电子测量技术,2013, 36(8):71-75.
Research on Key Technologies of Service Chain for Commercial Vehicle Maintenance
Feng Sheng, Xu Yong
(School of Electronic Engineering and Automation, Guilin University of Electronic Scinece and Technology, Guilin541004,China)
Abstract:As a key equipment in the construction of commercial vehicle maintenance service chain, a fault diagnosis system based on J1939 protocol is designed. The system extends the conventional on-board fault diagnosis system, and uses the wireless communication technology to upload the J1939 vehicle fault messages and GPS location information to the vehicle monitoring center in real time. The goal is to design a full vehicles service network for vehicles monitoring, fault diagnosis and prediction. The system takes Cortex-A8 as the main controller and the embedded Linux as the platform, including the fault collection and analysis module. Qt is used to design the user interface. After repeated testing, the fault diagnosis can be done fast and accurately, and the wireless transmission data is transmitted real-timely and the packet loss rate is low.
Keywords:commercial vehicle; vehicle maintenance service chain; vehicle remote monitoring; commercial vehicle fault diagnosis; J1939 protocol
文章编号:1671-4598(2016)02-0198-04
DOI:10.16526/j.cnki.11-4762/tp.2016.02.055
中图分类号:TP3
文献标识码:A
作者简介:丰盛(1990-),男,湖北黄冈人,硕士研究生,主要从事汽车电子技术和嵌入式系统等方向的研究。
收稿日期:2015-08-18;修回日期:2015-09-20。
许勇(1955-),男,山西人,博士,教授,主要从事自动化系统,工业网络和汽车电子技术开发与应用方向的研究。