汽车总线通信方法及系统、远程终端、汽车诊断设备与流程

文档序号:17896232发布日期:2019-06-13 16:00阅读:247来源:国知局
汽车总线通信方法及系统、远程终端、汽车诊断设备与流程

本发明涉及汽车can总线技术领域,具体而言,涉及一种汽车总线通信方法、一种汽车总线通信系统、一种远程终端、另一种汽车总线通信方法、另一种汽车总线通信系统、一种汽车诊断设备及一种计算机可读存储介质。



背景技术:

现代汽车工业发展,引入了汽车can(controllerareanetwork,控制器局域网络)总线技术,该总线在满足汽车分布式系统级通信的基础上,同时建立了汽车总线通信、诊断及刷新的功能,目前已经广泛应用。

但是随着现代汽车的工程研发的速度不断加快,一个新车型的研发周期几乎缩减了一半,这就对控制器ecu(electroniccontrolunit,电子控制单元)开发带来了挑战。目前传统的技术都是基于“现场”在车内或者台架进行问题排查,如果在整车测试过程中出现问题就必须由供应商直接奔赴现场如(研发中心、路试基地、生产线、4s店),即使赶到现场可能问题也无法再次复现。奔赴现场的时间大大延长了问题解决的时间,对于偶发性问题经常还无法捕获。

汽车总线通信是有一套非常严格的时间规则,如果在现场直接通过vci设备通过usb、wifi等近场通信技术可以满足实时性要求,但是如果进行远程通信,例如通过2g/3g/4g网传输,现有协议始终会有空中转发时间的延迟,导致通信超时或不能满足汽车现场诊断的实时性要求。



技术实现要素:

本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。

为此,本发明的第一方面在于,提出一种汽车总线通信方法。

本发明的第二方面在于,提出一种汽车总线通信系统。

本发明的第三方面的在于,提出一种远程终端。

本发明的第四方面在于,提出另一种汽车总线通信方法。

本发明的第五方面在于,提出另一种汽车总线通信系统。

本发明的第六方面在于,提出一种汽车诊断设备。

本发明的第七方面在于,提出一种计算机可读存储介质。

有鉴于此,根据本发明的第一方面,提供了一种汽车总线通信方法,用于远程终端,包括:发送诊断数据至服务器,以供服务器将诊断数据发送至汽车诊断设备,以令汽车诊断设备根据诊断数据采集反馈信息;从发送诊断数据的时刻开始计时,达到预设时长后将当前时刻作为发送时刻;接收服务器发送的反馈信息,反馈信息由汽车诊断设备发送至服务器。

本发明通过采用延时策略,在发送诊断数据达到预设时长以后才将当前时刻作为发送时刻,可以对远程通信的转发延迟进行补偿,避免了远程终端因无法及时收到响应造成回复超时,进而导致通信失败,使远程终端得以顺利接收到服务器回传的反馈信息。本发明提供的应用于远程终端的汽车总线通信方法,通过“预延时”机制,建立虚拟“实时”总线通信,解决了远程通信的实时性问题。

另外,根据本发明提供的上述技术方案中的汽车总线通信方法,还可以具有如下附加技术特征:

在上述技术方案中,优选地,预设时长大于或等于最大时延,最大时延是在当前远程通信环境下从发送诊断数据到接收反馈信息所经历的时长的最大值。

在该技术方案中,通过限定预设时长大于或等于在当前远程通信环境下远程终端从发送诊断数据到接收反馈信息所经历的时长的最大值,即延长了发送诊断数据的确认时间,给远程通信留出了通信时间,充分保证远程终端在通信协议要求的时间内获得响应,从而建立了远程终端和汽车诊断设备之间的虚拟“实时”总线通信。

在上述任一技术方案中,优选地,反馈信息包括反馈数据和时间戳,时间戳用于标识采集反馈数据的时刻;在接收服务器发送的反馈信息的操作之后,还包括:判断时间戳是否早于或等于预计反馈时刻,若是,则判定反馈信息未超时。

在该技术方案中,一方面具体限定了反馈信息包括反馈数据及其时间戳。反馈数据作为响应于诊断数据采集的汽车运行数据,可作为汽车研发和测试过程中诊断汽车控制器的依据,以便据此排查汽车问题;时间戳标识了采集反馈数据的时刻,可以使远程终端获得真实的数据信息,使得测试结果更可靠。另一方面,进一步将时间戳与预设反馈时刻相比较,作为判断响应是否超时的依据。时间戳准确地反映了汽车诊断设备对诊断数据的响应情况,故而通过时间戳来判断是否存在响应超时,完全符合汽车总线通信协议的要求,使测试结果真实可靠。

在上述任一技术方案中,优选地,在发送诊断数据至服务器的操作之后,还包括:记录发送诊断数据的时刻,作为实际发送时刻;计算预计反馈时刻,预计反馈时刻是实际发送时刻加上协议响应时长和预设时延所得的时刻;其中,协议响应时长是汽车总线通信协议规定的响应时长,预设时延是在当前远程通信环境下诊断数据从远程终端发送至汽车诊断设备预计所需的时长。

在该技术方案中,具体限定了预计反馈时刻的确定方案。应用该方案可以理论上反映出汽车诊断设备在正常通信的状态下采集到反馈信息的最晚时刻,再将算得的预计反馈时刻与时间戳相对比,即可判定出是否存在响应超时,提高了超时判断的便捷度和准确度。

在上述任一技术方案中,优选地,预设时延是在当前远程通信环境下数据从网络一端传送到另一端所需的时长的最大值;或预设时延是远程终端接收到服务器发送的反馈信息的时刻与时间戳的时间差。

在该技术方案中,具体限定了两种预设时延的确定方案。一种是将当前远程通信环境下数据从网络一端(即发送端)传送至另一端(即接收端)所需的最大时长作为预设时延,该方案下预设时延仅考虑当前远程通信技术的传递能力上限,设置方法简单、便捷且具有通用性,提高了系统的运行效率。另一种是计算远程终端接收到回传的反馈信息的时刻与时间戳的时间差作为预设时延,换言之,是以回传过程的时延替代发送过程的时延,由此得到的预设时延趋近于在当前远程通信环境下诊断数据从远程终端发送至汽车诊断设备的实际时延,提高了计算结果的准确度,进而提高了超时判断的准确度。

根据本发明的第二方面,提供了一种汽车总线通信系统,用于远程终端,包括:远程发送模块,用于发送诊断数据至服务器,以供服务器将诊断数据发送至汽车诊断设备,以令汽车诊断设备根据诊断数据采集反馈信息;驱动模块,用于从发送诊断数据的时刻开始计时,达到预设时长后将当前时刻作为发送时刻;远程接收模块,用于接收服务器发送的反馈信息,反馈信息由汽车诊断设备发送至服务器。

本发明通过驱动模块采用延时策略,在发送诊断数据达到预设时长以后才将当前时刻作为发送时刻,可以对远程通信的转发延迟进行补偿,避免了远程终端因无法及时收到响应造成回复超时,进而导致通信失败,使远程接收模块得以顺利接收到服务器回传的反馈信息。本发明提供的应用于远程终端的汽车总线通信系统,通过“预延时”机制,建立虚拟“实时”总线通信,解决了远程通信的实时性问题。

在上述技术方案中,优选地,预设时长大于或等于最大时延,最大时延是在当前远程通信环境下从发送诊断数据到接收反馈信息所经历的时长的最大值。

在该技术方案中,通过限定预设时长大于或等于在当前远程通信环境下远程终端从发送诊断数据到接收反馈信息所经历的时长的最大值,即延长了发送诊断数据的确认时间,给远程通信留出了通信时间,充分保证远程终端在通信协议要求的时间内获得响应,从而建立了远程终端和汽车诊断设备之间的虚拟“实时”总线通信。

在上述任一技术方案中,优选地,反馈信息包括反馈数据和时间戳,时间戳用于标识采集反馈数据的时刻;汽车总线通信系统还包括:判断模块,用于判断时间戳是否早于或等于预计反馈时刻,若是,则激活判定模块;判定模块,用于判定反馈信息未超时。

在该技术方案中,一方面具体限定了反馈信息包括反馈数据及其时间戳。反馈数据作为响应于诊断数据采集的汽车运行数据,可作为汽车研发和测试过程中诊断汽车控制器的依据,以便据此排查汽车问题;时间戳标识了采集反馈数据的时刻,可以使远程终端获得真实的数据信息,使得测试结果更可靠。另一方面,进一步利用判断模块将时间戳与预设反馈时刻相比较,作为判定模块判断响应是否超时的依据。时间戳准确地反映了汽车诊断设备对诊断数据的响应情况,故而通过时间戳来判断是否存在响应超时,完全符合汽车总线通信协议的要求,使测试结果真实可靠。

在上述任一技术方案中,优选地,还包括:记录模块,用于记录发送诊断数据的时刻,作为实际发送时刻;计算模块,用于计算预计反馈时刻,预计反馈时刻是实际发送时刻加上协议响应时长和预设时延所得的时刻;其中,协议响应时长是汽车总线通信协议规定的响应时长,预设时延是在当前远程通信环境下诊断数据从远程终端发送至汽车诊断设备预计所需的时长。

在该技术方案中,具体限定了预计反馈时刻的确定方案。应用该方案可以理论上反映出汽车诊断设备在正常通信的状态下采集到反馈信息的最晚时刻,再由判断模块将算得的预计反馈时刻与时间戳相对比,判定模块即可判定出是否存在响应超时,提高了超时判断的便捷度和准确度。

在上述任一技术方案中,优选地,预设时延是在当前远程通信环境下数据从网络一端传送到另一端所需的时长的最大值;或预设时延是远程终端接收到服务器发送的反馈信息的时刻与时间戳的时间差。

在该技术方案中,具体限定了两种预设时延的确定方案。一种是将当前远程通信环境下数据从网络一端(即发送端)传送至另一端(即接收端)所需的最大时长作为预设时延,该方案下预设时延仅考虑当前远程通信技术的传递能力上限,设置方法简单、便捷且具有通用性,提高了系统的运行效率。另一种是计算远程终端接收到回传的反馈信息的时刻与时间戳的时间差作为预设时延,换言之,是以回传过程的时延替代发送过程的时延,由此得到的预设时延趋近于在当前远程通信环境下诊断数据从远程终端发送至汽车诊断设备的实际时延,提高了计算结果的准确度,进而提高了超时判断的准确度。

根据本发明的第三方面,提供了一种远程终端,远程终端包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面的任一技术方案所述的方法的步骤。

本发明提供的远程终端,在处理器执行计算机程序时可实现上述第一方面的任一技术方案所述的汽车总线通信方法,因而具备上述第一方面的任一技术方案所述的汽车总线通信方法的全部技术效果,在此不再赘述。

在上述技术方案中,优选地,远程终端上安装有虚拟终端驱动和汽车总线测试软件,虚拟终端驱动用于驱动汽车总线测试软件。

在该技术方案中,通过在远程终端上安装虚拟终端驱动及汽车总线测试软件,远程设备上可虚拟一个终端,形成虚拟设备,该虚拟设备和直连设备一样可被专业的汽车总线测试软件调用,使得远程终端可与相应的服务器相连接,而不必使用专门的直连设备。远程终端和汽车诊断设备同时与服务器相连,汽车诊断设备又与汽车进行总线通信,从而实现了远程终端和汽车通过服务器进行总线通信,为汽车远程测试提供了硬件基础。

根据本发明的第四方面,提供了一种汽车总线通信方法,用于汽车诊断设备,与上述第一方面中任一技术方案所述的汽车总线通信方法相配合,包括:接收服务器发送的诊断数据;根据诊断数据采集反馈信息;发送反馈信息至服务器,以供服务器将反馈信息发送至远程终端。

本发明提供的用于汽车诊断设备的汽车总线通信方法,可接收来自服务器的诊断数据,该诊断数据最初由远程终端发送,继而根据诊断数据向汽车采集反馈信息,最后将采集的反馈信息回传至服务器,以供服务器将之回传给远程终端,其与第一方面所述的用于远程终端的汽车总线通信方法相结合,可建立虚拟“实时”总线通信,解决了远程通信的实时性问题。

在上述技术方案中,优选地,根据诊断数据采集反馈信息的步骤包括:将诊断数据转化成总线通信数据;发送总线通信数据至汽车总线上,汽车总线与至少一个控制器相连接;采集反馈信息,反馈信息是与诊断数据相对应的控制器的回传信息或汽车总线上的全部信息。

在该技术方案中,具体限定了反馈信息的采集过程,实现了对汽车控制器的数据采集,有助于远程终端根据得到的反馈信息对汽车进行测试和诊断。针对反馈信息,可以是与诊断数据相对应的回传信息,以减少回传信息量,并使反馈信息具有针对性,还可以是汽车总线上的全部信息,使得远程终端可以充分获取汽车的运行参数,有助于全方位了解汽车状况,还可将之作为辅助条件,使测试和诊断的结果更准确。

在上述任一技术方案中,优选地,在接收服务器发送的诊断数据的步骤之前,还包括:设置与控制器的心跳响应时间,心跳响应时间满足与控制器的传输协议。

在该技术方案中,由于控制器和汽车诊断设备通信时,会向汽车诊断设备发送心跳报文,为了保证诊断通信满足控制器的要求,需要在汽车诊断设备模拟正常传输的协议,通过协议允许的延时机制可适当延长心跳响应时间,来使得控制器认知汽车诊断设备始终在线。

在上述任一技术方案中,优选地,反馈信息包括反馈数据和时间戳,时间戳用于标识采集反馈数据的时刻。

在该技术方案中,具体限定了反馈信息包括反馈数据及其时间戳。在汽车通信上数据和时间都是非常重要的信息,反馈数据作为响应于诊断数据采集的汽车运行数据,可作为汽车研发和测试过程中诊断汽车控制器的依据,以便据此排查汽车问题;时间戳标识了采集反馈数据的时刻,可以使远程终端获得真实的数据信息,使得测试结果更可靠。

根据本发明的第五方面,提供了一种汽车总线通信系统,用于汽车诊断设备,与上述第二方面的任一技术方案所述的汽车总线通信系统相配合,包括:设备接收模块,用于接收服务器发送的诊断数据;采集模块,用于根据诊断数据采集反馈信息;设备发送模块,用于发送反馈信息至服务器,以供服务器将反馈信息发送至远程终端。

本发明提供的用于汽车诊断设备的汽车总线通信系统,设备接收模块可接收来自服务器的诊断数据,该诊断数据最初由远程终端发送,采集模块根据诊断数据向汽车采集反馈信息,最后由设备发送模块将采集的反馈信息回传至服务器,以供服务器将之回传给远程终端,其与第二方面所述的用于远程终端的汽车总线通信系统相结合,可建立虚拟“实时”总线通信,解决了远程通信的实时性问题。

在上述技术方案中,优选地,采集模块包括:转化单元,用于将诊断数据转化成总线通信数据;发送单元,用于发送总线通信数据至汽车总线上,汽车总线与至少一个控制器相连接;采集单元,用于采集反馈信息,反馈信息是与诊断数据相对应的回传信息或汽车总线上的全部信息。

在该技术方案中,具体限定了采集模块,实现了对汽车控制器的数据采集,有助于远程终端根据得到的反馈信息对汽车进行测试和诊断。针对反馈信息,可以是与诊断数据相对应的回传信息,以减少回传信息量,并使反馈信息具有针对性,还可以是汽车总线上的全部信息,使得远程终端可以充分获取汽车的运行参数,有助于全方位了解汽车状况,还可将之作为辅助条件,使测试和诊断的结果更准确。

在上述任一技术方案中,优选地,还包括:设置模块,用于设置与控制器的心跳响应时间,心跳响应时间满足与控制器的传输协议。

在该技术方案中,由于控制器和汽车诊断设备通信时,会向汽车诊断设备发送心跳报文,为了保证诊断通信满足控制器的要求,需要在汽车诊断设备模拟正常传输的协议,设置单元通过协议允许的延时机制可适当延长心跳响应时间,来使得控制器认知汽车诊断设备始终在线。

在上述任一技术方案中,优选地,反馈信息包括反馈数据和时间戳,时间戳用于标识采集反馈数据的时刻。

在该技术方案中,具体限定了反馈信息包括反馈数据及其时间戳。反馈数据作为响应于诊断数据采集的汽车运行数据,可作为汽车研发和测试过程中诊断汽车控制器的依据,以便据此排查汽车问题;时间戳标识了采集反馈数据的时刻,可以使远程终端获得真实的数据信息,使得测试结果更可靠。

根据本发明的第六方面,提供了一种汽车诊断设备,所述汽车诊断设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第四方面的任一技术方案所述的方法的步骤。

本发明提供的远程终端,在处理器执行计算机程序时可实现上述第四方面的任一技术方案所述的汽车总线通信方法,因而具备上述第四方面的任一技术方案所述的汽车总线通信方法的全部技术效果,在此不再赘述。

根据本发明的第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第四方面中任一技术方案所述的方法的步骤。

本发明提供的计算机可读存储介质,在计算机程序被处理器执行时可实现上述第一方面或第四方面的任一技术方案所述的汽车总线通信方法,因而具备上述第一方面或第四方面的任一技术方案所述的汽车总线通信方法的全部技术效果,在此不再赘述。

本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1示出了根据本发明第一方面的第一个实施例的汽车总线通信方法的示意流程图;

图2示出了根据本发明第一方面的第二个实施例的汽车总线通信方法的示意流程图;

图3示出了根据本发明第一方面的第三个实施例的汽车总线通信方法的示意流程图;

图4示出了根据本发明第二方面的第一个实施例的汽车总线通信系统的示意框图;

图5示出了根据本发明第二方面的第二个实施例的汽车总线通信系统的示意框图;

图6示出了根据本发明第二方面的第三个实施例的汽车总线通信系统的示意框图;

图7示出了根据本发明第三方面的一个实施例的远程终端的结构示意图;

图8示出了根据本发明第四方面的第一个实施例的汽车总线通信方法的示意流程图;

图9示出了根据本发明第四方面的第二个实施例的汽车总线通信方法的示意流程图;

图10示出了根据本发明第四方面的第三个实施例的汽车总线通信方法的示意流程图;

图11示出了根据本发明第五方面的第一个实施例的汽车总线通信系统的示意框图;

图12示出了根据本发明第五方面的第二个实施例的汽车总线通信系统的示意框图;

图13示出了根据本发明第五方面的第三个实施例的汽车总线通信系统的示意框图;

图14示出了根据本发明第六方面的一个实施例的汽车诊断设备的结构示意图;

图15示出了根据本发明的一个实施例的基于无线远程技术的云端虚拟汽车can总线通信系统的结构示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

本发明第一方面的实施例提供了一种汽车总线通信方法,用于远程终端。

图1示出了根据本发明第一方面的第一个实施例的汽车总线通信方法的示意流程图。如图1所示,该汽车总线通信方法包括:

步骤s102,发送诊断数据至服务器,以供服务器将诊断数据发送至汽车诊断设备,以令汽车诊断设备根据诊断数据采集反馈信息;

步骤s104,从发送诊断数据的时刻开始计时,达到预设时长后将当前时刻作为发送时刻;

步骤s106,接收服务器发送的反馈信息,反馈信息由汽车诊断设备发送至服务器。

本发明提供的应用于远程终端的汽车总线通信方法,通过“预延时”机制,建立虚拟“实时”总线通信,解决了远程通信的实时性问题,可帮助工程师在异地建立一个如同在现场的类似环境。本方法基于汽车总线通信协议,具体而言,为汽车can总线的通信协议,该协议要求正常的总线诊断通信在发出请求之后,要在50ms内进行响应,发送端如在50ms内无法获得响应或者请求等待即认为通信失败,而本方法发送的诊断数据经由服务器送至整车现场的汽车诊断设备,采用的远程通信存在空中转发延迟,例如通过4g传输的时延至少在300-500ms,往往无法满足50ms的响应需求。通过采用延时策略,在发送诊断数据达到预设时长以后才将当前时刻作为发送时刻,可以对远程通信的转发延迟进行补偿,避免了远程终端因无法及时收到响应造成回复超时,进而导致通信失败,使远程终端得以顺利接收到服务器回传的反馈信息。具体地,远程终端为pc(personalcomputer,个人计算机)端,服务器为云端服务器。

在本发明的一个实施例中,优选地,预设时长大于或等于最大时延,最大时延是在当前远程通信环境下从发送诊断数据到接收反馈信息所经历的时长的最大值。

在该实施例中,通过限定预设时长大于或等于在当前远程通信环境下远程终端从发送诊断数据到接收反馈信息所经历的时长的最大值,即延长了发送诊断数据的确认时间,给远程通信,如4g网络,留出了通信时间,充分保证远程终端在通信协议要求的50ms内获得响应,从而建立了远程终端和汽车诊断设备之间的虚拟“实时”总线通信。

在本发明的一个实施例中,优选地,反馈信息包括反馈数据和时间戳,时间戳用于标识采集反馈数据的时刻。

在该实施例中,具体限定了反馈信息包括反馈数据及其时间戳。在汽车通信上数据和时间都是非常重要的信息,反馈数据作为响应于诊断数据采集的汽车运行数据,可作为汽车研发和测试过程中诊断汽车控制器的依据,以便据此排查汽车问题;时间戳标识了采集反馈数据的时刻,可以使远程终端获得真实的数据信息,使得测试结果更可靠。远程终端与汽车诊断设备建立起虚拟“实时”总线通信后,工程师可通过远程终端发出与具体的诊断目标相对应的诊断数据,作为检测指令,再结合相应的反馈信息实现远程直接排查,立刻抓到问题点,提升了研发效率。同时让汽车研发工程师、整车厂的工程师可以不用到现场就直接监视总线信息,排查问题,甚至直接远程更新软件、修复软件问题,降低了出差成本和时间。

图2示出了根据本发明第一方面的第二个实施例的汽车总线通信方法的示意流程图。如图2所示,该汽车总线通信方法包括:

步骤s202,发送诊断数据至服务器,以供服务器将诊断数据发送至汽车诊断设备,以令汽车诊断设备根据诊断数据采集反馈信息;

步骤s204,从发送诊断数据的时刻开始计时,达到预设时长后将当前时刻作为发送时刻;

步骤s206,接收服务器发送的反馈信息,反馈信息由汽车诊断设备发送至服务器;

步骤s208,判断时间戳是否早于或等于预计反馈时刻,若是,则转到步骤s210,若否,则转到步骤s212;

步骤s210,判定反馈信息未超时;

步骤s212,判定反馈信息超时。

在该实施例中,进一步将时间戳与预设反馈时刻相比较,作为判断响应是否超时的依据。虽然预设时长的设置保证了远程终端始终可以收到反馈信息,但仍然可能预设时长过程造成的响应确实超时而被认为未超时的情况,即出现漏判,而时间戳准确地反映了汽车诊断设备对诊断数据的响应情况,故而通过时间戳来判断是否存在响应超时,完全符合汽车总线通信协议的要求,使测试结果真实可靠。

图3示出了根据本发明第一方面的第三个实施例的汽车总线通信方法的示意流程图。如图3所示,该汽车总线通信方法包括:

步骤s302,发送诊断数据至服务器,以供服务器将诊断数据发送至汽车诊断设备,以令汽车诊断设备根据诊断数据采集反馈信息;

步骤s304,记录发送诊断数据的时刻,作为实际发送时刻;

步骤s306,从发送诊断数据的时刻开始计时,达到预设时长后将当前时刻作为发送时刻;

步骤s308,接收服务器发送的反馈信息,反馈信息由汽车诊断设备发送至服务器;

步骤s310,计算预计反馈时刻,预计反馈时刻是实际发送时刻加上协议响应时长和预设时延所得的时刻;其中,协议响应时长是汽车总线通信协议规定的响应时长,预设时延是在当前远程通信环境下诊断数据从远程终端发送至汽车诊断设备预计所需的时长。

步骤s312,判断时间戳是否早于或等于预计反馈时刻,若是,则转到步骤s314,若否,则转到步骤s316;

步骤s314,判定反馈信息未超时;

步骤s316,判定反馈信息超时。

在该实施例中,具体限定了预计反馈时刻的确定方案。以记录的诊断数据实际发送时刻为基础,再根据实际传输过程加上在当前远程通信环境下诊断数据从远程终端发送到汽车诊断设备预计所需的预设时延和汽车总线通信协议规定的协议响应时长,最终得到预计反馈时刻,可以理论上反映出汽车诊断设备在正常通信的状态下采集到反馈信息的最晚时刻,再将算得的预计反馈时刻与时间戳相对比,即可判定出是否存在响应超时,提高了超时判断的便捷度和准确度。

在本发明的一个实施例中,优选地,预设时延是在当前远程通信环境下数据从网络一端传送到另一端所需的时长的最大值;或预设时延是远程终端接收到服务器发送的反馈信息的时刻与时间戳的时间差。

在该实施例中,具体限定了两种预设时延的确定方案。一种是将当前远程通信环境下数据从网络一端(即发送端)传送至另一端(即接收端)所需的最大时长作为预设时延,该方案下预设时延仅考虑当前远程通信技术的传递能力上限,设置方法简单、便捷且具有通用性,提高了系统的运行效率。另一种是计算远程终端接收到回传的反馈信息的时刻与时间戳的时间差作为预设时延,换言之,是以回传过程的时延替代发送过程的时延,这两者的传输路径理论上一致,传递的数据大小虽略有不同,但在数据较小时该差异的影响可基本忽略,由此得到的预设时延趋近于在当前远程通信环境下诊断数据从远程终端发送至汽车诊断设备的实际时延,提高了计算结果的准确度,进而提高了超时判断的准确度。

本发明第二方面的实施例提供了一种汽车总线通信系统,用于远程终端。

图4示出了根据本发明第二方面的第一个实施例的汽车总线通信系统的示意框图。如图4所示,该汽车总线通信系统100包括:

远程发送模块102,用于发送诊断数据至服务器,以供服务器将诊断数据发送至汽车诊断设备,以令汽车诊断设备根据诊断数据采集反馈信息;

驱动模块104,用于从发送诊断数据的时刻开始计时,达到预设时长后将当前时刻作为发送时刻;

远程接收模块106,用于接收服务器发送的反馈信息,反馈信息由汽车诊断设备发送至服务器。

本发明提供的应用于远程终端的汽车总线通信系统100,通过“预延时”机制,建立虚拟“实时”总线通信,解决了远程通信的实时性问题,可帮助工程师在异地建立一个如同在现场的类似环境。本系统基于汽车总线通信协议,具体而言,为汽车can总线的通信协议,该协议要求正常的总线诊断通信在发出请求之后,要在50ms内进行响应,发送端如在50ms内无法获得响应或者请求等待即认为通信失败,而本系统由远程发送模块102发送的诊断数据经由服务器送至整车现场的汽车诊断设备,采用的远程通信存在空中转发延迟,例如通过4g传输的时延至少在300-500ms,往往无法满足50ms的响应需求。通过令驱动模块104采用延时策略,在发送诊断数据达到预设时长以后才将当前时刻作为发送时刻,可以对远程通信的转发延迟进行补偿,避免了远程终端因无法及时收到响应造成回复超时,进而导致通信失败,使远程接收模块106得以顺利接收到服务器回传的反馈信息。具体地,远程终端为pc端,服务器为云端服务器。

在本发明的一个实施例中,优选地,预设时长大于或等于最大时延,最大时延是在当前远程通信环境下从发送诊断数据到接收反馈信息所经历的时长的最大值。

在该实施例中,通过限定预设时长大于或等于在当前远程通信环境下远程终端从发送诊断数据到接收反馈信息所经历的时长的最大值,即延长了发送诊断数据的确认时间,给远程通信,如4g网络,留出了通信时间,充分保证远程终端在通信协议要求的50ms内获得响应,从而建立了远程终端和汽车诊断设备之间的虚拟“实时”总线通信。

在本发明的一个实施例中,优选地,反馈信息包括反馈数据和时间戳,时间戳用于标识采集反馈数据的时刻。

在该实施例中,具体限定了反馈信息包括反馈数据及其时间戳。在汽车通信上数据和时间都是非常重要的信息,反馈数据作为响应于诊断数据采集的汽车运行数据,可作为汽车研发和测试过程中诊断汽车控制器的依据,以便据此排查汽车问题;时间戳标识了采集反馈数据的时刻,可以使远程终端获得真实的数据信息,使得测试结果更可靠。远程终端与汽车诊断设备建立起虚拟“实时”总线通信后,工程师可通过远程终端发出与具体的诊断目标相对应的诊断数据,作为检测指令,再结合相应的反馈信息实现远程直接排查,立刻抓到问题点,提升了研发效率。同时让汽车研发工程师、整车厂的工程师可以不用到现场就直接监视总线信息,排查问题,甚至直接远程更新软件、修复软件问题,降低了出差成本和时间。

图5示出了根据本发明第二方面的第二个实施例的汽车总线通信系统的示意框图。如图5所示,该汽车总线通信系统200包括:

远程发送模块202,用于发送诊断数据至服务器,以供服务器将诊断数据发送至汽车诊断设备,以令汽车诊断设备根据诊断数据采集反馈信息;

驱动模块204,用于从发送诊断数据的时刻开始计时,达到预设时长后将当前时刻作为发送时刻;

远程接收模块206,用于接收服务器发送的反馈信息,反馈信息由汽车诊断设备发送至服务器;

判断模块208,用于判断时间戳是否早于或等于预计反馈时刻;

判定模块210,用于在判断模块208的判断结果为是时,判定反馈信息未超时,在判断模块208的判断结果为否时,判定反馈信息超时。

在该实施例中,进一步利用判断模块208将时间戳与预设反馈时刻相比较,作为判定模块210判断响应是否超时的依据。虽然预设时长的设置保证了远程终端始终可以收到反馈信息,但仍然可能预设时长过程造成的响应确实超时而被认为未超时的情况,即出现漏判,而时间戳准确地反映了汽车诊断设备对诊断数据的响应情况,故而通过时间戳来判断是否存在响应超时,完全符合汽车总线通信协议的要求,使测试结果真实可靠。

图6示出了根据本发明第二方面的第三个实施例的汽车总线通信系统的示意框图。如图6所示,该汽车总线通信系统300包括:

远程发送模块302,用于发送诊断数据至服务器,以供服务器将诊断数据发送至汽车诊断设备,以令汽车诊断设备根据诊断数据采集反馈信息;

记录模块304,用于记录发送诊断数据的时刻,作为实际发送时刻;

驱动模块306,用于从发送诊断数据的时刻开始计时,达到预设时长后将当前时刻作为发送时刻;

远程接收模块308,用于接收服务器发送的反馈信息,反馈信息由汽车诊断设备发送至服务器;

计算模块310,用于计算预计反馈时刻,预计反馈时刻是实际发送时刻加上协议响应时长和预设时延所得的时刻;其中,协议响应时长是汽车总线通信协议规定的响应时长,预设时延是在当前远程通信环境下诊断数据从远程终端发送至汽车诊断设备预计所需的时长。

判断模块312,用于判断时间戳是否早于或等于预计反馈时刻;

判定模块314,用于在判断模块312的判断结果为是时,判定反馈信息未超时,在判断模块312的判断结果为否时,判定反馈信息超时。

在该实施例中,具体限定了预计反馈时刻的确定方案。计算模块310以记录模块304记录的诊断数据实际发送时刻为基础,再根据实际传输过程加上在当前远程通信环境下诊断数据从远程终端发送到汽车诊断设备预计所需的预设时延和汽车总线通信协议规定的协议响应时长,最终得到预计反馈时刻,可以理论上反映出汽车诊断设备在正常通信的状态下采集到反馈信息的最晚时刻,再由判断模块312将算得的预计反馈时刻与时间戳相对比,判定模块314即可判定出是否存在响应超时,提高了超时判断的便捷度和准确度。

在本发明的一个实施例中,优选地,预设时延是在当前远程通信环境下数据从网络一端传送到另一端所需的时长的最大值;或预设时延是远程终端接收到服务器发送的反馈信息的时刻与时间戳的时间差。

在该实施例中,具体限定了两种预设时延的确定方案。一种是将当前远程通信环境下数据从网络一端(即发送端)传送至另一端(即接收端)所需的最大时长作为预设时延,该方案下预设时延仅考虑当前远程通信技术的传递能力上限,设置方法简单、便捷且具有通用性,提高了系统的运行效率。另一种是计算远程终端接收到回传的反馈信息的时刻与时间戳的时间差作为预设时延,换言之,是以回传过程的时延替代发送过程的时延,这两者的传输路径理论上一致,传递的数据大小虽略有不同,但在数据较小时该差异的影响可基本忽略,由此得到的预设时延趋近于在当前远程通信环境下诊断数据从远程终端发送至汽车诊断设备的实际时延,提高了计算结果的准确度,进而提高了超时判断的准确度。

本发明第三方面的实施例提供了一种远程终端。

图7示出了根据本发明第三方面的一个实施例的远程终端的结构示意图。如图7所示,本发明的一个实施例提供的远程终端40包括存储器42、处理器44及存储在存储器42上并可在处理器44上运行的计算机程序,处理器44执行计算机程序时实现如上述第一方面的任一实施例所述的汽车总线通信方法的步骤。

本发明提供的远程终端40,在处理器44执行计算机程序时可实现上述第一方面的任一实施例所述的汽车总线通信方法,因而具备上述第一方面的任一实施例所述的汽车总线通信方法的全部技术效果,在此不再赘述。

在本发明的一个实施例中,优选地,远程终端上安装有虚拟终端驱动和汽车总线测试软件,虚拟终端驱动用于驱动汽车总线测试软件。

在该实施例中,通过在远程终端上安装虚拟终端驱动及汽车总线测试软件,远程设备上可虚拟一个终端,形成虚拟设备,该虚拟设备和直连设备一样可被专业的汽车总线测试软件调用,使得远程终端可与相应的服务器相连接,而不必使用专门的直连设备。远程终端和汽车诊断设备同时与服务器相连,汽车诊断设备又与汽车进行总线通信,从而实现了远程终端和汽车通过服务器进行总线通信,为汽车远程测试提供了硬件基础。具体地,该虚拟终端驱动技术基于标准j2534,可用于pc、android、ios等各种平台。

本发明第四方面的实施例提供了一种汽车总线通信方法,用于汽车诊断设备,与上述第一方面的任一实施例所述的用于远程终端的汽车总线通信方法相配合。

图8示出了根据本发明第四方面的第一个实施例的汽车总线通信方法的示意流程图。如图8所示,该汽车总线通信方法包括:

步骤s402,接收服务器发送的诊断数据;

步骤s404,根据诊断数据采集反馈信息;

步骤s406,发送反馈信息至服务器,以供服务器将反馈信息发送至远程终端。

本发明提供的用于汽车诊断设备的汽车总线通信方法,可接收来自服务器的诊断数据,该诊断数据最初由远程终端发送,继而根据诊断数据向汽车采集反馈信息,最后将采集的反馈信息回传至服务器,以供服务器将之回传给远程终端,其与第一方面所述的用于远程终端的汽车总线通信方法相结合,可建立虚拟“实时”总线通信,解决了远程通信的实时性问题。具体地,汽车诊断设备为obd(on-boarddiagnostic,车载诊断系统)的诊断接口,远程终端为pc端,汽车诊断设备和远程终端共同构成诊断仪,服务器为云端服务器。

图9示出了根据本发明第四方面的第二个实施例的汽车总线通信方法的示意流程图。如图9所示,该汽车总线通信方法包括:

步骤s502,接收服务器发送的诊断数据;

步骤s504,将诊断数据转化成总线通信数据;

步骤s506,发送总线通信数据至汽车总线上,汽车总线与多个控制器相连接;

步骤s508,采集反馈信息,反馈信息是与诊断数据相对应的回传信息;

步骤s510,发送反馈信息至服务器,以供服务器将反馈信息发送至远程终端。

在该实施例中,具体限定了反馈信息的采集过程。首先将接收到的指令,即诊断数据转化成符合汽车总线通信协议的总线通信数据,再将该总线通信数据发送至汽车总线,具体而言,为汽车can总线,汽车总线与多个控制器相连接,与诊断数据相对应的控制器响应于该诊断信息,即回传相应的反馈信息,可减少回传信息量,并使反馈信息具有针对性,从而实现了对汽车控制器的数据采集,有助于远程终端根据得到的反馈信息对汽车进行测试和诊断。针对反馈信息,尽管说明书以与诊断数据相对应的回传信息为例进行了说明,但是反馈信息还可以是汽车总线上的全部信息,使得远程终端可以充分获取汽车的运行参数,有助于全方位了解汽车状况,还可将之作为辅助条件,使测试和诊断的结果更准确,这同样是本发明的实施方案,这些实现方式及其他可实现的方式对于本领域技术人员而言是显而易见的。

图10示出了根据本发明第四方面的第三个实施例的汽车总线通信方法的示意流程图。如图10所示,该汽车总线通信方法包括:

步骤s602,设置与控制器的心跳响应时间,心跳响应时间满足与控制器的传输协议;

步骤s604,接收服务器发送的诊断数据;

步骤s606,将诊断数据转化成总线通信数据;

步骤s608,发送总线通信数据至汽车总线上,汽车总线与多个控制器相连接;

步骤s610,采集反馈信息,反馈信息是与诊断数据相对应的回传信息;

步骤s612,发送反馈信息至服务器,以供服务器将反馈信息发送至远程终端。

在该实施例中,由于控制器和汽车诊断设备通信时,会向汽车诊断设备发送心跳报文,若在心跳响应时间内得到响应,则与汽车诊断设备保持通信,否则认为汽车诊断设备离线,随即中断通信。为了保证诊断通信满足控制器的要求,如诊断iso-14229(即uds,unifieddiagnosticservices,统一诊断服务)中的p2、p2*、s3,以及iso15765-2(道路车辆-can诊断)中的n_as、n_ar、n_bs、n_br、n_cs、n_cr,需要在汽车诊断设备模拟正常传输的协议,通过协议允许的延时机制可适当延长心跳响应时间,来使得控制器认知汽车诊断设备始终在线。换言之,当汽车诊断设备没有在汽车总线通信协议要求的时间内向控制器发出响应,汽车诊断设备就请求等待,即控制器可再等待心跳响应时间对应的时长,若超出该时长仍未响应,再中断通信。

在本发明的一个实施例中,优选地,反馈信息包括反馈数据和时间戳,时间戳用于标识采集反馈数据的时刻。

在该实施例中,具体限定了反馈信息包括反馈数据及其时间戳。在汽车通信上数据和时间都是非常重要的信息,反馈数据作为响应于诊断数据采集的汽车运行数据,可作为汽车研发和测试过程中诊断汽车控制器的依据,以便据此排查汽车问题;时间戳标识了采集反馈数据的时刻,可以使远程终端获得真实的数据信息,使得测试结果更可靠。远程终端与汽车诊断设备建立起虚拟“实时”总线通信后,工程师可通过远程终端发出与具体的诊断目标相对应的诊断数据,作为检测指令,再结合相应的反馈信息实现远程直接排查,立刻抓到问题点,提升了研发效率。同时让汽车研发工程师、整车厂的工程师可以不用到现场就直接监视总线信息,排查问题,甚至直接远程更新软件、修复软件问题,降低了出差成本和时间。具体地,由汽车诊断设备的底层iso-15765-2协议来实现通信。

本发明第五方面的实施例提供了一种汽车总线通信系统,用于汽车诊断设备,与上述第二方面的任一实施例所述的用于远程终端的汽车总线通信系统相配合。

图11示出了根据本发明第五方面的第一个实施例的汽车总线通信系统的示意框图。如图11所示,该汽车总线通信系统500包括:

设备接收模块502,用于接收服务器发送的诊断数据;

采集模块504,用于根据诊断数据采集反馈信息;

设备发送模块506,用于发送反馈信息至服务器,以供服务器将反馈信息发送至远程终端。

本发明提供的用于汽车诊断设备的汽车总线通信系统500,设备接收模块502可接收来自服务器的诊断数据,该诊断数据最初由远程终端发送,采集模块504根据诊断数据向汽车采集反馈信息,最后由设备发送模块506将采集的反馈信息回传至服务器,以供服务器将之回传给远程终端,其与第二方面所述的用于远程终端的汽车总线通信系统相结合,可建立虚拟“实时”总线通信,解决了远程通信的实时性问题。具体地,汽车诊断设备为obd(on-boarddiagnostic,车载诊断系统)的诊断接口,远程终端为pc端,汽车诊断设备和远程终端共同构成诊断仪,服务器为云端服务器。

图12示出了根据本发明第五方面的第二个实施例的汽车总线通信系统的示意框图。如图12所示,该汽车总线通信系统600包括:

设备接收模块602,用于接收服务器发送的诊断数据;

采集模块604,用于根据诊断数据采集反馈信息,包括:转化单元606,用于将诊断数据转化成总线通信数据;发送单元608,用于发送总线通信数据至汽车总线上,汽车总线与至少一个控制器相连接;采集单元610,用于采集反馈信息,反馈信息是与诊断数据相对应的回传信息;

设备发送模块612,用于发送反馈信息至服务器,以供服务器将反馈信息发送至远程终端。

在该实施例中,具体限定了采集模块604。采集模块604包括转化单元606、发送单元608和采集单元610,首先由转化单元606将接收到的指令,即诊断数据转化成符合汽车总线通信协议的总线通信数据,再由发送单元608将该总线通信数据发送至汽车总线,具体而言,为汽车can总线,汽车总线与多个控制器相连接,与诊断数据相对应的控制器响应于该诊断信息,即回传相应的反馈信息,可减少回传信息量,并使反馈信息具有针对性,从而实现了对汽车控制器的数据采集,有助于远程终端根据得到的反馈信息对汽车进行测试和诊断。针对反馈信息,尽管说明书以与诊断数据相对应的回传信息为例进行了说明,但是反馈信息还可以是汽车总线上的全部信息,使得远程终端可以充分获取汽车的运行参数,有助于全方位了解汽车状况,还可将之作为辅助条件,使测试和诊断的结果更准确,这同样是本发明的实施方案,这些实现方式及其他可实现的方式对于本领域技术人员而言是显而易见的。

图13示出了根据本发明第五方面的第三个实施例的汽车总线通信系统的示意框图。如图13所示,该汽车总线通信系统700包括:

设置模块702,用于设置与控制器的心跳响应时间,心跳响应时间满足与控制器的传输协议;

设备接收模块704,用于接收服务器发送的诊断数据;

采集模块706,用于根据诊断数据采集反馈信息,包括:转化单元708,用于将诊断数据转化成总线通信数据;发送单元710,用于发送总线通信数据至汽车总线上,汽车总线与至少一个控制器相连接;采集单元712,用于采集反馈信息,反馈信息是与诊断数据相对应的回传信息;

设备发送模块714,用于发送反馈信息至服务器,以供服务器将反馈信息发送至远程终端。

在该实施例中,由于控制器和汽车诊断设备通信时,会向汽车诊断设备发送心跳报文,若在心跳响应时间内得到响应,则与汽车诊断设备保持通信,否则认为汽车诊断设备离线,随即中断通信。为了保证诊断通信满足控制器的要求,如诊断iso-14229(即uds,unifieddiagnosticservices,统一诊断服务)中的p2、p2*、s3,以及iso15765-2(道路车辆-can诊断)中的n_as、n_ar、n_bs、n_br、n_cs、n_cr,需要在汽车诊断设备模拟正常传输的协议,设置单元702通过协议允许的延时机制可适当延长心跳响应时间,来使得控制器认知汽车诊断设备始终在线。换言之,当汽车诊断设备没有在汽车总线通信协议要求的时间内向控制器发出响应,汽车诊断设备就请求等待,即控制器可再等待心跳响应时间对应的时长,若超出该时长仍未响应,再中断通信。

在本发明的一个实施例中,优选地,反馈信息包括反馈数据和时间戳,时间戳用于标识采集反馈数据的时刻。

在该实施例中,具体限定了反馈信息包括反馈数据及其时间戳。在汽车通信上数据和时间都是非常重要的信息,反馈数据作为响应于诊断数据采集的汽车运行数据,可作为汽车研发和测试过程中诊断汽车控制器的依据,以便据此排查汽车问题;时间戳标识了采集反馈数据的时刻,可以使远程终端获得真实的数据信息,使得测试结果更可靠。远程终端与汽车诊断设备建立起虚拟“实时”总线通信后,工程师可通过远程终端发出与具体的诊断目标相对应的诊断数据,作为检测指令,再结合相应的反馈信息实现远程直接排查,立刻抓到问题点,提升了研发效率。同时让汽车研发工程师、整车厂的工程师可以不用到现场就直接监视总线信息,排查问题,甚至直接远程更新软件、修复软件问题,降低了出差成本和时间。具体地,由汽车诊断设备的底层iso-15765-2协议来实现通信。

本发明第六方面的实施例提供了一种汽车诊断设备。

图14示出了根据本发明第六方面的一个实施例的汽车诊断设备的结构示意图。如图14所示,本发明的一个实施例提供的汽车诊断设备80包括存储器82、处理器84及存储在存储器82上并可在处理器84上运行的计算机程序,处理器84执行计算机程序时实现如上述第四方面的任一实施例所述的汽车总线通信方法的步骤。

本发明提供的远程终端80,在处理器84执行计算机程序时可实现上述第四方面的任一实施例所述的汽车总线通信方法,因而具备上述第四方面的任一实施例所述的汽车总线通信方法的全部技术效果,在此不再赘述。

本发明第七方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面或第四方面的任一实施例所述的方法的步骤。

本发明提供的计算机可读存储介质,在计算机程序被处理器执行时可实现上述第一方面或第四方面的任一实施例所述的汽车总线通信方法,因而具备上述第一方面或第四方面的任一实施例所述的汽车总线通信方法的全部技术效果,在此不再赘述。

以上结合附图详细说明了本发明的技术方案,本发明提出了基于无线远程技术的云端虚拟汽车can总线通信方法,亦即一种基于云端服务器的汽车总线数据转发策略,补偿汽车总线通信的时间超时要求,攻克了远程与现场的实时汽车总线通信延迟问题,达到了在现场与通过远程进行作业的一致性。详细而言,首先,如图15所示,本发明基于现场的汽车诊断设备92、云端服务器94和远程终端(如pc端96)构成一个系统,在工程师现场通过如在pc端96发明的一个虚拟终端驱动,让汽车总线测试软件可以连接到虚拟终端上;虚拟终端与云端服务器94平台建立了通信链路,将工程通信诊断数据传递到云端服务器94,核心技术在虚拟终端通过延时策略达到远程通信的补偿,避免在虚拟终端的软件因无法及时收到响应造成回复超时,导致通信失败;云端服务器94将收到的数据传递给现场的汽车诊断设备92;汽车诊断设备92收到指令转化成总线通信数据发送到汽车98上,将回传的数据或者所有在总线上采集到的数据实时回传云端服务器94;云端服务器94再将实时收到的数据下发到pc端96。为了保证数据通信的实时性,在汽车诊断设备92采集端实时采集数据时间戳,pc端96上的软件通过回传现场数据的时间戳来判断超时以保证协议的一致性。此外,为了保证诊断通信满足控制器的要求,如诊断iso-14229中的p2、p2*、s3,以及iso15765-2中的n_as、n_ar、n_bs、n_br、n_cs、n_cr,需要在汽车诊断设备模拟正常传输的协议,并且通过一些协议允许的延时机制来使得控制器认知汽车诊断设备始终在线。通过这种技术可以实现两端同步,并且在此基础上实现远程控制器ecu的程序更新。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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