本发明涉及车辆,特别是涉及一种诊断数据传输方法、装置、电子设备、车辆及存储介质。
背景技术:
1、在通过通讯协议总线传输诊断数据时,发送节点的控制器将诊断数据发到通讯协议总线上,接收节点的控制器相应接收诊断数据。在这样的传输过程中,诊断数据的传输周期是不固定的,而是以事件形式进行发送的,相应的这种发送方式对应的接收方式是事件形式触发接收的,即只有诊断数据传输到接收节点的控制器时,接收节点的控制器才会进行接收。然而,这样的接收方式会受到连续诊断事件对应的诊断数据的接收时间间隔的影响,在接收节点的控制器对当前诊断事件对应的诊断数据还没完成接收时,若发送节点的控制器向其又发送另一诊断事件对应的诊断数据,有可能造成接收节点的控制器无法检测到另一诊断事件对应的触发事件,导致无法成功接收到另一诊断事件对应的诊断数据。
技术实现思路
1、本申请的目的在于提供一种诊断数据传输方法、装置、电子设备、车辆及存储介质,能够确保可接收多个连续诊断事件对应的多组诊断数据,提高了诊断数据传输的完整性和准确性。
2、为达到上述目的:
3、第一方面,本申请实施例提供了一种诊断数据传输方法,所述方法包括:
4、分别以事件触发形式和周期采样形式从通讯协议总线上读取诊断事件对应的诊断数据;
5、检测以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据是否一致;
6、确定以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据不一致时,输出以周期采样形式读取的诊断数据。
7、在一实施方式中,所述分别以事件触发形式和周期采样形式从通讯协议总线上读取诊断事件对应的诊断数据,包括:
8、判断是否从通讯协议总线上检测到诊断事件;
9、若是,则以事件触发形式读取所述诊断事件对应的诊断数据;
10、若否,则以周期采样形式读取诊断事件对应的诊断数据。
11、在一实施方式中,所述判断是否从通讯协议总线上检测到诊断事件,包括:
12、检测从通讯协议总线上接收到的数据帧中是否包含有诊断id,若是,则确定检测到诊断事件。
13、在一实施方式中,所述以周期采样形式读取所述诊断事件对应的诊断数据之前,还包括:
14、根据通讯协议总线上的诊断数据帧传输频率,确定以周期采样形式读取诊断数据的采样周期。
15、在一实施方式中,所述检测以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据是否一致之前,还包括:
16、判断以事件触发形式读取诊断事件对应的诊断数据所用时长是否大于或等于预设时间间隔;所述预设时间间隔用于表征以事件触发形式读取诊断数据的最大用时时长;
17、若是,则执行检测以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据是否一致的步骤。
18、在一实施方式中,所述诊断数据传输方法,还包括:确定以事件触发形式读取诊断事件对应的诊断数据所用时长小于所述预设时间间隔时,输出以事件触发形式读取的诊断数据。
19、第二方面,本申请实施例提供了一种诊断数据传输装置,包括:
20、读取模块,用于分别以事件触发形式和周期采样形式从通讯协议总线上读取诊断事件对应的诊断数据;
21、检测模块,检测以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据是否一致;
22、输出模块,确定以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据不一致时,输出以周期采样形式读取的诊断数据。
23、在一实施方式中,所述诊断数据传输装置,还包括:
24、判断模块,用于判断是否从通讯协议总线上检测到诊断事件。
25、所述读取模块,具体用于:
26、若是,则以事件触发形式读取所述诊断事件对应的诊断数据;
27、若否,则以周期采样形式读取诊断事件对应的诊断数据。
28、在一实施方式中,所述判断模块,具体用于:
29、检测从通讯协议总线上接收到的数据帧中是否包含有诊断id,若是,则确定检测到诊断事件。
30、在一实施方式中,所述诊断数据传输装置,还包括:
31、设置模块,用于根据通讯协议总线上诊断数据帧传输频率,确定以周期采样形式读取诊断数据的采样周期。
32、在一实施方式中,所述判断模块,还用于:
33、判断以事件触发形式读取诊断事件对应的诊断数据所用时长是否大于或等于预设时间间隔;所述预设时间间隔用于表征以事件触发形式读取诊断数据的最大用时时长。
34、在一实施方式中,所述检测模块,具体用于:
35、在所述以事件触发形式读取诊断事件对应的诊断数据所用时长大于或等于预设时间间隔时,执行检测以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据是否一致的步骤。
36、在一实施方式中,所述输出模块,具体用于:确定以事件触发形式读取诊断事件对应的诊断数据所用时长小于所述预设时间间隔时,输出以事件触发形式读取的诊断数据。
37、第三方面,本申请提供了一种电子设备,包括:处理器;
38、用于存储所述处理器可执行指令的存储器;
39、其中,所述处理器配置执行所述指令,以实现第一方面中任一项所述的诊断数据传输方法。
40、第四方面,本申请提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由处理器执行时,实现如第一方面中任一项所述的诊断数据传输方法。
41、第五方面,本申请提供了一种车辆,所述车辆包括第三方面所述的电子设备,其中通讯协议总线为can总线或lin总线。
42、本申请提供的诊断数据传输方法、装置、电子设备、车辆及存储介质,诊断数据传输方法包括:分别以事件触发形式和周期采样形式从通讯协议总线上读取诊断事件对应的诊断数据;检测以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据是否一致;确定以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据不一致时,输出以周期采样形式读取的诊断数据。本申请实施例提供的诊断数据传输方法,通过增加设置以周期采样形式从通讯协议总线上读取诊断事件对应的诊断数据,以在确定以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据不一致时,输出以周期采样形式读取的诊断数据,从而能够确保可接收多个连续诊断事件对应的多组诊断数据,提高了诊断数据传输的完整性和准确性。
1.一种诊断数据传输方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述分别以事件触发形式和周期采样形式从通讯协议总线上读取诊断事件对应的诊断数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述判断是否从通讯协议总线上检测到诊断事件,包括:
4.根据权利要求2所述的方法,其特征在于,所述以周期采样形式读取所述诊断事件对应的诊断数据之前,还包括:
5.根据权利要求1所述的方法,其特征在于,所述检测以事件触发形式读取的诊断数据与以周期采样形式读取的诊断数据是否一致之前,还包括:
6.根据权利要求5所述的方法,其特征在于,还包括:
7.一种诊断数据传输装置,其特征在于,包括:
8.一种电子设备,其特征在于,包括:
9.一种车辆,其特征在于,所述车辆包括如权利要求8所述的电子设备,其中通讯协议总线为can总线或lin总线。
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由处理器执行时,实现如权利要求1-6中任一项所述的诊断数据传输方法。
