通用型汽车诊断设备诊断的方法及装置
技术领域
本发明属于通信领域,尤其涉及一种通用型汽车诊断设备诊断的方法及装置。
背景技术
现有汽车电脑编程技术,都是汽车制造厂商针对原厂特定的汽车ECU设计的汽车电脑编程软件,通过该软件,经由USB或者无线网络等串行通信接口与VCI(汽车通信接口)设备建立连结,经由OBDII接口与汽车电脑进行双向通行,完成对汽车计算机的软件升级和诊断过程
现有的原厂仪编程设备具有以下缺点:
局限性:各汽车厂商的VCI设备只能完成对自己所生产的汽车计算机系统进行升级。
高价格:原厂VCI设备价格非常昂贵,1万到10万美元不等;
速度慢:各原厂的VCI设备大都使用比较成旧的计算机系统,硬件系统更新较慢。
发明内容
本发明实施例的目的在于提供一种通用型汽车诊断设备诊断的方法及装置,旨在解决现有的汽车诊断设备只能针对特定汽车型号的问题。
本发明实施例是这样实现的,一种通用型汽车诊断设备诊断的方法,所述方法包括:
当需要对汽车进行诊断或编程时,汽车诊断设备的主机通过待诊断汽车对应的通讯协议与所述汽车诊断设备的从机进行数据通讯,所述汽车诊断设备的主机通过API函数调用待诊断汽车对应的通讯协议与所述汽车诊断设备的从机进行数据通讯;通过API动态库调用PassthruOpen函数与从机建立通信的连接,调用Passthruclose函数与从机建立通信的断开。
进一步地,所述待诊断汽车的数据协议为PWM协议、VPM协议、KWP2000协议、ISO9141协议、EKWP2000协议或CAN-BUS协议。
进一步地,所述汽车诊断设备的主机通过待诊断汽车对应的通讯协议与所述汽车诊断设备的从机进行数据通讯包括:
判断所述汽车诊断设备的从机是否打开;
当所述汽车诊断设备的从机没有打开时,调用所述API函数打开所述汽车诊断设备的从机。
进一步地,在执行所述调用API函数打开所述汽车诊断设备的从机之后,还包括:
通过USB接口、蓝牙或WIFI传输所述汽车诊断设备的主机和从机之间的通讯数据。
本发明还提出一种通用型汽车诊断设备诊断的装置,所述装置包括主机和从机,其中,所述主机在汽车诊断设备需要对汽车进行诊断或编程时,通过待诊断汽车对应的通讯协议与所述汽车诊断设备的从机进行数据通讯,所述汽车诊断设备的主机通过API函数调用待诊断汽车对应的通讯协议与所述汽车诊断设备的从机进行数据通讯;通过API动态库调用PassthruOpen函数与从机建立通信的连接,调用Passthruclose函数与从机建立通信的断开。
进一步地,所述待诊断汽车的数据协议为PWM协议、VPM协议、KWP2000协议、ISO9141协议、EKWP2000协议或CAN-BUS协议。
进一步地,所述主机包括:
判断模块,用于判断所述从机是否打开;
调用模块,用于当所述从机没有打开时,调用所述API函数打开所述从机。
进一步地,所述装置还包括:
通讯模块,用于通过USB接口、蓝牙或WIFI传输所述主机和从机之间的通讯数据。
在本发明实施例中,汽车诊断设备为汽车诊断或编程时,可针对待诊断汽车型号,使用对应的通讯协议进行通讯。因此,本发明实施例的汽车诊断设备可适用于各种汽车型号,用户无需更换汽车诊断设备即可完成多种汽车型号的诊断或编程,给用户提供了方便。
附图说明
图1是本发明实施例一提供的通用型汽车诊断设备诊断的方法的流程图;
图2是本发明实施例一提供的通用型汽车诊断设备诊断的方法中步骤S1流程图;
图3本发明实施例二提供的通用型汽车诊断设备诊断的装置的结构图;
图4本发明实施例二提供的通用型汽车诊断设备诊断的装置中主机的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
本发明实施例一提供一种通用型汽车诊断设备诊断的方法。如图1所示,本发明实施例一的方法为:
步骤S1、当需要对汽车进行诊断或编程时,汽车诊断设备的主机通过待诊断汽车对应的通讯协议与所述汽车诊断设备的从机进行数据通讯。
如图2所示,步骤S1具体包括:
步骤S12、判断所述汽车诊断设备的从机是否打开,打开则进入步骤S14,否则进入步骤S13;
步骤S13、当所述汽车诊断设备的从机没有打开时,调用所述API函数打开所述汽车诊断设备的从机;
步骤S14、通过API动态库调用PassthruOpen函数与从机建立通信。此时汽车诊断设备通过API动态库以USB接口、蓝牙或WIFI等通信方式与进行交互,通知从机需要进行诊断或编程操作(要求诊断连结主线与汽车OBDII接口连结),根据不同的指令打开测试主线中的不同通路与汽车计算机系统进行交互,获取车辆信息和软件版本等相关信息。主机再根据上述信息询问预设的编程数据库服务器是否有相关的软件设计,如果有就下载到主机。
重复上述过程完成整个汽车系统的所有ECU的编程和诊断过程。本发明实施例一的所有与汽车计算机系统交互的指令都是通过主机向从机发送,主机将各汽车原厂仪的软件功能集成在一起,大大降低了用户的维修成本。
本发明实施例一的所有API列表如下所示:
在与从机通讯之前,首先调用PassThruOpen函数创建需要使用的设备的连结,然后调用PassThruConnect函数建立通信信道,最后设置与该通路相关的参数如时续参数、过滤器、波特率等。断开一个连结通路时调用PassThruDisconnect函数切断与汽车计算机系统的连结,当所有连结通路断开时需调用PassThruClose函数关闭与从机之间的连结,也可以直接调用PassThruClose关闭所有通信信道和设备。
本发明实施例一在汽车诊断设备上安装API动态库,集成了几乎所有汽车计算机系统的通讯协议,并通过API接口调用。本发明实施例一同时支持USB、有线网络和蓝牙等通信方式,并能根据连结的线缆实现通路的自动切换,以及通过打开从机建立主机与从机之间的连结和创建通信链路建立汽车计算机系统的通信信道。与现有技术相比,本发明提出的技术方案,不但具有通用性:,即能使用汽车诊断设备实现原厂仪所特有的功能,完成对汽车电脑的编程和诊断,且成本低,为用户使用大大地提供了方便。
实施例二
本发明实施例二提出一种通用型汽车诊断设备诊断的装置,该装置可以是汽车诊断设备本身,也可以是汽车诊断设备内接或外置的一装置。如图3所示,本发明实施例二的装置包括:
主机10和从机20,其中,所述主机10在汽车诊断设备需要对汽车进行诊断或编程时,通过待诊断汽车对应的通讯协议与从机20进行数据通讯。
如图4所示,所述主机10包括:
判断模块11,用于判断从机20是否打开;
调用模块12,用于当从机20没有打开时,调用API函数打开从机20。
通讯模块13,用于通过USB接口、蓝牙或WIFI传输主机10和从机20之间的通讯数据。
具体地,判断模块11首先判断从机20是否打开,当从机20没有打开时,调用模块12调用所述API函数打开从机20
调用模块12通过API动态库调用PassthruOpen函数与从机20建立通信。此时调用模块12通过API动态库通过通讯模块13以USB接口、蓝牙或WIFI等通信方式与进行交互,通知从机20需要进行诊断或编程操作(要求诊断连结主线与汽车OBDII接口连结),根据不同的指令打开测试主线中的不同通路与汽车计算机系统进行交互,获取车辆信息和软件版本等相关信息。主机10再根据上述信息询问预设的编程数据库服务器是否有相关的软件设计,如果有就下载到主机10。
重复上述过程完成整个汽车系统的所有ECU的编程和诊断过程。本发明实施例二的所有与汽车计算机系统交互的指令都是通过主机10通过API库向从机20发送,主机10将各汽车原厂仪的软件功能集成在一起,大大降低了用户的维修成本。
本发明实施例二预先设置了API动态库,在与从机20通讯之前,调用模块12首先调用PassThruOpen函数创建需要使用的设备的连结,然后调用PassThruConnect函数建立通信信道,最后设置与该通路相关的参数如时续参数、过滤器、波特率等。断开一个连结通路时调用PassThruDisconnect函数切断与汽车计算机系统的连结,当所有连结通路断开时需调用PassThruClose函数关闭与从机之间的连结,也可以直接调用PassThruClose关闭所有通信信道和设备。
本发明实施例二在汽车诊断设备上安装API动态库,集成了几乎所有汽车计算机系统的通讯协议,并通过API接口调用。本发明实施例二同时支持USB、有线网络和蓝牙等通信方式,并能根据连结的线缆实现通路的自动切换,以及通过打开从机建立主机与从机之间的连结和创建通信链路建立汽车计算机系统的通信信道。与现有技术相比,本发明提出的技术方案,不但具有通用性:,即能使用汽车诊断设备实现原厂仪所特有的功能,完成对汽车电脑的编程和诊断,且成本低,为用户使用大大地提供了方便。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。