基于Android平台的汽车故障诊断系统设计

基于Android平台的汽车故障诊断系统设计
乔美昀
【摘 要】设计和开发了一种基于Android平台的汽车故障诊断系统.系统由车载总线系统、VCI系统、Android终端软件和售后诊断数据管理系统组成.建立了系统完整的通信链路,在此基础上,开发了系统诊断软件,其具有5种基础诊断功能和3种系统设置功能.搭建了系统的集成测试平台,对软件的功能进行了测试,并对结果进行了分析,软件功能正确且性能可靠,并逐渐在某公司4S店投入使用.
【期刊名称】脉冲信号《装备制造技术》
【年(卷),期】2018(000)008
【总页数】6页(P60-65)
【关键词】汽车电控;故障诊断;安卓平台;诊断通信
【作 者】乔美昀
【作者单位】上汽通用五菱汽车股份有限公司,广西柳州545007
【正文语种】中 文
【中图分类】U472.9
汽车保有量的持续快速增长,环境、交通、能源、安全问题日益凸显,汽车电子化和新兴的车联网技术是解决上述问题的重要途径[1-2];同时,汽车系统也变得复杂,故障诊断难度增加,对汽车诊断系统要求提高。针对国内外汽车诊断系统的研究现状和发展趋势及Android平台的优势[3],本文提出并设计开发了基于Android平台的汽车故障诊断系统。
1 系统总体方案
1.1 系统架构及工作原理
本文设计的汽车故障诊断系统要求根据诊断通信协议获取车载总线网络各ECU的故障等数据,并设计算法对其进行解析,而且能把解析的结果上传至服务器进行管理,同时服务器对软件用户进行管理。本系统共由车载总线网络系统、VCI(Vehicle Communication Inter
face)系统、Android终端软件、售后诊断数据管理系统四大部分组成,其架构如图1所示。
图1 系统架构图
智能娃娃机
汽车故障诊断系统在工作的过程中,带有蓝牙功能的VCI通过OBDII接口与车载总线网络相连,根据诊断通信协议实现VCI与车载总线网络的通信;通过蓝牙方式实现VCI与Android平台设备的数据通信;Android设备通过WiFi/4G网络与远程服务器实现数据交互,并通过PAD端数据管理系统对服务器数据进行管理。通信链路建立后,根据UDS(统一诊断服务),Android设备发送对应功能的诊断服务,通过VCI系统的处理,发送给车载网络;车载网络中接收指令的ECU模块将反馈数据并通过VCI系统发送给Android设备,Android设备利用其强大的处理能力将收到的数据根据协议进行处理,然后通过友好的人机交互显示出来以满足各种功能需求。
cnnp1.2 系统各部分主要功能
车载诊断系统作为车载总线网络系统的重要组成部分,通过OBDII接口和网关挂载在车载
网络,与汽车各ECU组成网络,实现信息和数据的共享,根据通信协议实现诊断设备与ECU的通信,完成汽车的故障诊断功能[4]。
通用的Android设备与其他设备的通信方式主要是4G、WiFi、蓝牙、USB,无法直接满足总线通信协议规定的物理层、数据链路层、传输层的要求,因此本文需要研究并选择VCI系统将车载总线网络接口信号电平与Android设备通信接口电平进行转换,以实现车辆与Android设备的通信。VCI系统硬件实现通信链路物理层上的连接,VCI系统软件实现数据通信链路控制和对硬件系统的管理。其主要的功能有:对VCI系统硬件控制,包括对串口、CAN接口及I/O端口的控制;对车载网络ECU的通信链路控制与维持;对Android设备的通信链路控制与维持;K线和CAN总线数据报文处理[5]。
同时Android设备与服务器实现信息的交互完成软件的在线激活、在线自动更新等功能。
售后诊断数据管理系统包含远程服务器和访问服务器的PC数据管理端,是本文汽车故障诊断系统的数据管理中心,是整个系统的核心组成部分。Android设备通过4G/WiFi通信方式与远程服务器交互,实现数据的上传和下载。
2 系统通信实现
气瓶推车
2.1 系统通信方案
本系统通信总体方案如图2所示。核心通信主要由三部分组成,VCI系统通过CAN模块与车载CAN网络实现通信;VCI系统的SCI与蓝牙串口模块相连通过蓝牙方式实现与Android设备通信;Android设备通过4G/WiFi方式接入Internet实现与服务器信息的交互。同时,PC管理端通过Internet访问和管理服务器的信息;Android应用程序在PC上开发,并通过USB进行调试。
图2 系统通信总体方案
2.2 系统核心通信实现
2.2.1 车载网络与VCI通信
汽车的ECU具有自诊断模块,汽车发生故障时,自诊断模块把故障数据存储在EPROM,ECU以节点的形式搭载在车载网络上,ECU与外部设备的通信是根据诊断协议来实现的。
由于VCI系统支持K-Line、CAN总线的多种诊断协议,适用于多种车型,针对某一标识符
的ECU建立通信链路必须通过上位机向VCI发送指令对其进行初始化。针对采用UDS的某控制器,VCI的初始化过程如下步骤:对VCI诊断芯片进行复位;选择模块对应的诊断协议,设置CAN通信模式的流控制信息,CAN协议传输层要求发送首帧后,必须接收一个流量控制帧;针对要诊断的控制器设定CAN 11位标准格式ID;设置VCI系统CAN模块的屏蔽器和过滤器;完成以上设置后,发送“3E00”维持服务,若控制器反馈数据包含3E00+ID,则通信链路建立成功。
2.2.2 Android设备与VCI通信
根据功能需求,要实现蓝牙通信,VCI必须具有蓝牙功能。VCI系统已具备SCI功能,只需要选择蓝牙串口模块即可完成通信功能,本项目选择HC06蓝牙串口模块,其最主要的功能是取代了串口线,把串口转换为蓝牙。
Android设备与VCI的通信就是调用Android蓝牙API完成配对,实现通信的过程设置蓝牙,通过BluetoothAdapter的getDefaultAdapter()方法判断设备是否支持蓝牙功能,通过enable()方法打开蓝牙。查周围设备,通过调用startDiscovery()方法搜索设备,搜索完成后会在一个列表页面显示所有的蓝牙设备名称和MAC地址以便后面的连接操作。连
接设备,获取一个代表远程BluetoothDevice的对象调用其 creatRfcommSocketToServiceRecord(UUID)方法获取一个BluetoothSocket对象;调用其connect()方法即可实现连接。数据传输,Android设备从其BluetoothSocket对象中获取输出流,其次把字符串数据写入到输入流,然后VCI获取其BluetoothSocket对象的输入流,最后从其输入流中把数据读取出来,完成数据的传输[7]。
由于汽车故障诊断系统所有的数据都是通过Android设备的蓝牙与VCI的蓝牙模块传输的,对蓝牙通信要求很高。本文从搜索、配对和数据传输三个方面进行优化,解决了通用蓝牙的通信过程中搜索设备时间长,无自动配对功能,调用数据接收时造成程序假死的问题。
2.2.3 Android设备与服务器通信
Android设备与服务器交互是采用互联网上应用最广泛的HTTP网络协议标准,而该协议的与接入网络的方式无关,对Android设备4G/WiFi方式接网络均可,且在编写程序时必须声明Internet的权限。
因特网上的每一个资源都具有唯一的标识名称,被称为URL(统一资源定位符)地址,这
种地址通常是因特网上的一个网址,URLConnection就是URL和应用程序之间的形成通信链路的桥梁,通过实例化HttpURLConnection类,并调用其方法即可实现对URL指定应用资源的读和写操作[8]。
三通截止阀3 诊断系统软件开发
3.1 系统软件架构
本文开发的软件的功能是通过维修人员操作Android设备精确定位和查汽车的故障。为了符合Android诊断软件的工作原理和实现其功能,满足软件开发高内聚、低耦合的设计概念,本软件采用代码可读性强、结构清晰的分层设计方案[9]。本软件从上到下依次分为用户界面层、业务逻辑层、数据访问层,详细结构如图3所示。
图3 汽车诊断软件架构
3.2 系统各层设计
3.2.1 数据访问层
数据访问层是接收数据的载体层,主要访问本地数据库的数据,通过网络访问服务器管理端的远程数据,通过VCI向车辆网络中的ECU发送指令或获取诊断数据。数据访问层获取的数据通过业务逻辑层处理,同时业务逻辑层也能向数据访问层发送数据。本软件数据访问层主要函数如表1所示。
表1 数据访问层接口函数函数 描述SendATCommand 向VCI初始化请求SendOBDCommand 向ECU发送诊断指令请求DataReceive 接收ECU反馈回来的数据OpenDatabase 打开本地数据库QueryDatabase 查本地数据库的数据SharedPreferences 创建删除更新用户信息SendJsonData 向服务器发送JSON数据ReceiveJsonData 接收服务器的JSON数据DownloadFile 从服务器下载文件UploadFile 向服务器上传文件
箱式高温煅烧炉

本文发布于:2024-09-23 00:28:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/113036.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   系统   诊断   设备   实现   汽车   功能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议