基于GPRS车载故障诊断系统数据采集的研究

2012-04-29 00:44:03汤益明
中国高新技术企业 2012年4期

摘要:目前,OBD主要应用于汽车维修,使用一台仪器通过有线的方式对汽车进行检测,给汽车的维修提供了极大的方便,但是这种方法需要人主动去检测,往往都是汽车已经出现问题司机才去检测,这样对汽车安全造成了一定的隐患。文章介绍了一种智能检测系统,能够实时监控汽车的异常情况,可以根据需要把检测报告通过无线网络传输给车主。

关键词:GPRS;OBD;车载故障诊断系统;故障码;ECU;KWP2000;控制单元编码

中图分类号:U463 文献标识码:A文章编号:1009-2374(2012)06-0115-03

一、OBD-Ⅱ系统协议及接口简介

故障数据采集是通过OBD-Ⅱ接口,OBD-Ⅱ标准是在20世纪90年代中期产生,目前已经形成了一套标准规范。它能够提供一些对用户有用的数据,比如发动机控制系统、自动变速箱系统、防抱死制动系统、安全气囊系统、牵引力控制系统等数据。OBD-Ⅱ标准主要有以下标准接口:SAE J1850、ISO/9141-2(KWP2000)、CAN接口。下面针对这些协议作简单

介绍。

(一)SAE J1850

J1850属于B级(Class B)的总线,主要用途为车用信息中心、仪表显示、故障检测诊断等。J1850有不同的物理层,一种是以脉宽调变(PWM)方式传送,运用2条线路以差动方式进行传输,最高速率为41.6kbps;另一种是可变脉宽(VPW)方式,此方式仅使用1条线路就可传输,最高速率为10.4kbps。在通信协议上主要分三层(图1):应用层、数据链路层、物理层。

图1汽车总线网络层结构

1.应用层。应用层在不同的输入和输出设备之间建立连接,由于汽车各网络协议一般只定义OSI结构中的底层协议,这里对应用层不再介绍。

2.数据链路层。主要定义了寻址方式、信息帧的数据结构、编码规则、通信优先权、通信格式、通信要求、总线仲裁、错误检测及处理等。

3.物理层。定义了通信速率、同一网络连线上最大子系统数、最大传输线长度及总线的电气连接特性等。物理层有两个标准接口:脉冲宽度(VPW)信号和脉冲宽度调节(PWM)。

(二)ISO/9141-2

ISO/9141-2是大多数的欧系、日系车所遵循的标准。KWP2000是ISO/9141-2升级的一个协议,该协议实现了一套完整的车载诊断服务。是基于K线的诊断协议。数据链路层和SAE J1850一样,物理层采用K线或者L线进行通信的。

(三)CAN接口

CAN总线是一种串行数据通信协议,用于汽车内部测量与执行部件之间的数据通信。CAN是目前总线规范中唯一取得国际标准的,随着CAN网络技术被越来越多的厂家认可和掌握,这一技术在我国已被广泛推广和使用。

CAN遵循的是SAEJ1939标准,SAEJ1939网络遵循7层OSI网络结构(图2)。

图2OSI七层模型

CAN物理层要求:CAN一般采用双绞线,双绞线特性阻抗为120Ω,信号使用差分电压传送,CAN的物理层规定了逻辑状态、总线电气性能。

CAN总线除了能够采集故障诊断数据以外,还能够获取车身仪表数据、车身控制、汽车断油断电、中控开关锁等。CAN网络技术的实现,为车联网应用中汽车行使数据的采集提供了技术基础。

二、故障诊断接口设计

故障诊断接口包括SAEJ1850接口、ISO 9141 K线接口、CAN接口。通过图4可以明显地看出故障诊断模组在整个系统的位置。

(一)SAE J1850 接口电路

图3实现了实现SAE J1850 VPW协议电平和PWM协议电平的转换。

图3SAE J1850接口电路

(二)ISO 9141 K线接口电路

图4完成ISO 9141 K线信号电平到串行通信接口的转换。

图4ISO 9141 K线接口电路

(三)CAN 总线接口设计

图5实现了CAN总线接口设计,芯片U101是SPI接口的CAN控制器,U102是CAN接口的收发器。

图5CAN接口电路

三、诊断数据采集方案

智能检测系统包括诊断数据的采集、解码、处理、传输、报警、显示等过程。图6是整个的系统结构图,整个系统分成车载终端和监控中心两部分。

图6系统结构图

车载终端采用汽车电源供电,其中无线传输模块、CPU处理、数据采集、解码、显示都是集成在车载终端里。监控中心指车辆的管理中心。

1.数据采集模块:采集接口是OBD-Ⅱ的标准接口。电路上需要做PWM、VPW、K线、CAN等接口的转换。终端对故障诊断数据进行实时采集。

2.软件解码:数据采集下来以后,根据协议解出故障码。

3.无线发送:终端CPU对解析出的故障码进行以下处理:通过GPRS模块发送到监控中心,由监控中心处理。

4.显示屏:终端对故障码自行处理,发送到本机显示屏显示出故障码,车主可查看本车的诊断故障码。

5.参数设置:车载终端或监控中心均提供参数设置,可设置故障报警电话,当出现异常情况时自动把情况通过短信报告到车主手机上。

(一)故障数据采集及处理

故障数据通过OBD-Ⅱ接口进行采集后,需要提取故障码进行分析,故障码请求采用请求应答的方式,由终端发送故障请求,ECU进行相应的故障码应答。

SAE J2010规定了一个5位标准故障代码,第1位是字母,后面4位是数字。如“PO125”、“PO204”,分别代表有转速信号时发动机5min内没达到10℃和4号喷油嘴输出驱动器不正确地响应控制信号。

故障代码的首位字母表示设置故障码的系统。

P=Powertrain动力系统

B=Body车身

第2位字符是0,1:

0=Generic(通用故障码)

1=Enhanced(汽车厂家自定义的故障码)

第3位字符表示出故障的系统:

1=Emission Management(Fuel or Air——燃油或空气计量故障)

2=Injector Circuit(Fuel or Air——燃油或空气计量故障)

3=Ignition or Misfire——点火故障或发动机缺火

……

最后两位字符表示触发故障码的条件。详细的故障码这里就不在列出。

(二)故障数据传输

故障数据是采用GPRS无线通信网络或短信的方式传输,其中主要还是采用GPRS网络进行传输的,短信通道主要是作为数据传输的备份通道来用,当GPRS网络不同或者信号不好时,启动短信通道进行数据传输。

之所以采用GPRS作为主传输,短信作为辅助传输,是基于以下几点考虑:

1.GPRS是采用分组交换技术,传输效率高。

2.传输速度。GPRS支持中、高速率数据传输,可提供9.05~171.2kbit/s的数据传输速率(每用户)。

3.GPRS网络接入速度快,提供了与现有数据网、IP网的无缝连接。

4.资费问题。故障码的数据量不大,GPRS网络完成能够满足要求,而目前GPRS的资费相对于短信来说,低得多。

5.GPRS传输需要信号强度比较大,而短信则需要比较弱的信号强度,在某些信号强度不是很好的地方,无线数据只能采用短信进行传输。

综上所述几个特点,数据传输采用GPRS作为主传输,短信作为辅助传输。

(三)GPRS无线通信流程

GPRS模块对外提供了控制系统操作的AT指令集,通过接收来自UART的AT指令,执行相应操作,实现无线Modem的相应功能。GPRS是走TCP/IP协议的,而GPRS模块是内嵌TCP/IP协议栈的。

由于GPRS的AT指令集比较多,只列出进行TCP传输用到的主要AT指令:

AT+CGREG=1;//设置GPRS注册状态

AT+CGATT=l;//GPRS网络附着

AT#APNSERV=“CMNET”;//设置GPRS接入点

AT# ConnectionStart;//连接CPRS网登录Internet,成功返回动态分配的IP地址。

AT#TCPSERV=″202.112.135.203″://设置服务器IP地址,即监控中心的IP地址。

AT#TCPPORT=″6000″://设置服务器与客户端通信的Socket端口:

AT#otcp;//打开与远程服务器的TCP连接

TCP连接成功后,GPRS模块进入数据传送状态,这时就可向监控中心发送数据,监控中心也能向模块发送回应数据。图7是采集系统处理流程图:

图7采集系统处理流程图

目前无线3G网络也发展的比较成熟了,对于有大数据量的应用,则在设计中,可把GPRS模块换成3G

模块。

四、结语

目前,行车安全和防盗越来越得到车主的重视,本文采用一种智能的故障诊断技术,同时诊断信息能够智能地展现在车主的面前,为车主提供便捷服务。随着无线信息技术的发展,这种服务越来越受到车主的青睐,在未来必将普及开来。

参考文献

[1]信息技术软件工程术语(GB/T 11457-2006)[S].

[2]孙孺石.GSM数字移动通信工程[M].北京:人民邮电出版社,1996.

[3]栗大超.GPRS的通讯技术及其在测控系统中的应用[J].计算机自动测量与控制,2001,(2).

[4]刘威.无线网络技术[M].北京:电子工业出版社,2012.

[5]徐静.一种汽车网络系统车载终端的设计与实现[J].合肥学院学报(自然科学版),2008,(2).

[6]梁宏伟.发动机管理系统中OBD—Ⅱ技术研究[J].车用发动机,2002,(3).

作者简介:汤益明(1978-),男,福建厦门人,厦门雅迅网络股份有限公司研发部副经理,中级工程师。

(责任编辑:赵秀娟)