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

OTA主机、方法及非暂时性存储介质与流程

2022-10-29 05:50:20 来源:中国专利 TAG:

ota主机、方法及非暂时性存储介质
技术领域
1.本公开涉及用于控制电子控制单元(ecu)上的软件更新的ota主机、方法和非暂时性存储介质。


背景技术:

2.车辆配备有控制车辆的操作的多个电子控制单元(ecu)。每个ecu包括处理器、诸如随机存取存储器(ram)的暂时性存储单元、以及诸如闪速只读存储器(rom)的非易失性存储单元。每个ecu的控制功能通过处理器执行存储在非易失性存储单元中的软件来实现。存储在每个ecu中的软件是可重写的,可以通过将软件更新至较新版本来改善每个ecu的功能或将新的车辆控制功能添加至每个ecu。
3.空中下载(ota)技术已知为一种用于更新ecu上的软件的技术。在ota技术中,通过如下方式更新ecu上的程序或者添加ecu上的程序:将与车载网络连接的车载通信装置无线连接到诸如互联网的通信网络,经由无线通信从ota中心下载软件(更新数据),以及安装所下载的软件(参见,例如,日本未审查专利申请公开第2004-326689号(jp2004-326689a))。
4.从ota中心发送到车辆的更新数据已经被加密,车辆解密该更新数据以更新ecu上的程序(软件)。


技术实现要素:

5.存在车辆不能解密从ota中心接收的更新数据的情况。这样的情况的示例包括:当车辆的ecu由于ecu的替换而不再具有解密功能时,当ecu上的软件的版本不适当地改变时(当ecu上的软件与更新数据的加密方法不兼容时),当加密的更新数据已经被损坏时,以及当更新数据已经被篡改时。在这样的情况下,由于车辆不能解密从ota中心接收的更新数据,所以需要采取适当的措施。
6.本公开提供了一种ota主机、方法和非暂时性存储介质,当车辆不能解密从ota中心接收的更新数据时可以采取适当措施。
7.根据本公开的ota主机被配置为控制安装在车辆上的ecu上的软件更新。所述ota主机包括一个以上处理器。所述一个以上处理器被配置为从ota中心下载所述ecu上的软件的更新数据。所述一个以上处理器被配置为使用所述更新数据控制所述ecu上的所述软件更新。所述一个以上处理器被配置为当所述更新数据已经被加密并且解密处理是必要的但所述解密处理失败时,向所述ota中心发送指示所述解密处理失败的通知。
8.在根据本公开的ota主机中,所述一个以上处理器可以被配置为当所述更新数据已经被加密并且所述更新数据需要由所述ota主机执行解密处理时,执行所述解密处理。所述一个以上处理器可以被配置为当所述解密处理失败时,向所述ota中心发送指示所述ota主机的所述解密处理失败的通知。
9.在根据本公开的ota主机中,所述一个以上处理器可以被配置为当所述更新数据已经被加密并且所述更新数据需要由所述ecu执行所述解密处理时,将所述更新数据发送
至所述ecu以使所述ecu执行所述解密处理。所述一个以上处理器可以配置为当所述一个以上处理器从所述ecu接收指示所述解密处理已经失败的信息时,向所述ota中心发送指示所述ecu的所述解密处理已经失败的通知。
10.在根据本公开的ota主机中,所述一个以上处理器可以被配置为当所述解密处理失败时,向所述ota中心发送包括指示所述解密处理失败的原因的信息的通知。
11.在根据本公开的ota主机中,所述一个以上处理器可以被配置为当所述解密处理失败时向用户发送预定通知。
12.根据本公开的方法由ota主机的计算机执行,ota主机被配置为控制安装在车辆上的ecu上的软件更新。所述计算机包括一个以上处理器和存储器。所述方法包括:从ota中心下载所述ecu上的软件的更新数据;使用所述更新数据控制所述ecu上的所述软件更新;以及当所述更新数据已经被加密并且解密处理是必要的但所述解密处理失败时,向所述ota中心发送指示所述解密处理失败的通知。
13.根据本公开的非暂时性存储介质存储指令,所述指令能够由ota主机的计算机执行以及使所述计算机执行功能,所述ota主机被配置为控制安装在车辆上的ecu上的软件更新。所述ota主机包括一个以上处理器和存储器。所述功能包括:从ota中心下载所述ecu上的软件的更新数据;使用所述更新数据控制所述ecu上的所述软件更新;以及当所述更新数据已经被加密并且解密处理是必要的但所述解密处理失败时,向所述ota中心发送指示所述解密处理失败的通知。
14.根据本公开,提供了一种ota主机、方法和非暂时性存储介质,其能够在车辆不能解密从ota中心接收的更新数据时采取适当措施。
附图说明
15.下面将参考附图描述本发明的示范性实施例的特征、优点和技术和工业意义,在附图中相似的标记表示相似的元件,其中:
16.图1是示出根据实施例的网络系统的整体配置的示例的框图;
17.图2是示出图1中所示的ota中心的示意性配置的示例的框图;
18.图3是示出图1中所示的ota主机的示意性配置的示例的框图;
19.图4是示出图1中所示的ecu的示意性配置的示例的框图;
20.图5是示出图1中所示的ota中心的示例的功能框图;
21.图6是示出图1中所示的ota主机的示例的功能框图;以及
22.图7是示出图1所示的ota主机和各个ecu执行的控制处理的示例的流程图。
具体实施方式
23.实施例
24.图1是示出根据实施例的网络系统的整体配置的示例的框图。图2是示出图1中所示的ota中心的示意性配置的示例的框图。图3是示出图1中所示的ota主机的示意性配置的示例的框图。
25.图1中所示的网络系统是用于更新安装在车辆上的电子控制单元(ecu)13a至13d上的软件的系统,并且包括ota中心1、安装在车辆中的车载网络2以及通信网络5。
26.ota中心1可以经由通信网络5(如互联网)与安装在车辆上的ota主机11无线通信。ota中心1管理安装在车辆上的ecu13a至13d的软件更新。
27.如图2所示,ota中心1包括中央处理单元(cpu)21、ram22、存储装置23和通信装置24。存储装置23包括可读和可写存储介质,诸如硬盘驱动器(hdd)或固态驱动器(ssd)。例如,存储装置23存储用于执行软件更新管理的程序、用于软件更新管理的信息以及ecu的更新数据。cpu21通过使用ram22作为工作区域执行从存储装置23读取的程序来执行控制处理。通信装置24经由通信网络5与ota主机11通信。
28.如图1所示,车载网络2包括ota主机11、通信模块12、ecu13a至13d、以及人机接口(hmi;例如,在其上可执行输入操作的汽车导航系统的显示装置)14。ota主机11经由总线15a连接到通信模块12。ota主机11经由总线15b连接到ecu13a、13b。ota主机11经由总线15c连接至ecu13c、13d。ota主机11经由总线15d连接至hmi14。ota主机11可以经由通信模块12与ota中心1无线通信。ota主机11基于从ota中心1获取的更新数据,控制ecu13a至13d中的软件(有时被称为“sw”)要被更新的ecu(有时被称为“目标ecu”)上的软件更新。通信模块12是连接车载网络2和ota中心1的通信装置。ecu13a至13d控制车辆的各个部件的操作。hmi14用于在ecu13a至13d的软件更新处理期间显示各种指示,诸如存在更新数据的指示、请求用户或管理员接受软件更新的接受请求画面以及更新结果。虽然图1中示出了四个ecu13a至13d,但是ecu的数目不受限制。一个以上目标ecu13a至13d可以用作ota主机11。
29.如图3所示,ota主机11包括微型计算机35和通信装置36。微型计算机35包括cpu31、ram32、rom33和存储装置34。cpu31通过使用ram32作为工作区域执行从rom33读取的程序来执行控制处理。通信装置36经由图1中示出的总线15a至15d与通信模块12、ecu13a至13d、以及hmi14通信。
30.将描述ecu13a至13d中的ecu13a。如图4所示,ecu13a包括cpu41、ram42、非易失性存储器43和通信装置45。cpu41通过使用ram42作为工作区域来执行从非易失性存储器43读取的程序,或者通过使用通信装置45与其他装置通信,来实现ecu13a的功能。ecu13b至13d可以具有类似于ecu13a的配置。
31.该软件更新处理包括下载阶段、安装阶段和激活阶段。在下载阶段,更新数据从ota中心1下载到ota主机11。在安装阶段,ota主机11将下载的更新数据传送至目标ecu,并且将更新数据(更新软件)安装在目标ecu的存储区域中。在激活阶段,目标ecu激活所安装的软件的更新版本。
32.下载是接收从ota中心1发送的更新数据并将所接收的更新数据存储在存储装置34中的处理。更新数据是用于更新ecu上的软件的数据。除了接收更新数据之外,下载阶段还包括与下载相关的一系列处理的控制,诸如判定是否可以执行下载以及验证更新数据。安装是基于下载的更新数据在目标ecu的非易失性存储器中写入程序的更新版本(更新软件)的处理。除了执行安装之外,安装阶段包括与安装相关的一系列处理的控制,诸如判定是否可执行安装、传输更新数据以及验证程序的更新版本。激活是激活(启用)所安装的程序的更新版本的处理。除了执行激活之外,激活阶段包括与激活相关的一系列控制,诸如判定是否可以执行激活和验证执行结果。
33.从ota中心1发送到ota主机11的更新数据可以包括以下数据中的任一种:ecu的更新软件、更新软件的压缩数据、更新软件或压缩数据的分割数据(divideddata)。更新数据
可以包括识别目标ecu的标识符(ecuid)和识别更新之前的软件的标识符(ecu软件id)。更新数据被下载为分发包。分发包包括用于一个以上ecu的更新数据。
34.当更新数据包括更新软件时,ota主机11在安装阶段将更新数据(即,更新软件)传输至目标ecu。当更新数据包括更新软件的压缩数据、差分数据(differencedata)或分割数据时,ota主机11可以将更新数据传输到目标ecu,目标ecu可以从更新数据生成更新软件。可替代地,ota主机11可以从更新数据生成更新软件,然后将更新软件传输到目标ecu。可以通过解压缩所压缩的数据或者组合差分数据或者分割数据来生成更新软件。
35.基于来自ota主机11的安装请求,目标ecu可以执行更新软件的安装。可替换地,在没有从ota主机11接收到任何明确指令的情况下,已经接收到更新数据或者更新软件的目标ecu可以自主地安装更新软件。
36.基于来自ota主机11的激活请求,目标ecu能够执行更新软件的激活。可替换地,在没有从ota主机11接收任何明确指令的情况下,已经接收更新数据或更新软件的目标ecu可以自主激活更新软件。
37.图5示出了图1所示的ota中心1的功能框图的示例。如图5所示,ota中心1包括存储单元26、通信单元27和控制单元28。通信单元27和控制单元28通过图2中的cpu21使用ram22执行存储在存储装置23中的程序来实现。存储单元26由图2中所示的存储装置23实现。
38.图6示出了图1所示的ota主机11的功能框图的示例。如图6所示,ota主机11包括存储单元37、通信单元38和控制单元39。通信单元38和控制单元39通过图3中的cpu31使用ram32执行存储在rom33中的程序来实现。存储单元37由图3中所示的存储装置34实现。
39.图7是示出由本实施例中的ota主机11和ecu13a至13d执行的控制处理的示例的流程图。在下文中,将参考图7中所示的流程图描述根据本实施例的控制处理。
40.当ota主机11的通信单元38(见图6)接收到通过ota活动从ota中心1发送的软件分发包(更新数据)并且存储单元37存储(即,下载)所接收的软件分发包时,开始图7所示的处理。例如,在ig-on状态(点火电源接通)下接收分发包,并将其存储在存储单元37中。
41.从ota中心1发送的分发包包括指示要更新软件的每个目标ecu(以及要更新的每个目标ecu上的软件)的信息和用于更新每个目标ecu上的软件的更新数据。在分发包中,更新数据可以被单独加密。例如,在包含两条更新数据(用于更新第一ecu上的软件的第一更新数据和用于更新第二ecu上的软件的第二更新数据)的分发包中,也可以将这两条更新数据分别加密。在分发包中,多条更新数据可以被一起加密。例如,在包含两条更新数据(用于更新第一ecu上的软件的第一更新数据和用于更新第二ecu上的软件的第二更新数据)的分发包中,也可以将这两条更新数据一起加密为单条加密数据。在分发包中,可以如上所述对多条更新数据分别进行加密,可以如上所述对分别加密的更新数据一起进行加密。
42.在步骤s1中,ota主机11的控制单元39判定存储单元37中存储的分发包中的更新数据是否需要被ota主机11解密。例如,分发包包括指示要执行解密处理的装置的信息,ota主机11的控制单元39基于该信息进行该判定。可替代地,例如,更新数据本身包括指示要执行解密处理的装置的信息(在解密之前可读取的信息),ota主机11的控制单元39基于该信息进行该判定。当在步骤s1中为是时,例程进行到步骤s2。当步骤s1中为否时,例程进行到步骤s5。
43.在步骤s2中,ota主机11的控制单元39使用预先存储在存储单元37中的密钥信息
对分发包中的更新数据执行解密处理。然后,例程进行到步骤s3。
44.在步骤s3中,ota主机11的控制单元39判定步骤s2中执行的解密处理是否成功。即,ota主机11的控制单元39判定更新数据是否已被成功解密。在步骤s3中为是的情况下,例程进行到步骤s5。在步骤s3中为否的情况下,例程进行到步骤s4。
45.在步骤s4中,ota主机11的控制单元39通知ota中心1更新的数据不能被ota主机11解密(解密失败)。具体地,控制单元39通过使用通信单元38(和通信模块12)向ota中心1发送通知,该通知包括指示不能解密的更新数据的信息和指示不能被ota主机11解密的更新数据的信息。在步骤s4中,ota主机11的控制单元39还通知用户不能解密更新数据等。例如,控制单元39使hmi(例如,可以执行输入操作的汽车导航系统的显示装置)14显示诸如“更新软件的解密失败。请联系经销商。”的消息。然后,图7所示的处理结束。
46.在步骤s5中,ota主机11的控制单元39判定存储在存储单元37中的分发包中的更新数据是否需要被目标ecu解密。例如,分发包包括指示要执行解密处理的装置的信息,ota主机11的控制单元39基于该信息进行该判定。可替代地,例如,更新数据本身包括指示要执行解密处理的装置的信息(在解密之前可读取的信息),ota主机11的控制单元39基于该信息进行该判定。当步骤s5中为是时,例程进行到步骤s6。当步骤s5中为否时,例程进行到步骤s10。
47.在步骤s10中,ota主机11的控制单元39将更新数据(明文更新数据)发送至目标ecu。具体地,控制单元39通过使用通信单元38向目标ecu发送在步骤s5中已经判定目标ecu的解密是不必要的更新数据(明文更新数据)。接收到更新数据的目标ecu安装更新数据(基于更新数据生成的更新软件),然后激活它。从而完成软件更新。然后,图7所示的处理结束。
48.在步骤s6中,ota主机11的控制单元39将更新数据(密文更新数据)发送至目标ecu。具体地,控制单元39通过使用通信单元38向目标ecu发送在步骤s5中已经判定目标ecu的解密是必要的更新数据(密文更新数据)。然后,例程进行到步骤s7。
49.在步骤s7中,目标ecu的控制单元(cpu41)使用预先存储在非易失性存储器43(或ota主机11的存储单元37)中的密钥信息对在步骤s6中从ota主机11发送的更新数据执行解密处理。然后,例程进行到步骤s8。
50.在步骤s8中,目标ecu的控制单元(cpu41)判定在步骤s7中执行的解密处理是否成功。即,目标ecu的控制单元(cpu41)判定更新数据是否已被成功解密。当在步骤s8中为是时,例程进行到步骤s9。当在步骤s8中为否时,例程进行到步骤s11。
51.在步骤s9中,目标ecu的控制单元(cpu41)将在步骤s7中解密的更新数据(基于更新数据生成的更新软件)安装在非易失性存储器43中,然后激活它。从而完成软件更新。然后,图7所示的处理结束。
52.在步骤s11中,目标ecu的控制单元(cpu41)判定是否已经识别出步骤s7中更新数据的解密失败的原因。例如,即使当在步骤s7中解密处理失败时,目标ecu的控制单元(cpu41)也能够识别用于要被解密的更新数据的加密方法(加密算法)。具体地,在作为公用密钥加密方法的高级加密标准(aes)的情况下,当使用具有256位长度的公用密钥执行对利用具有128位长度(密钥信息的位数)的公用密钥加密的更新数据的解密处理时,目标ecu的控制单元(cpu41)在解密更新数据时失败。然而,例如,当能够识别加密方法的信息以该信息在解密之前是可读的方式包括在更新数据中时,目标ecu的控制单元(cpu41)能够识别出
用于更新数据的加密方法是aes。在这种情况下,目标ecu的控制单元(cpu41)将用于解密的密钥信息与适当的密钥信息不同视为解密失败的原因(理由)。在这种情况下,目标ecu的控制单元(cpu41)判定已经识别出了在步骤s7中更新数据的解密失败的原因(步骤s11中为是)。当步骤s11中为是时,例程进行到步骤s12。当在步骤s11中为否时,例程进行到步骤s14。
53.在步骤s12中,目标ecu的控制单元(cpu41)通知ota主机11更新数据不能被目标ecu解密(目标ecu解密更新数据失败),还通知ota主机11更新数据不能被解密的原因。具体而言,目标ecu的控制单元(cpu41)通过使用通信装置45向ota主机11发送通知,该通知包括指示不能解密的更新数据的信息、指示不能由该目标ecu(自身)解密更新数据的信息以及指示不能解密更新数据的原因(理由)的信息。然后例程进行到步骤s14。
54.在步骤s14中,目标ecu的控制单元(cpu41)通知ota主机11更新数据不能被目标ecu解密(目标ecu解密更新数据失败)。具体地,目标ecu的控制单元(cpu41)使用通信装置45向ota主机11发送通知,该通知包括指示不能解密的更新数据的信息以及指示目标ecu(自身)不能解密更新数据的信息。然后例程进行到步骤s13。
55.在步骤s13中,ota主机11的控制单元39使用通信单元38(和通信模块12)将在步骤s12或s14从目标ecu接收的信息通知(发送)ota中心1。在步骤s13中,ota主机11的控制单元39通知用户不能解密更新数据。例如,控制单元39使hmi14显示诸如“更新软件的解密失败。请联系经销商”的消息。然后,图7所示的处理结束。
56.如上所述,在本实施例中,当经加密的更新数据解密失败时,通知ota中心1对更新数据的解密失败。因此,ota中心1可以识别出车辆的目标ecu上的软件更新已经失败。因而,ota中心1可以采取适当的措施(诸如向ota主机11重新发送用不同密码加密的更新数据)。例如,ota中心1可以检查目标ecu的版本、目标ecu上的软件的版本、所发送的更新数据等是否合适并且可以采取合适的措施。例如,当ota中心1判定出发送的更新数据不合适时,ota中心1可以向ota主机11重新发送合适的更新数据。
57.如上所述,在本实施例中,当经加密的更新数据的解密失败时,向ota中心1通知指示解密更新数据已失败的装置(ota主机,ecu)的信息。ota中心1因此可以识别出执行软件更新已失败的装置。这使得ota中心1更容易采取措施。例如,ota中心1可以仅向执行软件更新已失败的装置发送另一条更新数据。
58.如上所述,在本实施例中,当经加密的更新数据的解密失败时,可以将解密失败的原因(理由)通知给ota中心1。因此,ota中心1可以识别出解密失败的原因(理由)。这使得ota中心1更容易采取措施。例如,ota中心1可以将用不同密码加密的更新数据重新发送到ota主机11。
59.如上所述,在本实施例中,当经加密的更新数据的解密失败时,将预定通知(更新数据的解密失败、用户需要联系经销商等的通知)发送给用户。这可以有助于解决由于解密失败而不能执行软件更新的问题。
60.变形例
61.在上述实施例中,当通知ota中心1ota主机11在解密处理中失败时(见图7中的s4),并且当可以识别出解密失败的原因时,与在目标ecu在解密处理中失败的情况相同,可以将识别出的原因通知给ota中心1(见图7中的s11至s14)。
62.上述实施例中所示的ota中心1的功能可以实现为由包括处理器(cpu)、存储器和通信装置的计算机执行的管理方法、由计算机执行的管理程序或存储管理程序的计算机可读非暂时性存储介质。类似地,上述实施例中示出的ota主机11的功能可以被实现为由包括处理器(cpu)、存储器和通信装置的车载计算机执行的控制方法、由车载计算机执行的控制程序、或者存储控制程序的计算机可读非暂时性存储介质。ota中心可以包括一个以上处理器。ota主机可以包括一个以上处理器。
63.所公开的技术能够在用于更新电子控制单元(ecu)上的程序的网络系统中使用。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献