一种实现汽车诊断的方法、装置和智能终端与流程

文档序号:11250208
一种实现汽车诊断的方法、装置和智能终端与流程

技术领域

本发明属于智能终端技术领域,更具体地涉及一种实现汽车诊断的方法、装置和智能终端。



背景技术:

当今社会,汽车越来越普及,成为人们家庭生活中不可缺少的交通工具,越来越多的个人用户希望自己拥有一种能够携带方便,操作快捷的汽车诊断工具,能针对自己的爱车进行实时检测,以及汽车故障的初步定位,以提高汽车的使用性能和智能化。目前,市场上流行的汽车诊断工具都是有线连接,将操作界面和诊断功能都集成到一个诊断设备上,使得诊断设备不仅体积大,成本高而且界面也不美观,因此只适合于专用汽车修理厂。



技术实现要素:

有鉴于此,本发明提供一种实现汽车诊断的方法、装置和智能终端,以利用智能终端实现汽车诊断。

根据本发明的一个方面,提供的一种实现汽车诊断的方法包括以下步骤:

智能终端通过蓝牙模块与OBD诊断头建立通信连接;

向OBD诊断头发送诊断命令;

接收OBD诊断头从汽车ECU获取的诊断结果;

将诊断结果显示屏幕上。

优选地,智能终端向ODB诊断头发送诊断命令信息包括:包头、长度、包序号、有效数据、和/或校验和。

进一步地,有效数据包括:功能号、参数长度、和参数内容。

优选地,接收OBD诊断头从汽车ECU获取的诊断结果信息包括:命令字、操作状态、参数个数、参数长度、和参数内容。

优选地,诊断结果包括:故障码、数据流、冻结帧、汽车ECU信息、和/或氧传感器信息。

优选地,该方法还包括:接收到诊断头的升级请求时,向诊断头发送版本升级文件。

根据本发明的另一个方面,提供的一种实现汽车诊断的装置,包括以下模块:

连接建立模块,用于通过蓝牙模块与OBD诊断头建立通信连接;

命令发送模块,用于向OBD诊断头发送诊断命令;

接收模块,用于接收OBD诊断头从汽车ECU获取的诊断结果;

显示模块,用于将诊断结果显示屏幕上。

优选地,该装置还包括同步模块,用于接收到诊断头的升级请求时,向诊断头发送版本升级文件。

根据本发明的再一个方面,提供的一种实现汽车诊断的智能终端,包括蓝牙通讯模块,还包括上述一种实现汽车诊断的装置。

优选地,智能终端为Android操作系统、IOS操作系统、或者WINDOWS操作系统的智能终端。

本发明提供的实现汽车诊断的方法、装置和智能终端,通过智能终端向OBD诊断头发送诊断命名,OBD诊断头从汽车ECU获取诊断结果解析后返回给智能终端,使得用户能更加快速方便地对汽车故障的诊断,节省了用户的时间成本和经济成本,增强了用户体验;同时,智能终端和ODB诊断头通过蓝牙通信一应一答,少了中间通信环节,且接收方式采用MCU的直接内存去存方式,提高了CPU利用率和速度。此外,智能终端还能向诊断头发送升级文件确保同步到最新版本。

附图说明

下面通过参考附图并结合实例具体地描述本发明,本发明的优点和实现方式将会更加明显,其中附图所示内容仅用于对本发明的解释说明,而不构成对本发明的任何意义上的限制,在附图中:

图1为本发明实施例提供的一种实现汽车诊断的方法流程图;

图2为本发明实施例提供的另一种实现汽车诊断的方法流程图;

图3为本发明优选实施例提供的一种应用于智能终端的装置的模块结构图;

图4为本发明优选实施例提供的一种应用诊断头的装置的模块结构图;

图5为本发明实施例提供的一种实现汽车诊断系统的结构图示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明公开了一种实现汽车诊断的方法,该方法应用于智能终端上,包括以下步骤:

S102、通过蓝牙模块与OBD(On-Board Diagnostics,车载自动诊断系统)诊断头建立通信连接;

S104、向OBD诊断头发送诊断命令;

S106、接收OBD诊断头从汽车ECU(Electronic Control Unit,电子控制单元)获取的诊断结果;

S108、将诊断结果显示屏幕上。

其中,诊断结果包括但不限于故障码、数据流、冻结帧、汽车ECU信息、和/或氧传感器信息中的一种或者任意多种的组合。

为了更方便地让本领域普通技术人员理解本发明,下面以苹果手机为例来说明如何实现智能终端与ODB诊断头的通信和数据传输。

表1

表2

如表1所示,智能终端向ODB诊断头发送的诊断命令以及ODB诊断头向智能终端返回的命令格式具体包括:包头+长度+包序号+有效数据+校验和。

其中,包头为AA 55 AA 55;

包序号是由智能终端随机生成,主要用于智能终端与OBD诊断头之间的通讯校验;

长度=包序号的长度+有效数据的长度+校验和的长度。长度由四字节组成,低字节在前高字节在后。

校验和是除自己之外的所有信息内容之和,即校验和=包头+长度+包序号+有效数据。它占用一个字节,以利用收到数据做校验,防止数据丢失。

有效数据=功能号+参数长度+参数内容。

其中,功能号包括四个字节且低字节在前面;参数长度包括四个字节且低字节在前面。

如表2所示,智能终端发送给OBD诊断头的有效数据格式以及ODB诊断头向智能终端返回的有效数据格式包括:命令字+操作状态+参数个数+【参数长度+参数内容】x参数个数。

其中,命令字包括四个字节且低字节在前面,操作状态包括四个字节且低字节在前面,参数个数包括四个字节且低字节在前,参数长度为一个字节,参数内容为参数长度个字节)。返回的操作状态中主要有如下几种状态:操作成功、通讯失败、正在连接、是否还有下级菜单以及没有数据流ID等。

如图2所示,本发明公开了一种实现汽车诊断的方法,该方法应用于OBD诊断头,包括以下步骤:

S202、通过轮询各ODB链路层协议确定进入汽车ECU的链路层协议。

优选地本步骤进一步包括:通过构造不同的ODB链路层协议向汽车ECU发送系统进入命令,如果其中某个链路层协议能收到汽车ECU的反馈,则确定该链路层协议作为汽车ECU后续诊断所用的链路层协议。

具体来说,OBD协议是汽车行业通用公开协议,比如J1850、KWP,ISO9141、STD CAN等协议类型。汽车ECU是实时诊断并记录诊断结果的,OBD诊断头与汽车ECU通信获取其中的故障码,数据流,冻结帧,所说的冻结帧是指在汽车ECU检测到故障时汽车ECU存储当前的数据流信息,以到其诊断汽车故障的目的。

S204、接收智能终端发送的诊断命令并进行解析。

S206、根据诊断命令,通过链路层协议从汽车ECU获取诊断结果并解析。

S208、将解析出的诊断结果通过蓝牙通讯模块发送给智能终端。

其中,诊断结果包括但不限于故障码、数据流、冻结帧、汽车ECU信息、和/或氧传感器信息中的一种或者任意多种的组合。

作为本实施例的另一种优选方案,步骤S202之前还包括:判断版本是否需要升级,如果需要,则从智能终端获取升级文件进行升级。具体来说,智能终端可以从互联网上获取最新版本的诊断程序,当OBD诊断头检测到自己的诊断程序版本与智能终端上不一致时,则从智能终端上获取最新版本的升级文件进行升级,这样确保了OBD诊断头能同步到最新版本。

作为本实施例的又一种优选方案,步骤S202之前还包括:判断是否与智能终端建立通信连接,如果没有,则进入睡眠模式。具体来说,蓝牙断开时在CPU IO口产生的上升沿信号,来触发CPU中断进而睡眠,当蓝牙连接时在其特定IO口同样也产生上升沿型号,当MCU配置成此上升沿唤醒时,只要有连接信号来时,则会自动唤醒。当诊断头和智能终端没有建立通信连接时,关掉所有链路通讯的电源,并使得MCU进入睡眠模式,因而能达到待机电流低于5mA,这样可以降低功耗,节省能量,有利于在汽车上长期待机。

如图3所示,本发明公开了一种实现汽车诊断的装置,该装置应用于智能终端上,包括以下模块:

连接建立模块101,用于通过蓝牙模块与OBD诊断头建立通信连接;

命令发送模块102,用于向OBD诊断头发送诊断命令;

接收模块103,用于接收OBD诊断头从汽车ECU获取的诊断结果;

显示模块104,用于将诊断结果显示屏幕上。

优选地,该装置还包括同步模块,用于接收到诊断头的升级请求时,向诊断头发送版本升级文件。

如图4所示,本发明公开了一种实现汽车诊断的装置,该装置应用于ODB诊断头,包括以下模块:

链路建立模块201,用于通过轮询ODB链路层协议确定进入汽车ECU的链路层协议;

命令解析模块202,用于接收智能终端发送的诊断命令并进行解析;

诊断结果获取模203,用于根据诊断命令,通过链路层协议从汽车ECU获取诊断结果并解析;

诊断结果发送模块204,用于将解析的诊断结果通过蓝牙通讯模块发送给智能终端。

作为本实施例的又一种优选方案,该装置还包括升级模块205,用于当版本是否需要升级时,从智能终端获取升级文件进行升级。具体来说,智能终端可以从互联网上获取最新版本的诊断程序,当OBD诊断头检测到自己的诊断程序版本与智能终端上不一致时,则从智能终端上获取最新版本的升级文件进行升级,这样确保了OBD诊断头能同步到最新版本。

作为本实施例的又一种优选方案,该装置还包括睡眠模块206,用于当诊断头没有与智能终端建立通信连接时,进入睡眠模式。具体来说,蓝牙断开时在CPU IO口产生的上升沿信号,来触发CPU中断进而睡眠,当蓝牙连接时在其特定IO口同样也产生上升沿型号,当MCU配置成此上升沿唤醒时,只要有连接信号来时,则会自动唤醒。当诊断头和智能终端没有建立通信连接时,关掉所有链路通讯的电源,并使得MCU进入睡眠模式,因而能达到待机电流低于5mA,这样可以降低功耗,节省能量,有利于在汽车上长期待机。

如图5所示,本发明公开了一种实现汽车诊断的系统,包括汽车ECU30、诊断头20和智能终端10,OBD诊断头通过蓝牙模块与智能终端10进行通讯,OBD诊断头20通过OBD协议与汽车ECU30进行通讯,其中:

智能终端10,用于通过蓝牙模块与OBD诊断头建立通信连接,向OBD诊断头发送诊断命令;还用于接收OBD诊断头从汽车ECU获取的诊断结果,将诊断结果显示屏幕上。

OBD诊断头20,用于通过轮询ODB链路层协议确定进入汽车ECU的链路层协议;还用于接收智能终端发送的诊断命令并进行解析,根据诊断命令,通过链路层协议从汽车ECU获取诊断结果并解析;将解析的诊断结果通过蓝牙通讯模块发送给智能终端。

汽车ECU30,用于实时诊断并记录诊断结果。

其中,诊断结果包括故障码、数据流、冻结帧、汽车ECU信息、和/或氧传感器信息等其它传感器的信息。

作为本实施例的又一种优选方案,智能终端为Android操作系统、IOS操作系统、或者WINDOWS操作系统的智能终端。比如苹果的Iphone。

本发明提供的实现汽车诊断的方法、装置和智能终端,通过智能终端向OBD诊断头发送诊断命名,OBD诊断头从汽车ECU获取诊断结果解析后返回给智能终端,使得用户能更加快速方便地对汽车故障的诊断,节省了用户的时间成本和经济成本,增强了用户体验;同时,智能终端和ODB诊断头通过蓝牙通信一应一答,少了中间通信环节,且接收方式采用MCU的直接内存去存方式,提高了CPU利用率和速度。此外,诊断头还能通过智能终端自动升级确保同步到最新版本,并在不与智能终端连接是进入睡眠模式以节省能耗。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1