车辆操作方法、装置、电子设备及存储介质与流程
未命名
09-13
阅读:88
评论:0

1.本技术涉及车辆技术领域,尤其涉及一种车辆操作方法、装置、电子设备及存储介质。
背景技术:
2.目前智联网汽车功能越来越丰富,车辆可以通过空中下载技术(over-the-air technology,ota)来对车辆的固件和软件进行升级。通过网络从远程服务器下载新的软件更新包对车辆系统进行升级,可以快速修复系统缺陷,快速迭代、更新产品,提升用户体验,还可以节省升级时间和成本。
3.然而,目前车辆ota升级与车辆的故障诊断不能同时进行,即车辆在进行ota升级时无法进行基于车载以太网(diagnostic communication over internet protocol,doip)或者基于统一的诊断服务(unified diagnostic services,uds)的故障诊断。随着智联网汽车功能的日益丰富,车辆中搭载的车载电子控制单元(electronic control unit,ecu)也越来越多。ota升级和doip/uds故障诊断始终独立进行,将导致升级和诊断的耗时很长,无法快速修复系统,影响用户体验。
技术实现要素:
4.有鉴于此,本技术实施例提供了一种车辆操作方法、装置、电子设备及存储介质,以解决现有技术中车辆ota升级和doip/uds故障诊断无法同时进行的问题。
5.本技术实施例的第一方面,提供了一种车辆操作方法,包括:
6.接收车辆测试装置发送的第一报文;
7.解析第一报文,得到第一报文的电子控制单元地址列表;
8.响应于电子控制单元地址列表中包括电子控制单元的地址,自第一报文中确定电子控制单元的操作类型和数据索引,电子控制单元的操作类型包括:空中下载升级操作以及故障诊断操作;
9.根据确定的操作类型和数据索引,自第一报文的第一报文数据中,获取相应类型的操作数据;
10.基于获取的操作数据对车辆进行操作。
11.本技术实施例的第二方面,提供了一种车辆操作方法,包括:
12.通过车载以太网广播发送以太网报文至第一车载电子控制单元和各车辆的整车网关,以使整车网关将以太网报文转换为控制器局域网络can报文后发送至第二车载电子控制单元,并使第一车载电子控制单元根据接收到的以太网报文执行报文中规定的操作,使第二车载电子控制单元根据接收到的can报文执行报文中规定的操作;
13.其中,以太网报文至少包括第一电子控制单元地址列表,第一电子控制单元地址包括第一电子控制单元的以太网地址,can报文至少包括第二电子控制单元地址列表,第二电子控制单元地址包括第二电子控制单元的can地址;
14.以太网报文和can报文还包括数据区域,数据区域至少包括空中下载升级数据区域和故障诊断数据区域。
15.本技术实施例的第三方面,提供了一种车辆操作装置,包括:
16.接收模块,被配置为接收车辆测试装置发送的第一报文;
17.解析模块,被配置为解析第一报文,得到第一报文的电子控制单元地址列表;
18.确定模块,被配置为响应于电子控制单元地址列表中包括电子控制单元的地址,自第一报文中确定电子控制单元的操作类型和数据索引,电子控制单元的操作类型包括:空中下载升级操作以及故障诊断操作;
19.获取模块,被配置为根据确定的操作类型和数据索引,自第一报文的第一报文数据中,获取相应类型的操作数据;
20.操作模块,被配置为基于获取的操作数据对车辆进行操作。
21.本技术实施例的第四方面,提供了一种车辆操作装置,包括:
22.发送模块,被配置为通过车载以太网广播发送以太网报文至第一车载电子控制单元和各车辆的整车网关,以使整车网关将以太网报文转换为控制器局域网络can报文后发送至第二车载电子控制单元,并使第一车载电子控制单元根据接收到的以太网报文执行报文中规定的操作,使第二车载电子控制单元根据接收到的can报文执行报文中规定的操作;
23.其中,以太网报文至少包括第一电子控制单元地址列表,第一电子控制单元地址包括第一电子控制单元的以太网地址,can报文至少包括第二电子控制单元地址列表,第二电子控制单元地址包括第二电子控制单元的can地址;
24.以太网报文和can报文还包括数据区域,数据区域至少包括空中下载升级数据区域和故障诊断数据区域。
25.本技术实施例的第五方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
26.本技术实施例的第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
27.本技术实施例与现有技术相比存在的有益效果是:本技术实施例通过接收车辆测试装置发送的第一报文,并在确定第一报文包括的ecu地址列表中包括本ecu地址时,自第一报文获取本次操作类型和数据索引,基于操作类型和数据索引从第一报文数据中获取操作数据,以基于操作数据对车辆进行操作,能够通过一条报文向多个ecu发送多种类型的操作数据,实现了不同ecu同时进行不同类型的操作,提高了操作效率,提升了用户体验。
附图说明
28.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
29.图1是本技术实施例的应用场景的场景示意图。
30.图2是本技术实施例提供的一种车辆操作方法的流程示意图。
communication,nfc)、红外(infrared)等,本技术实施例对此不作限制。
48.车辆1可以通过车载以太网与车辆测试装置2建立连接,以接收车辆测试装置2发送的第一报文。车辆1也可以通过网络4与服务器3建立连接。车辆测试装置2可以通过网络4与服务器3建立连接,例如可以从服务器3中预先下载车辆的ota数据。
49.需要说明的是,车辆1、车辆测试装置2、服务器3以及网络4的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本技术实施例对此不作限制。
50.上文提及,目前车辆ota升级与车辆的故障诊断不能同时进行,即车辆在进行ota升级时无法进行基于doip/uds的故障诊断。随着智联网汽车功能的日益丰富,车辆中搭载的车载ecu也越来越多。ota升级和doip/uds故障诊断始终独立进行,将导致升级和诊断的耗时很长,无法快速修复系统,影响用户体验。
51.相关技术中,由于ota报文与doip/uds故障诊断报文存在冲突,因此只能在某一ecu的ota升级刷写完成后,对升级刷写的文件进行完整性校验,而不能立刻对该ecu升级刷写的文件的功能是否正常进行故障诊断。只有当车辆的所有ecu都完成ota升级刷写后,才能对整车的功能进行故障诊断。此时,若在故障诊断时确定某一ecu功能异常且无法修复,则或者需要对固件或软件进行回退处理,此时需要重新刷写所有ecu的回退版本,或者需要对该ecu相关的ecu重新进行ota升级刷写,导致操作时间较长,成本较高,效率较低。
52.鉴于此,本技术实施例提供一种车辆操作方法,通过发送一条以太网报文来指示各ecu进行相应的ota升级或者故障诊断操作,能够在对第一个ecu完成ota升级后,同时对第二个ecu执行ota升级操作和对第一个ecu执行故障诊断操作,提高了操作效率,提升了用户体验。
53.图2是本技术实施例提供的一种车辆操作方法的流程示意图。如图2所示,该车辆操作方法包括如下步骤:
54.在步骤s201中,接收车辆测试装置发送的第一报文。
55.在步骤s202中,解析第一报文,得到第一报文的电子控制单元地址列表。
56.在步骤s203中,响应于电子控制单元地址列表中包括电子控制单元的地址,自第一报文中确定电子控制单元的操作类型和数据索引。
57.其中,电子控制单元的操作类型包括:空中下载升级操作以及故障诊断操作。
58.在步骤s204中,根据确定的操作类型和数据索引,自第一报文的第一报文数据中,获取相应类型的操作数据。
59.在步骤s205中,基于获取的操作数据对车辆进行操作。
60.本技术实施例中,该车辆操作方法可以由图1中所示的车辆1中的ecu执行。
61.本技术实施例中,车辆测试装置可以是车辆测试仪(vehicle box,vbox),或者其他车辆测试设备。车辆测试装置可以通过车载以太网与车辆中支持车载以太网的各ecu相连,还可以通过车载以太网与各车辆的整车网关(vehicle gateway,vgw)相连。用户可以将故障测试数据以第一报文的形式封装,由车辆测试装置通过车载以太网发送至支持车载以太网的各ecu以及各车辆的vgw。另一方面,车辆测试装置还可以与服务器相连,自服务器下载车辆各ecu的ota升级数据,同样将该ota升级数据以第一报文的形式封装,通过车载以太网发送至支持车载以太网的各ecu以及各车辆的vgw。
62.本技术实施例中,ecu可以接收车辆测试装置发送的第一报文,并解析第一报文得
到其中的ecu地址列表。其中,ecu地址列表是指,需要执行本次第一报文中所包括的第一报文数据的ecu的地址列表。即,ecu地址列表中的ecu为需要执行本次第一报文数据的ecu。各需要执行本次第一报文数据的ecu的地址在第一报文中可以是集中存储的,也可以是分散存储的。当各需要执行本次第一报文数据的ecu的地址在第一报文分散存储时,ecu可以轮询第一报文中所有ecu地址字段,以确定自身的ecu地址是否包括在ecu地址列表中。
63.本技术实施例中,ecu将自身的地址与解析得到的ecu地址列表中的地址进行对比,确定该ecu地址列表中是否包括本ecu的地址。若是,则进一步在解析后的第一报文中确定ecu的操作类型和数据索引。具体的,ecu第一报文中可以包括操作类型字段,该操作类型字段的不同取值可以代表不同的操作。进一步的,ecu第一报文中还可以包括数据索引,不同ecu的数据索引指示不同ecu的操作数据在第一报文数据区域中的存储地址。
64.本技术实施例中,可以根据确定的操作类型和数据索引,自第一报文的第一报文数据中获取相应类型的操作数据。具体的,第一报文中可以包括操作类型字段,该字段中不同数值对应不同类型的操作。ecu自操作类型字段中确定本次操作类型,然后基于数据索引自第一报文的数据区域中,与操作类型对应的区域获取本ecu的操作数据,并基于获取的数据对车辆进行操作。
65.根据本技术实施例提供的技术方案,通过接收车辆测试装置发送的第一报文,并在确定第一报文包括的ecu地址列表中包括本ecu地址时,自第一报文获取本次操作类型和数据索引,基于操作类型和数据索引从第一报文数据中获取操作数据,以基于操作数据对车辆进行操作,能够通过一条报文向多个ecu发送多种类型的操作数据,实现了不同ecu同时进行不同类型的操作,提高了操作效率,提升了用户体验。
66.本技术实施例中,接收车辆测试装置发送的第一报文,包括:响应于电子控制单元支持车载以太网,接收车辆测试装置通过车载以太网广播发送的以太网报文;或者响应于电子控制单元不支持车载以太网,接收整车网关通过控制器局域网络can发送的can报文,can报文由整车网关基于接收到的车辆测试装置发送的以太网报文转换得到。
67.本技术实施例中,车辆中的ecu种类繁多,有些ecu支持车载以太网,有些ecu不支持车载以太网。
68.图3是本技术实施例提供的一种车辆操作方法的网络结构的示意图。如图3所示,其中vbox为车辆测试装置,其中可以配置升级主控单元umc和升级代理单元ua。vgw1至vgwn为n个整车网关,其中可以配置ua。ecu1、ecu2
…
ecum、ecux+1、ecux+2
…
ecuz为不支持车载以太网eth的ecu,至通过can总线与vbox或者vgw相连。ecum+1、ecum+2
…
ecun、ecun+1、ecun+2
…
ecux为支持eth的ecu,至通过eth与vbox或者vgw相连。各ecu中均可以配置升级从控单元us。
69.本技术实施例中,对支持eth的ecu而言,其可以直接从车辆测试装置接收以太网报文,并对该以太网报文进行解析以判断是否执行操作。而对于不支持eth的ecu而言,由于其无法直接解析以太网报文,因此需要整车网关将以太网报文转换为can报文后,转发至不支持eth的ecu,以使ecu可以从can报文中解析出ecu地址列表、ecu操作类型、ecu数据索引以及ecu操作数据等信息。
70.图4(a)是本技术实施例提供的一种将以太网报文转换为can报文的方法的示意图。如图4(a)所示,将以太网报文转换为can报文的方法可以由ua或者us执行。可以将源端
发送的以太网报文中的ip数据包由ua/us的以太网输入端口inethport输入,经过判断模块判断目的端需要输出ip数据包还是can数据包。若需要输出ip数据包,则直接通过eth xchange操作对ip数据包的目的端进行设置,并由ua/us的以太网输出端口outethport输出ip数据包至目的端即可。若需要输出can数据包,则首先通过eth packet操作对ip数据包进行解析,然后将解析后的数据采用uds格式进行封装,即将eth格式转换为uds数据格式,并将转换后的can数据包由ua/us的以太网输出端口outethport输出至目的端即可。其中,采用uds数据格式封装的can数据包中包括本次报文中需要执行操作的ecu的逻辑地址。
71.进一步的,ip数据包组成的以太网报文中可以包括以太网报文头ethhead,网际互连协议(internet protocol,ip)报文头iphead,iphead中进一步包括源ip和目的ip,传输控制协议(transmission control protocol,tcp)/用户数据报协议(user datagram protocol,udp)报文头,doip报文头,源地址sa,目的地址ta以及doip数据。其中,sa和ta中可以保存逻辑地址,doip数据中可以保存uds数据。
72.可以通过ua或者us将以太网报文转换为can报文,can报文中包括can标识(canid),其可以是请求id,根据以太网报文中的ta确定。can报文中还可以包括数据长度码(data length code,dlc),can总线docan pci,和uds数据。其中,docan pci中可以包括帧类型和数据长度data len。
73.采用这种方式,可以将以太网报文转换为can报文,并在can报文中通过逻辑地址对ecu进行标识,以使ecu根据自身的逻辑地址以及can报文中的逻辑地址列表确定,本次报文中是否包含该ecu的操作数据。
74.在某些实施方式中,can报文也可以使用类似的方式转换为以太网报文。例如,当不支持以太网的ecu在执行了报文中的操作后,需要向vbox返回消息时,ecu中的us首先将消息以can报文的形式进行封装,并将该can报文返回至vgw。vgw中的ua将can报文转换为以太网报文,然后返回至vbox。
75.图4(b)是本技术实施例提供的一种将can报文转换为以太网报文的方法的示意图。如图4(b)所示,可以将源端发送的can报文中的can数据包由ua/us的can输入端口incanport输入,经过判断模块判断目的端需要输出ip数据包还是can数据包。若需要输出can数据包,则直接通过uds xchange操作对can数据包的目的端进行设置,并由ua/us的can输出端口outcanport输出can数据包至目的端即可。若需要输出ip数据包,则首先通过uds packet操作对can数据包进行解析,然后将解析后的数据采用eth格式进行封装,即将uds格式转换为eth数据格式,并将转换后的ip数据包由ua/us的can输出端口outcanport输出至目的端即可。
76.其中,图4(b)中的以太网报文和can报文与图4(a)中的以太网报文和can报文基本相同,区别仅在于前者的can报文中,canid可以是应答id,由以太网报文中的sa确定。
77.本技术实施例中,ecu的操作类型可以包括ota升级操作,以及故障诊断操作。也就是说,在以太网报文和can报文中,ecu操作类型字段可以通过不同的取值分别表示ota升级操作,以及故障诊断操作。进一步的,在以太网报文和can报文的操作数据区域,可以为ota升级操作数据和故障诊断操作数据分别预留存储空间,即将所有ecu的ota升级操作数据保存在报文的ota升级操作数据区域,并将所有ecu的故障诊断操作数据保存在报文的故障诊断操作数据区域。
78.图5是本技术实施例提供的一种以太网报文的结构示意图。如图5所示,本技术实施例提供的以太网报文包括包头和数据,其中包头部分可以包括版本字段,首部长度字段,优先级与服务类型字段,总长度字段,标识符字段,标志字段,段偏移量字段,生存时间值(time to live,ttl)字段,协议号字段,首部校验和字段,源地址字段,目标地址字段和可选项字段。进一步的,版本字段例如可以标识版本为ipv4,协议号字段可以表示协议号为ox11-udp协议,源地址可以是vbox的ip地址,例如为192.168.69.100,目的地址可以是一个广播地址,例如255.255.255.255,广播范围内的所有支持以太网的ecu以及vgw都可以从该广播地址接收该以太网报文。另一些实施方式中,目的地址也可以是一个组播地址,例如239.10.0.255,以使选定的支持以太网的ecu以及vgw能够从该组播地址接收该以太网报文。
79.进一步的,以太网报文的数据中,包括以太网帧,以太网帧包括以太网头部ethhead、ip头部iphead、tcp/udp头部tcp/udp head、应用数据doip以及帧校验序列(frame check sequence,fcs)。其中,tcp/udp head基于选择的协议号确定,当选择tcp协议时,tcp/udp head为tcphead,当选择udp协议时,tcp/udp head为udphead。
80.更进一步的,doip包括协议版本1比特的protocol version和1比特的~protocol version,2比特的有效载荷类型payload type,4比特的有效载荷长度以及doip数据。其中,由于以太网报文的数据区最大长度通常为1518比特,ethhead长度通常为14比特,iphead长度通常为20比特,tcp/udp head长度通常为20比特,fcs长度通常为4比特,因此doip的长度通常为1460比特。进一步的,计算得出doip数据的净荷长度通常为1452比特。需要说明的是,当使用udp协议时,由于udphead的长度可能小于20比特,此时doip数据的净荷长度最大可以达到1464比特。为配置和计算的方便,本技术实施例中可以不考虑采用不同协议的情况,统一将doip数据的净荷长度认定为1452比特。
81.更进一步的,doip数据包括2比特的源地址source address,ecu编号ecu number,ecu number可以为多个,即通过一个以太网报文为多个ecu传输操作数据。其中,每个ecu number占用2比特存储空间。
82.doip数据中还可以包括ecu地址ecu address、ecu数据索引和ecu类型,每个ecu number对应一个ecu address、一个ecu数据索引以及一个ecu类型。其中ecu address可以是以ecu地址列表的形式进行保存,也可以对每个地址进行单独保存,其中,每个ecu address对应一个ecu number,且每个ecu number占用2比特存储空间。每个ecu数据索引占用2比特存储空间,用于指示该ecu的操作数据在对应数据存储区域的地址。每个ecu类型占用2比特存储空间,用于指示该ecu的本次操作类型,例如为ota升级操作类型,或者故障诊断操作类型。
83.本技术实施例中,第一报文可以包括多个ecu的操作类型和数据索引,其中,至少两个ecu的操作类型为不同的操作类型。一示例中,第一报文中可以包括ecun的操作类型和数据索引,以及ecuz的操作类型和数据索引。进一步的,第一报文中还可以包括ecux、ecum+2等ecu的操作类型和数据索引,此处不做限制。其中,可以是ecun与ecuz具有不同的操作类型,例如ecun在第一报文中的操作类型为ota升级操作,而ecuz在第一报文中的操作类型为故障诊断操作,反之亦然。可以理解的是,也可以是其他两个ecu具有不同的操作类型,实际使用时根据需要配置。
84.doip数据中还可以包括ota升级数据和诊断数据,ecu的ota升级操作数据均保存在ota升级数据对应的存储区域,故障诊断操作数据均保存在诊断数据对应的存储区域。其中,由于ota升级数据通常包含的数据量较大,而诊断数据通常包含的数据量较小,因此可以为ota升级数据最大分配1400比特存储空间,为诊断数据最大分配36比特存储空间。
85.本技术实施例中,ecu在根据接收到的第一报文确定出操作类型和数据索引后,还可以自第一报文中进一步确定数据长度,进而根据操作类型确定对应的数据区域,根据数据索引和数据长度在确定的数据区域获取操作数据,并执行对应操作。例如,若确定的操作类型是ota升级操作,数据索引为0,数据长度为512比特,则ecu可以自第一报文的ota升级操作数据区域自第0比特开始,获取512比特的数据,该512比特数据即为该ecu本次执行ota升级操作需要的数据。该ecu基于该512比特数据可以执行ota升级操作。又如,若确定的操作类型是故障诊断操作,数据索引为16,数据长度为48比特,则ecu可以自第一报文的诊断数据区域自第16比特开始,获取48比特数据,该该512比特数据即为该ecu本次执行故障诊断操作需要的数据。该ecu基于该512比特数据可以执行故障诊断操作。
86.本技术实施例中,若第一报文中ecu的操作类型为ota升级操作,可以基于获取的操作数据对该ecu进行ota升级操作。随后,ecu可以接收第二报文,第二报文包括该ecu的故障诊断操作和数据索引,以及至少一个其他ecu的oat升级操作和数据索引。采用与第一报文相同的方式对第二报文经处理后,可以基于第二报文中对应的操作数据对该ecu进行故障诊断操作,同时对至少一个其他ecu进行ota升级操作。
87.另一方面,若第一报文中ecu的操作类型为故障诊断升级操作,可以基于获取的操作数据对该ecu进行故障诊断升级操作。随后,ecu可以接收第二报文,第二报文包括该ecu的ota升级操作和数据索引,以及至少一个其他ecu的故障诊断操作和数据索引。采用与第一报文相同的方式对第二报文经处理后,可以基于第二报文中对应的操作数据对该ecu进行ota升级操作,同事对至少一个其他ecu进行故障诊断操作。
88.根据本技术实施例提供的技术方案,通过在同一以太网报文中携带多个ecu的不同类型操作数据,能够使车辆中的不同ecu同时执行ota升级操作和故障诊断操作,提高了操作效率。
89.本技术实施例中,当ecu通过查询确定接收到的第一报文中的ecu地址列表中不包括本ecu地址时,则可以确定此次第一报文中不携带本ecu需要操作的数据,因此ecu可以丢弃该第一报文。
90.图6是本技术实施例提供的一种车辆操作方法的流程示意图。如图6所示,该车辆操作方法包括如下步骤:
91.在步骤s601中,通过车载以太网广播发送以太网报文至第一车载电子控制单元和各车辆的整车网关,以使整车网关将以太网报文转换为can报文后发送至第二车载电子控制单元,并使第一车载电子控制单元根据接收到的以太网报文执行报文中规定的操作,使第二车载电子控制单元根据接收到的can报文执行报文中规定的操作。
92.其中,以太网报文至少包括第一电子控制单元地址列表,第一电子控制单元地址包括第一电子控制单元的以太网地址,can报文至少包括第二电子控制单元地址列表,第二电子控制单元地址包括第二电子控制单元的can地址。以太网报文和can报文还包括数据区域,数据区域至少包括空中下载升级数据区域和故障诊断数据区域。
93.本技术实施例中,该车辆操作方法可以由vbox执行。vbox通过车载以太网发送以太网报文至第一ecu,即支持车载以太网的ecu,以及各车辆的vgw。各车辆的vgw在接收到以太网报文后,将其转换为can报文,并将转换得到的can报文发送至第二ecu,即不支持车载以太网的ecu。其中报文转换的具体实现方式参加说明书附图4(a)和4(b)所示实施例所述,此处不再赘述。
94.进一步的,以太网报文中至少包括第一ecu的地址列表,用于使第一ecu在接收到以太网报文后,根据第一ecu地址列表判断本次报文中是否包含该第一ecu需要执行的操作。can报文中至少包括第二ecu的地址列表,用于使第二ecu在接收到can报文后,根据第二ecu地址列表判断本次报文中是否包含该第二ecu需要执行的操作。
95.更进一步的,以太网报文和can报文还包括数据区域,数据区域至少包括ota升级数据区域和故障诊断数据区域,用于保存对应的操作数据。第一ecu在确定本次以太网报文包括该第一ecu需要执行的操作数据时,根据以太网报文中操作类型字段、数据索引以及数据长度字段的指示,从对应的操作数据区域中获取自身的操作数据,并执行该操作数据以实现ota升级或者故障诊断。第二ecu在确定本次can报文包括该第二ecu需要执行的操作数据时,根据can报文中操作类型字段、数据索引以及数据长度字段的指示,从对应的操作数据区域中获取自身的操作数据,并执行该操作数据以实现ota升级或者故障诊断。
96.根据本技术实施例提供的技术方案,车辆的所有ecu均可接收vbox发送的以太网报文,并根据报文中携带的操作数据由多个ecu同时执行ota升级操作或者故障诊断操作,提高了操作效率。
97.上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
98.下面参考图3所示的网络结构和图5所示的以太网报文结构,详细说明本技术实施例提供的车辆操作方法的实现步骤。
99.本技术实施例中,vbox和vgw之间可以通过100m/1000m以太网线连接,vbox和vgw可以通过100m/1000m以太网线或can总线与其下各ecu部件相联接,其下面挂接一个或多个ecu部件。ecu部件的单播ip地址和ecu逻辑地址均为全域唯一标识。vbox、vgw、ecu的ip地址都有各自唯一的单播地址,例如192.168.69.xx,共有的本地广播地址,例如255.255.255.255和组播地址,其中,vbox、vgw、ecu可以有多个组播地址。
100.整车系统各域下挂众多的ecu分为支持以太网(doip)的ecu和不支持doip的ecu。ota升级刷写和ecu故障诊断分为doip升级和诊断与uds升级和诊断。各个ecu报文在传输过程中需使用两种不同报文格式,需实现在doip与uds格式间进行报文转换功能,以便各ecu正确识别并正确处理相应的数据。其中报文转换的具体实现方式参加说明书附图4(a)和4(b)所示实施例所述,此处不再赘述。
101.可以在以太网报文的iphead字段里将协议号设置为0x11(ucp),即选择ucp协议以广播的形式发送报文。将源ip地址设置为vbox的地址,例如192.168.69.100,目标地址设置为本地广播公共地址,例如255.255.255.255。在doip字段里设置vbox为源逻辑id,目标id为ecux和ecuz的ecu逻辑地址,由于目标ip地址是广播地址,所有支持以太网功能的ecu和vbox、vgw1..vgwn都能收到该以太网报文。
102.假设vbox发送的第一以太网报文中,包括ecux执行ota升级操作的数据,以及ecuz
执行故障诊断操作的数据。
103.由于ecux支持以太网功能,因此ecux可以直接接收该第一以太网报文,并由ecux中的us解析该第一以太网报文,比较发现该第一以太网报文中的ecu地址列表中包含自己的逻辑地址,从而确定该第一以太网报文中包括发给自己的数据,进而根据数据长度和数据在doip数据区的索引取出该数据进行ecu部件的ota升级刷写操作。
104.同时,ecun等其他支持以太网功能的ecu在通过以太网接收到第一以太网报文后,若比较确定该第一以太网报文中的ecu地址列表中不包含自己的逻辑地址,则可以确定该第一以太网报文中不包括发送给自己的数据,因此可以直接将该第一以太网报文丢弃。
105.另一方面,由于ecuz为不支持以太网功能的ecu,因此需要由vgw1将收到的第一以太网报文进行解析,并重新封装为uds协议格式第一can报文,然后发送至该vgw1下挂的can总线。ecuz通过can总线接收该第一can报文,解析其中的uds数据包,比较发现该第一can报文中的ecu地址列表中包含自己的逻辑地址,从而确定该第一can报文中包括发给自己的数据,进而根据数据长度和数据在doip数据区的索引取出该数据进行ecu部件的故障诊断操作。
106.同时,ecux等其他不支持以太网功能的ecu在通过can总线接收到第一can报文后,若比较确定该第一can报文中的ecu地址列表中不包含自己的逻辑地址,则可以确定该第一can报文中不包括发送给自己的数据,因此可以直接将该第一can报文丢弃。
107.进一步的,假设vbox在发送第一以太网报文后继续发送了第二以太网报文,该第二以太网报文中包括ecux执行故障诊断操作的数据,以及ecuz执行ota升级操作的数据。
108.ecux可以接收第二以太网报文,其us进一步解析第二以太网报文中的doip数据包,比较发现该第二以太网报文中的ecu地址列表中包含自己的逻辑地址,从而确定该第二以太网报文中包括发给自己的数据,进而根据数据长度和数据在doip数据区的索引取出该数据进行ecu部件的故障诊断操作。
109.vgw1将收到的第二以太网报文进行解析,并重新封装为uds协议格式第二can报文。ecuz通过can总线接收该第二can报文,解析其中的uds数据包,比较发现该第二can报文中的ecu地址列表中包含自己的逻辑地址,从而确定该第二can报文中包括发给自己的数据,进而根据数据长度和数据在doip数据区的索引取出该数据进行ecu部件的ota升级刷写操作。
110.同时,ecux等其他不支持以太网功能的ecu在通过can总线接收到第二can报文后,若比较确定该第二can报文中的ecu地址列表中不包含自己的逻辑地址,则可以确定该第二can报文中不包括发送给自己的数据,因此可以直接将该第二can报文丢弃。
111.图7是本技术实施例提供的一种故障诊断数据示意图。如图7所示,故障诊断数据可以用故障诊断码(diagnostic trouble code,dtc)表示,dtc可以包括高比特位dtchighbyte、中比特位dtcmiddlebyte和低比特位dtclowbyte,其中dtclowbyte通常用于表示故障状态,若其为01代表用户想要读当前故障,为08代表用户想要读历史故障,为09代表用户想要读当前故障和历史故障。
112.进一步的,dtchighbyte即dtcbyte1和dtcmiddlebyte即dtcbyte2为故障内码,可分别由8比特数据表示,其中,dtcbyte2占用bit0至bit7,dtcbyte1占用bit8至bit15。当使用五位标准故障码生成dtc时,bit15和bit14可以用于表达第一位,bit13和bit12可以用于
表达第二位,bit11至bit8可用于表达第三位,bit7至bit0可用于表达第四和第五位。五位标准故障码的第一位通常为字母,用于表示故障所述系统,后四位为数据。其中,故障所述的系统例如可以是:“p”代表动力系统,“b”代表车身,“c”代表底盘,“u”代表网络。
113.表1示出五位故障标准码中第一位不同取值的不同含义。如表1所示,当第一位取值“00”时,其字符可以是“p”,代表动力系统powertrain故障;当第一位取值“01”时,其字符可以是“c”,代表底盘chassis故障;当第一位取值“10”时,其字符可以是“b”,代表车身body故障;当第一位取值“11”时,其字符可以是“u”,代表网络network故障。
114.表1
[0115][0116][0117]
表2示出五位故障标准码中第二位不同取值的不同含义。如表2所示,当第二位取值“00”时,其字符可以是“0”,代表道路车辆信息安全工程iso/sae标准定义的故障;当第二位取值“01”时,其字符可以是“1”,代表制造商自定义的故障;当第二位取值“10”时,其字符可以是“2”,代表iso/sae标准定义的故障;当第二位取值“11”时,其字符可以是“3”,代表iso/sae保留的故障。
[0118]
表2
[0119][0120]
采用本技术实施例的技术方案,通过一个以太网报文就能同时支持ota升级与doip/uds故障诊断的方法,相比现有技术中无法同时进行ota升级刷写和故障诊断操作,提高了操作效率,且减少了报文在总线中的传输,改善了总线负载过重的问题。
[0121]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
[0122]
图8是本技术实施例提供的一种车辆操作装置的示意图。如图8所示,该车辆操作装置包括:
[0123]
接收模块801,被配置为接收车辆测试装置发送的第一报文。
[0124]
解析模块802,被配置为解析第一报文,得到第一报文的电子控制单元地址列表。
[0125]
确定模块803,被配置为响应于电子控制单元地址列表中包括电子控制单元的地址,自第一报文中确定电子控制单元的操作类型和数据索引。
[0126]
其中,电子控制单元的操作类型包括:ota升级操作以及故障诊断操作。
[0127]
获取模块804,被配置为根据确定的操作类型和数据索引,自第一报文的第一报文数据中,获取相应类型的操作数据。
[0128]
操作模块805,被配置为基于获取的操作数据对车辆进行操作。
[0129]
根据本技术实施例提供的技术方案,通过接收车辆测试装置发送的第一报文,并在确定第一报文包括的ecu地址列表中包括本ecu地址时,自第一报文获取本次操作类型和数据索引,基于操作类型和数据索引从第一报文数据中获取操作数据,以基于操作数据对车辆进行操作,能够通过一条报文向多个ecu发送多种类型的操作数据,实现了不同ecu同时进行不同类型的操作,提高了操作效率,提升了用户体验。
[0130]
本技术实施例中,接收车辆测试装置发送的第一报文,包括:响应于电子控制单元支持车载以太网,接收车辆测试装置通过车载以太网广播发送的以太网报文;或者响应于电子控制单元不支持车载以太网,接收整车网关通过控制器局域网络can发送的can报文,can报文由整车网关基于接收到的车辆测试装置发送的以太网报文转换得到。
[0131]
本技术实施例中,根据确定的操作类型和数据索引,自第一报文的第一报文数据中,获取相应类型的操作数据,包括:响应于确定的操作类型为空中下载升级操作,根据数据索引自第一报文的第一报文数据的空中下载升级数据区域获取空中下载升级数据;响应于确定的操作类型为故障诊断操作,根据数据索引自第一报文的第一报文数据的故障诊断数据区域获取故障诊断数据。
[0132]
本技术实施例中,第一报文包括所述电子控制单元和至少一个其他电子控制单元的操作类型和数据索引,所述电子控制单元的操作类型与其他电子控制单元中至少一个电子控制单元的操作类型不同。
[0133]
本技术实施例中,还包括:响应于所述第一报文中所述电子控制单元的操作类型为空中下载升级操作,基于获取的操作数据对所述电子控制单元进行空中下载升级操作;接收第二报文,所述第二报文包括所述电子控制单元的故障诊断操作和数据索引,以及至少一个其他电子控制单元的空中下载升级操作和数据索引;对所述电子控制单元进行故障诊断操作,并对所述至少一个其他电子控制单元进行空中下载升级操作;或者响应于所述第一报文中所述电子控制单元的操作类型为故障诊断操作,基于获取的操作数据对所述电子控制单元进行故障诊断操作;接收第二报文,所述第二报文包括所述电子控制单元的空中下载升级操作和数据索引,以及至少一个其他电子控制单元的故障诊断操作和数据索引;对所述电子控制单元进行空中下载升级操作,并对所述至少一个其他电子控制单元进行故障诊断操作。
[0134]
图9是本技术实施例提供的一种车辆操作装置的示意图。如图9所示,该车辆操作装置包括:
[0135]
发送模块901,被配置为通过车载以太网广播发送以太网报文至第一车载电子控制单元和各车辆的整车网关,以使整车网关将以太网报文转换为控制器局域网络can报文后发送至第二车载电子控制单元,并使第一车载电子控制单元根据接收到的以太网报文执
行报文中规定的操作,使第二车载电子控制单元根据接收到的can报文执行报文中规定的操作。
[0136]
其中,以太网报文至少包括第一电子控制单元地址列表,第一电子控制单元地址包括第一电子控制单元的以太网地址,can报文至少包括第二电子控制单元地址列表,第二电子控制单元地址包括第二电子控制单元的can地址。以太网报文和can报文还包括数据区域,数据区域至少包括空中下载升级数据区域和故障诊断数据区域。
[0137]
根据本技术实施例提供的技术方案,车辆的所有ecu均可接收vbox发送的以太网报文,并根据报文中携带的操作数据由多个ecu同时执行ota升级操作或者故障诊断操作,提高了操作效率。
[0138]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0139]
图10是本技术实施例提供的电子设备的示意图。如图10所示,该实施例的电子设备10包括:处理器1001、存储器1002以及存储在该存储器1002中并且可在处理器1001上运行的计算机程序1003。处理器1001执行计算机程序1003时实现上述各个方法实施例中的步骤。或者,处理器1001执行计算机程序1003时实现上述各装置实施例中各模块/单元的功能。
[0140]
电子设备10可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备10可以包括但不仅限于处理器1001和存储器1002。本领域技术人员可以理解,图10仅仅是电子设备10的示例,并不构成对电子设备10的限定,可以包括比图示更多或更少的部件,或者不同的部件。
[0141]
处理器1001可以是中央处理单元(central processing unit,cpu),也可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0142]
存储器1002可以是电子设备10的内部存储单元,例如,电子设备10的硬盘或内存。存储器1002也可以是电子设备10的外部存储设备,例如,电子设备10上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。存储器1002还可以既包括电子设备10的内部存储单元也包括外部存储设备。存储器1002用于存储计算机程序以及电子设备所需的其它程序和数据。
[0143]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0144]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术实现上述实施例方法
中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。
[0145]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种车辆操作方法,其特征在于,所述方法由车载电子控制单元执行,包括:接收车辆测试装置发送的第一报文;解析所述第一报文,得到所述第一报文的电子控制单元地址列表;响应于所述电子控制单元地址列表中包括所述电子控制单元的地址,自所述第一报文中确定所述电子控制单元的操作类型和数据索引,所述电子控制单元的操作类型包括:空中下载升级操作以及故障诊断操作;根据确定的操作类型和数据索引,自所述第一报文的第一报文数据中,获取相应类型的操作数据;基于获取的操作数据对车辆进行操作。2.根据权利要求1所述的方法,其特征在于,所述接收车辆测试装置发送的第一报文,包括:响应于所述电子控制单元支持车载以太网,接收车辆测试装置通过车载以太网广播发送的以太网报文;或者响应于所述电子控制单元不支持车载以太网,接收整车网关通过控制器局域网络can发送的can报文,所述can报文由所述整车网关基于接收到的车辆测试装置发送的以太网报文转换得到。3.根据权利要求1所述的方法,其特征在于,所述根据确定的操作类型和数据索引,自所述第一报文的报文数据中,获取相应类型的操作数据,包括:响应于确定的操作类型为空中下载升级操作,根据所述数据索引自所述第一报文的报文数据的空中下载升级数据区域获取空中下载升级数据;响应于确定的操作类型为故障诊断操作,根据所述数据索引自所述第一报文的报文数据的故障诊断数据区域获取故障诊断数据。4.根据权利要求1所述的方法,其特征在于,所述第一报文包括所述电子控制单元和至少一个其他电子控制单元的操作类型和数据索引,所述电子控制单元的操作类型与其他电子控制单元中至少一个电子控制单元的操作类型不同。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于所述第一报文中所述电子控制单元的操作类型为空中下载升级操作,基于获取的操作数据对所述电子控制单元进行空中下载升级操作;接收第二报文,所述第二报文包括所述电子控制单元的故障诊断操作和数据索引,以及至少一个其他电子控制单元的空中下载升级操作和数据索引;对所述电子控制单元进行故障诊断操作,并对所述至少一个其他电子控制单元进行空中下载升级操作;或者响应于所述第一报文中所述电子控制单元的操作类型为故障诊断操作,基于获取的操作数据对所述电子控制单元进行故障诊断操作;接收第二报文,所述第二报文包括所述电子控制单元的空中下载升级操作和数据索引,以及至少一个其他电子控制单元的故障诊断操作和数据索引;对所述电子控制单元进行空中下载升级操作,并对所述至少一个其他电子控制单元进行故障诊断操作。6.一种车辆操作方法,其特征在于,所述方法由车辆测试装置执行,包括:
通过车载以太网广播发送以太网报文至第一车载电子控制单元和各车辆的整车网关,以使所述整车网关将所述以太网报文转换为控制器局域网络can报文后发送至第二车载电子控制单元,并使所述第一车载电子控制单元根据接收到的以太网报文执行报文中规定的操作,使所述第二车载电子控制单元根据接收到的can报文执行报文中规定的操作;其中,所述以太网报文至少包括第一电子控制单元地址列表,所述第一电子控制单元地址包括第一电子控制单元的以太网地址,所述can报文至少包括第二电子控制单元地址列表,所述第二电子控制单元地址包括第二电子控制单元的can地址;所述以太网报文和can报文还包括数据区域,所述数据区域至少包括空中下载升级数据区域和故障诊断数据区域。7.一种车辆操作装置,其特征在于,包括:接收模块,被配置为接收车辆测试装置发送的第一报文;解析模块,被配置为解析所述第一报文,得到所述第一报文的电子控制单元地址列表;确定模块,被配置为响应于所述电子控制单元地址列表中包括所述电子控制单元的地址,自所述第一报文中确定所述电子控制单元的操作类型和数据索引,所述电子控制单元的操作类型包括:空中下载升级操作以及故障诊断操作;获取模块,被配置为根据确定的操作类型和数据索引,自所述第一报文的第一报文数据中,获取相应类型的操作数据;操作模块,被配置为基于获取的操作数据对车辆进行操作。8.一种车辆操作装置,其特征在于,包括:发送模块,被配置为通过车载以太网广播发送以太网报文至第一车载电子控制单元和各车辆的整车网关,以使所述整车网关将所述以太网报文转换为控制器局域网络can报文后发送至第二车载电子控制单元,并使所述第一车载电子控制单元根据接收到的以太网报文执行报文中规定的操作,使所述第二车载电子控制单元根据接收到的can报文执行报文中规定的操作;其中,所述以太网报文至少包括第一电子控制单元地址列表,所述第一电子控制单元地址包括第一电子控制单元的以太网地址,所述can报文至少包括第二电子控制单元地址列表,所述第二电子控制单元地址包括第二电子控制单元的can地址;所述以太网报文和can报文还包括数据区域,所述数据区域至少包括空中下载升级数据区域和故障诊断数据区域。9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述方法的步骤。
技术总结
本申请涉及汽车技术领域,提供了一种车辆操作方法、装置、电子设备及存储介质。该方法包括:接收车辆测试装置发送的第一报文;解析第一报文,得到第一报文的电子控制单元地址列表;响应于电子控制单元地址列表中包括电子控制单元的地址,自第一报文中确定电子控制单元的操作类型和数据索引;根据确定的操作类型和数据索引,自第一报文的第一报文数据中,获取相应类型的操作数据;基于获取的操作数据对车辆进行操作。本申请实施例提高的方法,能够通过一条报文向多个ECU发送多种类型的操作数据,实现了不同ECU同时进行不同类型的操作,提高了操作效率,提升了用户体验。提升了用户体验。提升了用户体验。
技术研发人员:韩波 唐如意 邓凌天 范例 陈建伟
受保护的技术使用者:成都赛力斯科技有限公司
技术研发日:2023.06.15
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/