论文部分内容阅读
摘 要:本文围绕汽车诊断协议、系统架构、远程诊断系統的设计、实验的验证四个方面展开讨论,对基于B/S架构的汽车远程诊断系统进行了全面分析,同时提出了一些笔者自己的见解,希望能够对今后汽车远程诊断系统的创新提供一些理论借鉴。当前,我国在汽车故障诊断方面的关注点主要分布在两个领域,其一是诊断协议的研究,其二是诊断系统的设计。
关键词:B/S架构 汽车远程诊断系统 故障诊断
中图分类号:TP316 文献标识码:A 文章编号:1674-098X(2019)02(c)-0096-02
笔者依托前研究者的研究结果,并参考汽车故障诊断协议相关的通信标准,设计了一个针对诊断服务器以及车载终端通信的协议,从而研究出了一种依托B/S架构技术的汽车远程诊断系统。该系统在设计过程中始终坚持平台无关性这一理念,并能够针对诊断协议中的通信参数实施实时性化设定,来提升诊断灵活性,从而能够与更多车型进行匹配。
1 汽车诊断协议
现代汽车电子控制单元都能够实现在线诊断,所以说能够针对汽车电控系统的运行状况以及现状进行无时无刻的监督控制,一旦将故障类型识别出来,将立刻使用代码进行表示,并呈现在电子控制单元里面。传统的汽车故障诊断方式主要是通过故障诊断协议而实现的,除此之外还会对车载网络系统进行一定的运用,在对故障码进行分析之后对故障类型进行判断分析。在常见的汽车故障诊断协议当中,ISO14229协议以及ISO15765协议具有最广的应用范围。其中,ISO14229这个协议的主要作用在于为诊断服务提供规范的标准,确保诊断服务的规范性。
2 系统架构
在B/S技术基础上完成的汽车远程诊断系统架构结构较为复杂,它由3个部分组成,其一是诊断服务器,其二是车载终端,其三是诊断客户端。在上述结构当中,诊断客户端相当于客户端浏览器。在对故障车辆实施诊断时,车载终端需要使用到4G网络,并在此基础传递自己的诊断需求至通信服务器中,随后由通信服务器将此信息传达至运维人员。运维人员将待诊断车辆筛选出来,借助WEB服务器对数据服务器进行查询,取得故障车辆对应的诊断协议通信参数以及诊断服务信息,随后利用通信服务器将其传递至车载终端从而实现诊断匹配。在配置完成后,运维人员对客户端浏览器进行诊断,将诊断结果以命令方式反馈至车载终端,实现车载的远程诊断。
3 远程诊断系统的设计
3.1 诊断服务器和车载终端通信协议
应用层时间参数在汽车的ECU诊断通信协议中得到了非常明确、充分的定义,除此之外网络层时间参数也在其中作出了界定,绝大多数的诊断通信协议在参数选择上都选择了s这一单位,除此之外还有一些使用了ms这一单位,但是当数据在因特网中进行传输时难免会遇到一些问题,其中最常见的问题为延时问题,这一问题是很难得到控制的,此外,每一种车型所支持的诊断协议通信参数以及服务功能存在一些差异,为了确保系统功能的多样化,最好能够把一切涉及到车型的信息都保存起来,具体储存路径为诊断服务器的数据库,当需要对故障进行诊断时,借助车型信息将诊断协议通信参数以及支持服务信息传递到车载终端当中。
3.2 车载终端设计
关于车载终端的硬件设计,其中的STM32F103RCT6微控制器是依托ARM核心实现的,这一控制器拥有很多I/O增强端口,除此之外还设有很多标准通信接口,具备多元的省电技术,从而使微控制器不需要花费过多功耗来维持运行。3G模块中也储存了芯片,其型号是SIM800,这一芯片能够向车载终端进行数据传送,CAN总线协议控制器中也存储了芯片,其型号为MCP2515,这一芯片与CANV2.0技术规范相匹配,支持数据的拓展以及接收。关于车载终端的软件设计,车载终端对于这些应用层诊断协议的支持情况非常关注。在实施车辆故障远程诊断时,车载终端不仅需要完成诊断服务器和其它不同电子控制单元相互间数据传递、设定诊断协议中的各种参数,从而使诊断服务器的工作量得以减轻,并使安全解锁的效率得到有效改善。车载终端作为接收端,必须负责判断诊断服务器反馈的报文是何类型,同时基于报文的种类来完成接下来的一系列步骤。在对报文进行诊断时,车载终端不能随意进行操作,需要严格、全面地依据网络层诊断协议规范来开展每一个步骤,在进行单帧传输的的过程当中,不能直接进行操作,而是通过电子控制单元来替代操作;在进行多帧传输的的过程当中,第一个步骤必须为传递首帧数据,直到流控制帧获取之后才能对连续帧进行传送,在数据没有充分发送的情况下,需要对流控制帧实施不间断的收发,最后的数据也必须向外发送,不能有任何遗漏。
3.3 服务器的设计
最常用的软件体系结构有两种,分别为客户机/服务器模式以及浏览器/服务器模式,它具有良好的安全性能以及实时性能,在局域网络中应用效果较好,然而不足的是不具备较好的可拓展性,开发维护所需要耗费的成本非常之多。B/S技术主要是在三层结构的基础上完成的,其中,事物逻辑通常是在服务器端当中,能够进行较好地扩展,同时对于各种平台相互间的互动操作提供支持作用。汽车远程诊断系统能够为大量车型的故障诊断提供服务,由于车辆所分布的区域范围十分广泛,所以说B/S模式是目前来说最合理的一种模式。系统服务器中包含两个不同的部分,其一是通信服务器,其二是WEB服务器,前者一般来说是基于JAVA在ECLIPSE来进行开发,并实现WEB服务器与车载设备之间的数据传递。WEB服务器主要是通过B/S模式来完成,进一步增加模型-视图-控制器三层结构,其中,后台程序的开发是依托ASP.net来实现的,而前台以及后台相互间的数据传送则需要借助Ajax技术来达到页面动态化更新的目的,用于故障诊断的客户端浏览器在操作界面上相对简单,只有3个区域,左边的区域主要负责车辆管理,它以树形列表的状态进行呈现,主要负责针对目前与服务器相接通的车辆进行24h监管控制;上面的区域主要负责诊断操作,其中包括一些车辆诊断过程中常用的系统,中央区域主要负责信息的反馈,作用在于记录并展示一些车辆故障在诊断过程中发现的具体问题。
4 实验的验证
本次选用本田某款商务车作为实验对象,在汽车OBD接口的作用下实现车载终端和车辆之间的相互接通。当需要进行客户端界面诊断时,首先要选择好目标车辆,并对其进行选定操作,随后再按下故障码读取按钮。对本次实验效果进行分析可以发现,该系统在接收到诊断指令之后,可以在很短的时间内进行迅速反应并执行,且执行 结果准确,值得应用与推广。
5 结语
在本研究中,主要依托现阶段汽车诊断以及协议的基本功能,在此基础上研发了一种依托B/S架构实现的汽车远程诊断系统,这一系统的功能广泛,不仅能够对车辆电子控制单元中的数据实施24h的不间断检测控制,除此之外还能够快速识别汽车故障。测试结果在很大程度上表明了,这一系统对于车辆故障远程诊断需求可以进行很好地满足,且对于信息的收发以及反馈十分迅速。最后,系统还可以通过诊断协议通信参数动态分配对策来实现各种车型的远程故障诊断,从而使车辆故障监测成本大大降低,并有效提升故障诊断的准确性以及效率。
参考文献
[1] 王新.基于蓝牙技术的汽车无线诊断系统的研究与实现[D].合肥工业大学,2017.
[2] 颜伏伍,曹恺,胡杰,等.基于Internet和3G的汽车远程诊断数据采集技术的研究[J].汽车工程,2013,35(5):467-471,466.
关键词:B/S架构 汽车远程诊断系统 故障诊断
中图分类号:TP316 文献标识码:A 文章编号:1674-098X(2019)02(c)-0096-02
笔者依托前研究者的研究结果,并参考汽车故障诊断协议相关的通信标准,设计了一个针对诊断服务器以及车载终端通信的协议,从而研究出了一种依托B/S架构技术的汽车远程诊断系统。该系统在设计过程中始终坚持平台无关性这一理念,并能够针对诊断协议中的通信参数实施实时性化设定,来提升诊断灵活性,从而能够与更多车型进行匹配。
1 汽车诊断协议
现代汽车电子控制单元都能够实现在线诊断,所以说能够针对汽车电控系统的运行状况以及现状进行无时无刻的监督控制,一旦将故障类型识别出来,将立刻使用代码进行表示,并呈现在电子控制单元里面。传统的汽车故障诊断方式主要是通过故障诊断协议而实现的,除此之外还会对车载网络系统进行一定的运用,在对故障码进行分析之后对故障类型进行判断分析。在常见的汽车故障诊断协议当中,ISO14229协议以及ISO15765协议具有最广的应用范围。其中,ISO14229这个协议的主要作用在于为诊断服务提供规范的标准,确保诊断服务的规范性。
2 系统架构
在B/S技术基础上完成的汽车远程诊断系统架构结构较为复杂,它由3个部分组成,其一是诊断服务器,其二是车载终端,其三是诊断客户端。在上述结构当中,诊断客户端相当于客户端浏览器。在对故障车辆实施诊断时,车载终端需要使用到4G网络,并在此基础传递自己的诊断需求至通信服务器中,随后由通信服务器将此信息传达至运维人员。运维人员将待诊断车辆筛选出来,借助WEB服务器对数据服务器进行查询,取得故障车辆对应的诊断协议通信参数以及诊断服务信息,随后利用通信服务器将其传递至车载终端从而实现诊断匹配。在配置完成后,运维人员对客户端浏览器进行诊断,将诊断结果以命令方式反馈至车载终端,实现车载的远程诊断。
3 远程诊断系统的设计
3.1 诊断服务器和车载终端通信协议
应用层时间参数在汽车的ECU诊断通信协议中得到了非常明确、充分的定义,除此之外网络层时间参数也在其中作出了界定,绝大多数的诊断通信协议在参数选择上都选择了s这一单位,除此之外还有一些使用了ms这一单位,但是当数据在因特网中进行传输时难免会遇到一些问题,其中最常见的问题为延时问题,这一问题是很难得到控制的,此外,每一种车型所支持的诊断协议通信参数以及服务功能存在一些差异,为了确保系统功能的多样化,最好能够把一切涉及到车型的信息都保存起来,具体储存路径为诊断服务器的数据库,当需要对故障进行诊断时,借助车型信息将诊断协议通信参数以及支持服务信息传递到车载终端当中。
3.2 车载终端设计
关于车载终端的硬件设计,其中的STM32F103RCT6微控制器是依托ARM核心实现的,这一控制器拥有很多I/O增强端口,除此之外还设有很多标准通信接口,具备多元的省电技术,从而使微控制器不需要花费过多功耗来维持运行。3G模块中也储存了芯片,其型号是SIM800,这一芯片能够向车载终端进行数据传送,CAN总线协议控制器中也存储了芯片,其型号为MCP2515,这一芯片与CANV2.0技术规范相匹配,支持数据的拓展以及接收。关于车载终端的软件设计,车载终端对于这些应用层诊断协议的支持情况非常关注。在实施车辆故障远程诊断时,车载终端不仅需要完成诊断服务器和其它不同电子控制单元相互间数据传递、设定诊断协议中的各种参数,从而使诊断服务器的工作量得以减轻,并使安全解锁的效率得到有效改善。车载终端作为接收端,必须负责判断诊断服务器反馈的报文是何类型,同时基于报文的种类来完成接下来的一系列步骤。在对报文进行诊断时,车载终端不能随意进行操作,需要严格、全面地依据网络层诊断协议规范来开展每一个步骤,在进行单帧传输的的过程当中,不能直接进行操作,而是通过电子控制单元来替代操作;在进行多帧传输的的过程当中,第一个步骤必须为传递首帧数据,直到流控制帧获取之后才能对连续帧进行传送,在数据没有充分发送的情况下,需要对流控制帧实施不间断的收发,最后的数据也必须向外发送,不能有任何遗漏。
3.3 服务器的设计
最常用的软件体系结构有两种,分别为客户机/服务器模式以及浏览器/服务器模式,它具有良好的安全性能以及实时性能,在局域网络中应用效果较好,然而不足的是不具备较好的可拓展性,开发维护所需要耗费的成本非常之多。B/S技术主要是在三层结构的基础上完成的,其中,事物逻辑通常是在服务器端当中,能够进行较好地扩展,同时对于各种平台相互间的互动操作提供支持作用。汽车远程诊断系统能够为大量车型的故障诊断提供服务,由于车辆所分布的区域范围十分广泛,所以说B/S模式是目前来说最合理的一种模式。系统服务器中包含两个不同的部分,其一是通信服务器,其二是WEB服务器,前者一般来说是基于JAVA在ECLIPSE来进行开发,并实现WEB服务器与车载设备之间的数据传递。WEB服务器主要是通过B/S模式来完成,进一步增加模型-视图-控制器三层结构,其中,后台程序的开发是依托ASP.net来实现的,而前台以及后台相互间的数据传送则需要借助Ajax技术来达到页面动态化更新的目的,用于故障诊断的客户端浏览器在操作界面上相对简单,只有3个区域,左边的区域主要负责车辆管理,它以树形列表的状态进行呈现,主要负责针对目前与服务器相接通的车辆进行24h监管控制;上面的区域主要负责诊断操作,其中包括一些车辆诊断过程中常用的系统,中央区域主要负责信息的反馈,作用在于记录并展示一些车辆故障在诊断过程中发现的具体问题。
4 实验的验证
本次选用本田某款商务车作为实验对象,在汽车OBD接口的作用下实现车载终端和车辆之间的相互接通。当需要进行客户端界面诊断时,首先要选择好目标车辆,并对其进行选定操作,随后再按下故障码读取按钮。对本次实验效果进行分析可以发现,该系统在接收到诊断指令之后,可以在很短的时间内进行迅速反应并执行,且执行 结果准确,值得应用与推广。
5 结语
在本研究中,主要依托现阶段汽车诊断以及协议的基本功能,在此基础上研发了一种依托B/S架构实现的汽车远程诊断系统,这一系统的功能广泛,不仅能够对车辆电子控制单元中的数据实施24h的不间断检测控制,除此之外还能够快速识别汽车故障。测试结果在很大程度上表明了,这一系统对于车辆故障远程诊断需求可以进行很好地满足,且对于信息的收发以及反馈十分迅速。最后,系统还可以通过诊断协议通信参数动态分配对策来实现各种车型的远程故障诊断,从而使车辆故障监测成本大大降低,并有效提升故障诊断的准确性以及效率。
参考文献
[1] 王新.基于蓝牙技术的汽车无线诊断系统的研究与实现[D].合肥工业大学,2017.
[2] 颜伏伍,曹恺,胡杰,等.基于Internet和3G的汽车远程诊断数据采集技术的研究[J].汽车工程,2013,35(5):467-471,466.