诊断方法、诊断盒、电子控制单元、电子设备及存储介质与流程
- 国知局
- 2024-12-06 12:33:08
本技术涉及通信,尤其涉及一种诊断方法、诊断盒、电子控制单元、电子设备及存储介质。
背景技术:
1、电子控制单元(electronic control unit,ecu),又称为汽车的“行车电脑”,它们的用途就是控制汽车的行驶状态以及实现其各种功能。主要是利用各种传感器、总线的数据采集与交换,来判断车辆状态以及司机的意图并通过执行器来操控汽车,当前车辆上都装配了多个ecu,比如发动机ecu,波箱ecu等等。车辆诊断是指在不拆解车辆零件的条件下,通过读取车辆的相关数据,检测车辆出现的故障。
2、在进行车辆诊断时,车辆诊断设备通常需要通过诊断盒(vehicle communicationinterface,vci)与汽车ecu进行帧报文的交互。例如,车辆诊断设备通过vci将读取故障码功能的诊断请求发送给ecu,ecu接收并解析该诊断请求,执行读取故障码功能。然后,ecu通过vci向车辆诊断设备回复故障码帧数据。有的通信协议的帧大小是固定的,当诊断请求不满足一帧的字节数时,没有用到的字节会填充为无效字节,继续按一帧报文进行发送。
3、由于在车辆诊断时诊断请求的数量较多,单独发送每帧诊断请求就会增加大量无效字节以及帧头、帧尾校验等数据,造成资源的浪费,导致通信的效率较低。
技术实现思路
1、为了解决现有技术中存在的上述问题,本技术实施例提供了一种诊断方法、诊断盒、电子控制单元、电子设备及存储介质,通过将发送给同一ecu的诊断请求进行拼帧,将拼帧后的目标诊断请求发送给ecu,可以减少大量无效字节以及帧头、帧尾校验等数据的发送,提升了通信的效率。
2、第一方面,本技术实施例提供了一种诊断方法,该方法应用于诊断盒,包括:
3、从车辆诊断设备接收针对电子控制单元ecu的第一诊断请求,其中,第一诊断请求包括:目标协议、ecu的第一标识和第一诊断数据,第一诊断数据用于指示第一诊断功能;
4、若在预设时长内接收到针对ecu的第二诊断请求,则将第一诊断请求和第二诊断请求进行拼帧,得到目标诊断请求,第二诊断请求包括:目标协议、ecu的第一标识和第二诊断数据,第二诊断数据用于指示第二诊断功能;
5、向ecu发送目标诊断请求,以使ecu基于目标诊断请求,执行第一诊断功能,以及执行第二诊断功能。
6、在一可行的实施例中,将第一诊断请求和第二诊断请求进行拼帧,得到目标诊断请求,包括:
7、基于第一诊断请求和第二诊断请求,确定请求帧的数量;
8、获取第一诊断数据的第一字节长度;
9、获取第二诊断数据的第二字节长度;
10、将目标协议、ecu的第一标识、请求帧的数量、第一字节长度、第一诊断数据、第二字节长度和第二诊断数据依次拼接,得到目标诊断请求。
11、在一可行的实施例中,请求帧的数量通过一个字节指示;第一字节长度和第二字节长度均通过两个字节指示。
12、在一可行的实施例中,目标诊断请求的字节长度小于第一阈值,其中,第一阈值为目标协议对应的诊断请求的标准长度。
13、在一可行的实施例中,目标协议为多个通信协议中允许拼帧的通信协议;第一诊断功能和第二诊断功能均为目标协议对应的多个诊断功能中允许拼帧的诊断功能。
14、在一可行的实施例中,该方法还包括:
15、若在预设时长内未接收到第二诊断请求,则向ecu发送第一诊断请求,以使ecu执行第一诊断功能。
16、第二方面,本技术实施例提供了一种诊断方法,该方法应用于电子控制单元ecu,包括:
17、从诊断盒接收目标诊断请求,其中,目标诊断请求是对第一诊断请求和第二诊断请求进行拼帧得到的,第一诊断请求包括:目标协议、ecu的第一标识和第一诊断数据,第一诊断数据用于指示第一诊断功能,第二诊断请求包括:目标协议、ecu的第一标识和第二诊断数据,第二诊断数据用于指示第二诊断功能;
18、对目标诊断请求进行解析,得到第一诊断数据和第二诊断数据;
19、执行第一诊断数据对应的第一诊断功能,以及执行第二诊断数据对应的第二诊断功能。
20、在一可行的实施例中,对目标诊断请求进行解析,得到第一诊断数据和第二诊断数据,包括:
21、对目标诊断请求进行解析,得到请求帧的数量;
22、响应于请求帧的数量,从目标诊断请求中解析出第一字节长度;
23、响应于请求帧的数量和第一字节长度,从目标诊断请求中解析出第一诊断数据;
24、响应于请求帧的数量,从目标诊断请求中解析出第二字节长度;
25、响应于请求帧的数量和第二字节长度,从目标诊断请求中解析出第二诊断数据。
26、在一可行的实施例中,该方法还包括:
27、基于目标诊断请求,确定针对第一诊断请求的第一响应信息,以及针对第二诊断请求的第二响应信息,第一响应信息包括:目标协议、ecu的第二标识和第一响应数据,第二响应信息包括:目标协议、ecu的第二标识和第二响应数据;
28、对第一响应信息和第二响应信息进行拼帧,得到目标响应信息;
29、向诊断盒发送目标响应信息。
30、在一可行的实施例中,对第一响应信息和第二响应信息进行拼帧,得到目标响应信息,包括:
31、基于第一响应信息和第二响应信息,确定响应帧的数量;
32、获取第一响应数据的第三字节长度;
33、获取第二响应数据的第四字节长度;
34、将目标协议、ecu的第二标识、响应帧的数量、第三字节长度、第一响应数据、第四字节长度和第二响应数据依次拼接,得到目标响应信息。
35、第三方面,本技术实施例提供了一种诊断方法,该方法应用于车辆诊断设备,包括:
36、从诊断盒接收目标响应信息,其中,目标响应信息是对第一响应信息和第二响应信息拼帧得到的;
37、对目标响应信息进行解析,得到针对第一诊断请求的第一响应数据,以及针对第二诊断请求的第二响应数据。
38、第四方面,本技术实施例提供了一种诊断盒,诊断盒包括收发单元和处理单元;
39、收发单元,用于从车辆诊断设备接收针对电子控制单元ecu的第一诊断请求,其中,第一诊断请求包括:目标协议、ecu的第一标识和第一诊断数据,第一诊断数据用于指示第一诊断功能;
40、处理单元,用于若在预设时长内接收到针对ecu的第二诊断请求,则将第一诊断请求和第二诊断请求进行拼帧,得到目标诊断请求,第二诊断请求包括:目标协议、ecu的第一标识和第二诊断数据,第二诊断数据用于指示第二诊断功能;
41、收发单元,用于向ecu发送目标诊断请求,以使ecu基于目标诊断请求,执行第一诊断功能,以及执行第二诊断功能。
42、第五方面,本技术实施例提供了一种电子控制单元,电子控制单元包括收发单元和处理单元;
43、收发单元,用于从诊断盒接收目标诊断请求,其中,目标诊断请求是对第一诊断请求和第二诊断请求进行拼帧得到的,第一诊断请求包括:目标协议、电子控制单元ecu的第一标识和第一诊断数据,第一诊断数据用于指示第一诊断功能,第二诊断请求包括:目标协议、ecu的第一标识和第二诊断数据,第二诊断数据用于指示第二诊断功能;
44、处理单元,用于对目标诊断请求进行解析,得到第一诊断数据和第二诊断数据;
45、执行第一诊断数据对应的第一诊断功能,以及执行第二诊断数据对应的第二诊断功能。
46、第六方面,本技术实施例提供了一种车辆诊断设备,包括:
47、从诊断盒接收目标响应信息,其中,目标响应信息是对第一响应信息和第二响应信息拼帧得到的;
48、对目标响应信息进行解析,得到针对第一诊断请求的第一响应数据,以及针对第二诊断请求的第二响应数据。
49、第七方面,本技术实施例提供了一种电子设备,包括:处理器和存储器,所述处理器与所述存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述电子设备执行如第一方面、第二方面和第三方面中任一方面所述的方法。
50、第八方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面、第二方面和第三方面中任一方面所述的方法。
51、第九方面,本技术实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行以实现如第一方面、第二方面和第三方面中任一方面所述的方法。
52、实施本技术实施例,具有如下有益效果:
53、在本技术实施例中,vci首先从车辆诊断设备接收针对ecu的第一诊断请求,第一诊断请求包括:目标协议、ecu的第一标识和第一诊断数据,第一诊断数据用于指示第一诊断功能。若在预设时长内接收到针对ecu的第二诊断请求,则将第一诊断请求和第二诊断请求进行拼帧,得到目标诊断请求,第二诊断请求包括:目标协议、ecu的第一标识和第二诊断数据,第二诊断数据用于指示第二诊断功能。然后,向ecu发送该目标诊断请求,ecu可通过从诊断盒接收目标诊断请求,从目标诊断请求中解析出第一诊断数据和第二诊断数据,以执行第一诊断功能,以及执行第二诊断功能。由此,vci可通过将发送给同一ecu且通信协议相同的诊断请求进行拼帧,以向ecu发送拼帧后的目标诊断请求。相较于将每个诊断请求单独以一帧报文进行发送,将诊断请求进行拼帧后可以减少大量的无效字节以及帧头、帧尾校验等数据,增加了资源利用率。并且,可以减少诊断请求的发送数量,提升车辆诊断时的通信效率。
本文地址:https://www.jishuxx.com/zhuanli/20241204/342056.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表