一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车辆OTA升级方法、装置、存储介质和无人驾驶设备与流程

2021-11-22 14:03:00 来源:中国专利 TAG:

车辆ota升级方法、装置、存储介质和无人驾驶设备
技术领域
1.本公开涉及车辆的自动驾驶技术领域,具体地,涉及一种车辆ota升级方法、装置、存储介质和无人驾驶设备。


背景技术:

2.随着车辆智能化的提高以及对舒适性、经济性和安全性的考虑,车辆中搭载有越来越多的电子控制单元(electronic control unit,ecu),当整车升级时,需要对其中的部分或全部ecu进行刷写。传统的方法是车主将车开到4s店,通过车载诊断系统(on board diagnostics,obd)对相应的ecu进行软件升级。
3.在车辆的空中下载(over the air,ota)技术中,云平台通过车辆的移动通信接口对车载软件进行远程管理。目前通过ota进行整车升级的方案是通过统一的诊断服务(unified diagnostic services,uds)诊断协议对待升级的ecu逐个进行应用编程(in application programming,iap)方式升级。通常车载ecu少则二三十个,多则上百个,若升级的ecu较多,会导致整车ota升级的耗时很长,并且出于安全考虑,整车ota过程不允许被打断,如遇用户紧急用车,会严重影响用户体验。


技术实现要素:

4.本公开的目的是提供一种车辆ota升级方法、装置、存储介质和无人驾驶设备,以部分地解决相关技术中存在的上述问题。
5.为了实现上述目的,第一方面,本公开提供一种车辆ota升级方法,所述方法包括:
6.响应于接收到ota指令,确定所述ota指令指示要升级的目标ecu所处的can总线;
7.若确定出的所述can总线为多路,则启动多个升级进程,并通过多个所述升级进程同时为多路所述can总线上的所述目标ecu进行升级,其中,多个所述升级进程与多路所述can总线一一对应,每一所述升级进程用于对相对应的所述can总线上的所述目标ecu进行升级。
8.可选地,所述方法还包括:
9.针对具有依赖关系且处于不同can总线的两个所述目标ecu,若作为被依赖方的第一目标ecu刷写失败,则对作为依赖方的第二目标ecu和所述第一目标ecu均进行回退处理。
10.可选地,所述ota指令指示了针对处于同一can总线上的多个所述目标ecu之间的升级顺序;相应地,所述升级进程用于根据所述升级顺序,逐一对相对应的所述can总线上的多个所述目标ecu进行升级。
11.可选地,所述方法还包括:
12.通过解析所述ota指令来确定所述目标ecu之间的依赖关系;或者,
13.从预定的依赖关系表中确定所述目标ecu之间的依赖关系。
14.可选地,所述方法还包括:
15.若有所述目标ecu刷写失败,则发送提示消息,所述提示消息包括刷写失败的所述
目标ecu的标识信息。
16.可选地,所述提示消息还包括进行回退处理的所述目标ecu的标识信息。
17.可选地,所述确定所述ota指令指示要升级的目标ecu所处的can总线,包括:
18.在预定的ecu和can总线的对应关系中,查找出与所述目标ecu对应的can总线,作为所述目标ecu所处的can总线;或者,
19.通过解析所述ota指令来确定所述目标ecu所处的can总线。
20.第二方面,本公开提供一种车辆ota升级装置,所述装置包括:
21.第一确定模块,用于响应于接收到ota指令,确定所述ota指令指示要升级的目标ecu所处的can总线;
22.升级模块,用于若确定出的所述can总线为多路,则启动多个升级进程,并通过多个所述升级进程同时为多路所述can总线上的所述目标ecu进行升级,其中,多个所述升级进程与多路所述can总线一一对应,每一所述升级进程用于对相对应的所述can总线上的所述目标ecu进行升级。
23.第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面提供的方法的步骤。
24.第四方面,本公开提供一种无人驾驶设备,包括:
25.存储器,其上存储有计算机程序;
26.处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面提供的上述方法的步骤。
27.通过上述技术方案,在车辆通过ota进行升级时,若ota指令指示要升级的目标ecu所处的can总线为多路,则启动多个升级进程,并通过多个升级进程同时为多路can总线上的目标ecu进行升级。这样,对ecu的刷写由原来的串行方式改为在多个can总线上同步执行的并行方式,能够同时并行刷写多个ecu,从而减少了整车ota升级的耗时,实现了整车的快速升级。
28.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
29.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
30.图1是根据一示例性实施例示出的一种车辆ota升级方法的流程图。
31.图2是根据另一示例性实施例示出的一种车辆ota升级方法的流程图。
32.图3是根据又一示例性实施例示出的一种车辆ota升级方法的流程图。
33.图4是根据一示例性实施例示出的一种车辆ota升级装置的框图。
34.图5是根据一示例性实施例示出的一种无人驾驶设备的框图。
具体实施方式
35.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
36.图1是根据一示例性实施例示出的一种车辆ota升级方法的流程图。该方法可以应
用于车辆,例如,自动驾驶车辆(无人配送车、乘用车、商用车等)。如图1所示,该方法可以包括s101和s102。
37.在s101中,响应于接收到ota指令,确定ota指令指示要升级的目标ecu所处的can总线。
38.车辆中可以设置上位机(例如,tbox或网关),由此上位机来接收服务器发送的ota指令。ota指令是服务器发送给车辆的用于指示将车辆中的部分或全部ecu进行升级的指令。通常车辆中有多路can总线,各路can总线均接入此上位机。当上位机接收到ota指令时,可以通过解析该ota指令得到描述文件,描述文件中可以包括对哪些ecu进行升级以及升级文件等数据。每次车辆升级时,并不一定是全部ecu都进行升级。通过描述文件,上位机可以确定出本次要升级的目标ecu,以及所处的can总线。
39.其中,车载ecu例如可以包括电池管理系统(battery management system,bms)、电子助力转向系统(electric power steering,eps)、紧急制动系统(autonomous emergency braking,aeb)、整车控制器(vehicle control unit,vcu)以及电子驻车(electrical park brake,epb)等。
40.在s102中,若确定出的can总线为多路,则启动多个升级进程,并通过多个升级进程同时为多路can总线上的目标ecu进行升级。其中,多个升级进程与多路can总线一一对应,每一升级进程用于对相对应的can总线上的目标ecu进行升级。
41.也就是,若确定出的can总线为多路,则启动多个uds客户端,每个客户端对应一条can总线。另外,同一can线上的ecu则可以逐一刷写。
42.举例来说,本次ota指令指示要升级的目标ecu包括12个ecu,分别处于3条can总线上,每条can总线上有4个目标ecu。若按照相关技术中逐一进行刷写的话,升级过程需要24分钟。若按照本公开的上述并行方案进行刷写,则3条can总线同时进行刷写,则升级过程需要24
÷
3=8分钟,极大地加快了升级速度。
43.通过上述技术方案,在车辆通过ota进行升级时,若ota指令指示要升级的目标ecu所处的can总线为多路,则启动多个升级进程,并通过多个升级进程同时为多路can总线上的目标ecu进行升级。这样,对ecu的刷写由原来的串行方式改为在多个can总线上同步执行的并行方式,能够同时并行刷写多个ecu,从而减少了整车ota升级的耗时,实现了整车的快速升级。
44.由于执行的功能、数据的传输等原因,有些ecu之间具有一定的依赖关系。例如,一个ecu功能的准确执行依赖于另一个ecu的准确的数据输出,若被依赖方ecu输出错误的数据,则依赖方ecu利用该错误数据不能正常执行器功能或发送错误的指令。鉴于此,本公开的另一实施例中可以针对具有依赖关系的ecu具有特定的控制策略。
45.图2是根据另一示例性实施例示出的一种车辆ota升级方法的流程图。在图1的基础上,该方法还包括s103。
46.在s103中,针对具有依赖关系且处于不同can总线的两个目标ecu,若作为被依赖方的第一目标ecu刷写失败,则对作为依赖方的第二目标ecu和第一目标ecu均进行回退处理。
47.对目标ecu进行刷写的结果可能成功,也可能失败。在进行刷写时可以不考虑依赖关系进行刷写,以在较大程度上保障升级的速度。在全部目标ecu刷写结束之后,或者在刷
写的过程中,可以对已有刷写结果且结果为刷写失败的目标ecu进行处理。具体地,若刷写失败的目标ecu是被依赖方,则可以认为作为依赖方的目标ecu即使刷写成功也并不可靠。因此,不论作为依赖方的目标ecu是否刷写成功,均与被依赖方的目标ecu一同进行回退处理,这样就保障了已升级ecu的可靠性。
48.对处于同一can总线上的多个目标ecu可以逐一进行刷写。刷写的顺序可以是随机的,也可以在ota指令中预先设置好的。本公开的一实施例中,ota指令指示了针对处于同一can总线上的多个目标ecu之间的升级顺序。相应地,升级进程用于根据升级顺序,逐一对相对应的can总线上的多个目标ecu进行升级。
49.设置升级顺序时,可以按照升级的重要性进行排列,或者按照依赖关系进行排列。例如,将被依赖方ecu排在前面,依赖方ecu排在后面。相应地,若被依赖方ecu刷写失败,则可以提前取消依赖方ecu的刷写,以节省升级时间。该实施例中可以通过预先在ota指令中设置升级顺序,来实现高效的升级。
50.在又一实施例中,该方法还可以包括:通过解析ota指令来确定目标ecu之间的依赖关系;或者,从预定的依赖关系表中确定目标ecu之间的依赖关系。
51.可以根据本次升级的各个目标ecu的新功能,确定各个目标ecu之间的依赖关系,预先写入ota指令中。车辆可以解析ota指令,从描述文件中获取到处于同一can总线上的多个目标ecu之间的依赖关系。该实施例中,能够根据升级的新功能确定出最新的依赖关系,准确性高。
52.或者,将具有固定依赖关系的依赖关系表预先进行存储,当接收到ota指令并获取目标ecu后,根据该预定的依赖关系表确定出目标ecu之间的依赖关系。该实施例中,不需要通过解析ota指令获得依赖关系,刷写速度快。
53.还可以同时参考预定的依赖关系表和解析ota指令得到的依赖关系这二者,得到准确的依赖关系。
54.图3是根据又一示例性实施例示出的一种车辆ota升级方法的流程图。在图1的基础上,该方法还可以包括s104。
55.在s104中,若有目标ecu刷写失败,则发送提示消息,提示消息包括刷写失败的目标ecu的标识信息。
56.目标ecu的标识信息例如可以包括目标ecu的编号、名称、所在can线、厂家、出厂日期、维修记录等。上位机可以向服务器发送提示消息,以对刷写失败进行提示,便于工作人员及时统计并采取相应措施。
57.此外,提示消息还可以包括进行回退处理的目标ecu的标识信息。有的ecu即使刷写成功,也可能会被回退。例如,若该ecu是具有依赖关系的依赖方,则可能会随其被依赖方的刷写失败而一同回退。因此,提示消息中包括进行回退处理的目标ecu的标识信息,能够向服务器发送更加全面的升级结果。
58.在又一实施例中,s101中确定ota指令指示要升级的目标ecu所处的can总线可以包括:在预定的ecu和can总线的对应关系中,查找出与目标ecu对应的can总线,作为目标ecu所处的can总线;或者,通过解析ota指令来确定目标ecu所处的can总线。
59.其中,上位机中可以预先存储各个ecu和can总线的对应关系,通过查表的方法确定出要升级的目标ecu所处的can总线,这样的方式方法简单,ota升级较高效。
60.或者,可以预先将各个ecu和can总线的对应关系预先写入ota指令中。车辆解析ota指令,从描述文件中获取到该对应关系。该实施例中,上位机中不需要存储ecu和can总线的对应关系,节省了存储空间。
61.基于同样的发明构思,本公开还提供一种车辆ota升级装置。图4是根据一示例性实施例示出的一种车辆ota升级装置的框图。如图4所示,该车辆ota升级装置400可以包括第一确定模块401和升级模块402。
62.第一确定模块401用于响应于接收到ota指令,确定ota指令指示要升级的目标ecu所处的can总线。
63.升级模块402用于若确定出的can总线为多路,则启动多个升级进程,并通过多个升级进程同时为多路can总线上的目标ecu进行升级。其中,多个升级进程与多路can总线一一对应,每一升级进程用于对相对应的can总线上的目标ecu进行升级。
64.通过上述技术方案,在车辆通过ota进行升级时,若ota指令指示要升级的目标ecu所处的can总线为多路,则启动多个升级进程,并通过多个升级进程同时为多路can总线上的目标ecu进行升级。这样,对ecu的刷写由原来的串行方式改为在多个can总线上同步执行的并行方式,能够同时并行刷写多个ecu,从而减少了整车ota升级的耗时,实现了整车的快速升级。
65.可选地,该车辆ota升级装置400还可以包括回退模块。
66.回退模块用于针对具有依赖关系且处于不同can总线的两个目标ecu,若作为被依赖方的第一目标ecu刷写失败,则对作为依赖方的第二目标ecu和第一目标ecu均进行回退处理。
67.可选地,ota指令指示了针对处于同一can总线上的多个目标ecu之间的升级顺序。相应地,升级进程用于根据升级顺序,逐一对相对应的can总线上的多个目标ecu进行升级。
68.可选地,该车辆ota升级装置400还可以包括第二确定模块或者第三确定模块。
69.第二确定模块用于通过解析ota指令来确定目标ecu之间的依赖关系。
70.第三确定模块用于从预定的依赖关系表中确定目标ecu之间的依赖关系。
71.可选地,该车辆ota升级装置400还可以包括发送模块。
72.发送模块用于若有目标ecu刷写失败,则发送提示消息,提示消息包括刷写失败的目标ecu的标识信息。
73.可选地,提示消息还包括进行回退处理的目标ecu的标识信息。
74.可选地,第一确定模块401包括第一确定子模块或第二确定子模块。
75.第一确定子模块用于在预定的ecu和can总线的对应关系中,查找出与目标ecu对应的can总线,作为目标ecu所处的can总线。
76.第二确定子模块用于通过解析ota指令来确定目标ecu所处的can总线。
77.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
78.本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开提供的上述车辆ota升级方法的步骤。
79.本公开还提供一种无人驾驶设备,包括存储器和处理器,存储器上存储有计算机程序;处理器用于执行存储器中的计算机程序,以实现本公开提供的上述车辆ota升级方法
的步骤。
80.图5是根据一示例性实施例示出的一种无人驾驶设备500的框图。如图5所示,该无人驾驶设备500可以包括:处理器501,存储器502。该无人驾驶设备500还可以包括多媒体组件503,输入/输出(i/o)接口504,以及通信组件505中的一者或多者。
81.其中,处理器501用于控制该无人驾驶设备500的整体操作,以完成上述的车辆ota升级方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该无人驾驶设备500的操作,这些数据例如可以包括用于在该无人驾驶设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read

only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read

only memory,简称eprom),可编程只读存储器(programmable read

only memory,简称prom),只读存储器(read

only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该无人驾驶设备500与其他设备之间进行有线或无线通信。无线通信,例如wi

fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb

iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:wi

fi模块,蓝牙模块,nfc模块等等。
82.在一示例性实施例中,无人驾驶设备500可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的车辆ota升级方法。
83.在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的车辆ota升级方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由无人驾驶设备500的处理器501执行以完成上述的车辆ota升级方法。
84.在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的车辆ota升级方法的代码部分。
85.以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
86.另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
87.此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献