车辆和网络系统的制作方法

文档序号:30618916发布日期:2022-07-02 01:52阅读:78来源:国知局
车辆和网络系统的制作方法

1.本发明涉及一种用于基于与空中下载(ota)服务器的通信更新软件的车辆和网络系统。


背景技术:

2.车辆中的电子控制单元(ecu)的数量正在增加。随着ecu的结构和功能变得越来越复杂,出于如漏洞修复、性能提升和安全性提升等原因,ecu内部的软件模块也需要更新。
3.如上面讨论,此类软件需要更新,以添加新功能并改进错误。
4.近年来,已经开始提供空中下载(ota)服务,用于通过空中下载的方式来更新软件,这可以安全快速地进行具有成本效益的软件更新,并且可以减少软件召回和相关成本。
5.现有的方法使用ota服务器和车辆或具有短距离车辆的本地网络之间的一对一通信以多对一的方式更新车辆的软件。现有方法的问题在于,它只能用本地网络中的有限资源进行更新。


技术实现要素:

6.本发明的一方面是提供一种车辆和网络系统,其能够在停车或自动驾驶情况下在更新时间期间从不受距离限制的多个其他车辆下载和更新最新软件。
7.本发明的附加方面部分地在随后的描述中阐述,并且部分地,从描述中应该是显而易见的,或者可以通过本发明的实施获知。
8.根据本发明的一个方面,一种车辆(主车辆)包括控制器和通信器。该通信器被配置为执行与网络中的服务器和多个其他车辆进行通信。基于车辆的软件更新请求,控制器被配置为响应于确定由车辆形成的无线网络中包括的多个其他车辆中,具有与所述车辆中包括的处理器相对应的处理器并且软件更新已完成的其他车辆的数量大于或等于预定参考值,通过其他车辆执行车辆的软件更新。
9.控制器可以被配置为基于与无线网络中包括的多个其他车辆对应的数据传输速度给予多个其他车辆中的每个车辆优先级,并基于该优先级,执行车辆的软件更新。
10.控制器可以被配置为确定无线网络中包括的多个其他车辆中的每个车辆的剩余驾驶时间,基于与其他车辆中的每个车辆对应的剩余驾驶时间给予多个其他车辆中的每个车辆优先级,并基于该优先级执行车辆的软件更新。
11.控制器可以被配置为给予无线网络中包括的多个其他车辆中执行自动驾驶的其他车辆高优先级,并基于该优先级执行车辆的软件更新。
12.控制器可以被配置为基于与无线网络中包括的多个其他车辆中的每个车辆对应的剩余驾驶时间和数据传输速度,确定要从多个其他车辆中的每个车辆接收的数据量。
13.基于并未根据无线网络中包括的多个其他车辆执行软件更新,控制器可以被配置为从服务器接收数据以执行软件更新。
14.基于确定无线网络中包括的其他车辆的数量小于或等于预定参考值,控制器可以
被配置为从服务器接收数据以执行软件更新。
15.基于并未根据无线网络中包括的其他车辆完成软件更新,控制器可以被配置为从服务器接收剩余数据以执行软件更新。
16.根据本发明的另一方面,一种车辆网络系统包括车辆、多个其他车辆和服务器。服务器配置为与车辆和多个其他车辆中具有与车辆中包括的处理器相对应的处理器的其他车辆形成无线网络。基于车辆的软件更新请求,所述车辆可以配置为响应于确定无线网络中包括的其他车辆的数量大于或等于预定参考值,通过其他车辆执行所述车辆的软件更新。
附图说明
17.从结合附图的实施例的以下描述中,本发明的这些和/或其他方面应该变得显而易见,并且更容易理解:
18.图1是根据实施例的车辆和网络系统的控制框图。
19.图2是根据实施例的用于描述其中车辆和另一车辆形成网络的操作的视图。
20.图3和图4是根据实施例的用于描述确定优先级的操作的视图。
21.图5是根据实施例的用于描述形成无线网络的操作的视图。
22.图6是根据实施例的流程图。
具体实施方式
23.在整个说明书中,相同的附图标记指代相同的元件。对本发明的实施例的要素没有进行全部描述,并且对本领域公知的或者实施例中相互重叠的部分不再赘述。在整个说明书中使用的术语,如“~部分”、“~模块”、“~构件”、“~块”等可以在软件和/或硬件中实现,并且多个“~部分”、“~模块”、“~构件”或“~块”可以在单个要素中实现,或者单个“~部分”、“~模块”、“~构件”或“~块”可以包括多个要素。
24.应当进一步理解,术语“连接”及其派生词既指直接连接,也指间接连接。间接连接包括通过无线通信网络的连接。
25.除非另有说明,否则术语“包括”和“包含”是包容性的或开放式的,并且不排除附加的未列举的要素或方法步骤。
26.此外,当声明一个层在另一层或基底“上”时,该层可以直接地在另一层或基底上,或者第三层可以设置在它们之间。
27.应当理解,尽管术语第一、第二、第三等在本文中可以用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受这些术语限制。这些术语仅用于将一个元件、组件、区域、层或部分与另一个区域、层或部分区分开来。
28.应当理解,单数形式“一”和“该”包括复数参考,除非上下文另有明确规定。
29.用于方法步骤的附图标记仅为了解释方便而使用,但不用于限制步骤的顺序。因此,除非上下文另有明确规定,否则可以以其他方式实施书面描述的顺序。当本发明的组件、设备、元件等被描述为具有目的或执行操作、功能等时,该组件、设备或元件在本文中应被视为“配置为”满足该目的或执行该操作或功能。
30.在下文中,将参考附图描述本发明的操作原理和实施例。
31.图1是根据实施例的车辆和网络系统的控制框图。
32.参考图1,车辆100可以包括通信器110和控制器120。
33.通信器110可以与服务器200和多个其他车辆300通信。
34.通信器110可以包括能够与外部设备进行通信的一个或多个组件,并且可以包括例如短距离通信模块、有线通信模块或无线通信模块中的至少一个。
35.当存在车辆100的软件更新请求时,当与该车辆一起形成的无线网络中包括的多个其他车辆300中,具有与车辆100中包括的处理器相对应的处理器并且软件更新已经完成的其他车辆的数量大于或等于预定参考值时,控制器120可以通过其他车辆300执行车辆100的软件更新。
36.同时,服务器200可以与多个其他车辆300中包括与车辆100中包括的处理器对应的处理器的其他车辆形成网络。
37.同时,服务器200可以被提供为空中下载(ota)服务器。此外,无线网络可以被提供为虚拟局域网(lan)。
38.虚拟lan可以指通信网络(lan),其实际上对距离和位置没有限制,无论物理网络配置如何。设备使用lan交换机或异步传输模式(atm)交换机来任意地划分传输广播的数据包的范围,无论物理布线如何。即使它们连接到不同的网络,属于虚拟lan的终端也可以接收与连接到同一lan的终端相同的服务。
39.服务器200可以使用车辆100的ecu信号来将相同的电子控制单元(ecu)信息,即具有相似处理器规格的车辆,设置为一个虚拟网络(vlan、虚拟lan)环境,无论距离或位置如何。
40.另一方面,如果对设置为相同vlan环境的车辆有新的更新,则可以通过服务器200和车辆100之间的通信来执行软件更新。
41.换句话说,通过服务器200和车辆100之间的直接通信,可以直接地执行更新,直到超过一定数量的车辆。
42.同时,当具有已更新软件的其他车辆的数量等于或大于预定数量,即参考值时,车辆100可以通过与其他车辆300的通信更新软件。
43.控制器120可以基于与无线网络中包括的多个其他车辆300对应的数据传输速度给予多个车辆中的每个车辆优先级。
44.控制器120可以基于该优先级执行车辆100的软件更新。
45.车辆100和服务器200可以创建能够更新的周围车辆的列表。
46.控制器120可以从软件更新中使用的其他车辆300的列表中排除与其他车辆的网络通信质量低于特定水平的其他车辆。
47.控制器120可以确定无线网络中包括的多个其他车辆300中的每个车辆的剩余驾驶时间,基于与其他车辆中的每个车辆对应的剩余驾驶时间给予多个其他车辆300中的每个车辆优先级,并基于该优先级执行车辆100的软件更新。
48.换句话说,控制器120可以接收具有长剩余驾驶时间的车辆的大量时间的数据,并且可以通过对具有长剩余驾驶时间的车辆给予高优先级,接收数据。
49.控制器120可以对无线网络中包括的多个其他车辆300中以针对剩余驾驶时间的高可靠性执行自动驾驶的车辆给予高优先级,并基于该优先级更新车辆100的软件。
50.换句话说,控制器120可以给予执行自动驾驶的车辆100高优先级并给予执行正常驾驶的车辆100低优先级。
51.控制器120可以基于与无线网络中包括的多个其他车辆300中的每个车辆对应的剩余驾驶时间和数据传输速度,确定要从多个其他车辆300中的每个车辆接收的数据量。
52.例如,当全部更新所需的数据为1gb时,具有长剩余驾驶时间和高传输速度的其他车辆可以接收700mb的数据,而具有短剩余驾驶时间和低传输速度的其他车辆可以接收300mb的数据。
53.当不从无线网络中包括的多个其他车辆300执行软件更新时,控制器120可以从服务器200接收数据并执行软件更新。
54.当无线网络中包括的其他车辆的数量小于或等于预定参考值时,控制器120可以从服务器200接收数据并执行软件更新。换句话说,当未形成由足够数量的其他车辆组成的无线网络用于软件更新时,控制器120可以直接地从服务器200接收数据,并执行软件更新。
55.控制器120可以包括存储器和处理器,该存储器存储用于算法或者再现用于控制车辆100中的组件的操作的算法的程序的数据,该处理器使用存储在存储器中的数据执行上述操作。在这种情况下,存储器和处理器可以被实施为分离的芯片。可替代地,存储器和处理器可以被实施为单个芯片。
56.根据图1中所示的车辆100的组件的性能,可以添加或删除至少一个组件。另外,本领域普通技术人员应该容易理解,组件的相互位置可以被改变成与系统的性能或结构对应。
57.同时,图1中所示的每个组件都可以指软件和/或硬件组件,如现场可编程门阵列(fpga)和专用集成电路(asic)。
58.图2是根据实施例的用于描述其中车辆和另一车辆形成网络的操作的视图。图3和图4是根据实施例的用于描述确定优先级的操作的视图。
59.参考图2和图3,形成无线网络的其他车辆310、320、330和340可以与车辆100通信。
60.同时,在图2中,第一、第二和第四其他车辆310、320和340是执行自动驾驶的车辆,而第三其他车辆330是不执行自动驾驶的普通车辆。车辆100的控制器120可以创建具有针对自动驾驶车辆的优先级的更新列表。在普通驾驶车辆的情况下,当设置导航目的地时,控制器120可以在考虑剩余驾驶时间的情况下形成其他车辆的列表。
61.特别地,由于传输速度仅为0.5mb/s,第四其他车辆340可以被给予最低优先级。接收软件数据的车辆100可以将与第四其他车辆一样的数据传输速度排除在外,因为它不适合车辆100的软件更新。
62.同时,在第三其他车辆330的情况下,剩余驾驶时间可以是10分钟,并且传输速度可以以2mb/s进行提供。
63.当控制器120确定其他车辆的剩余驾驶时间时,可以获得并使用导航目的地设置信息。
64.同时,在第三其他车辆330的情况下,虽然传输速度高于第二其他车辆320的传输速度,但由于第三其他车辆本身不是自动驾驶车辆,因此可以给予较低的优先级。
65.在第一其他车辆310的情况下,传输速度是3mb/s,并且在图2中所示的其他车辆中具有最大数据传输速度。然而,剩余驾驶时间仅为5分钟,因此可以给予第二优先级。
66.同时,第二其他车辆320可以具有1mb/s的传输速度,但是具有最长的剩余驾驶时间,因此被给予最高优先级。
67.同时,车辆100的控制器120可以根据图2中所示的其他车辆中的第一和第二其他车辆执行软件更新,并且确定第三其他车辆330是备用车辆。
68.同时,参考图2和图4,描述了其中车辆100的软件更新需要2gb的实施例。
69.车辆100可以基于其他车辆的数据传输速度和剩余驾驶时间,确定要从每个其他车辆接收的数据。
70.如图3中所示,软件基本上被更新到第一和第二周围车辆310和320,并且软件更新所需的数据可以被分布成集中在第一和第二其他车辆310和320上。
71.特别地,考虑到车辆100的传输速度,可以为更新列表中每个周围车辆计算要下载的软件量。
72.车辆100可以通过将每个其他车辆的传输速度相加,将每个其他车辆的传输速度除以对应的值,并乘以要下载的软件量来计算。
73.同时,可以基于以下等式确定从每个车辆接收的数据量。
74.【等式1】
[0075][0076]
参考等式1,d
full
可以指所有要接收的数据量,v
n1
可以指对应的其他车辆的数据传输速度,并且v
n2
可以指在其他车辆中未分配数据的另一车辆的数据传输速度。d
n1
可以指分配给对应的其他车辆的要接收的数据量。
[0077]
车辆100可以计算下载计算出的数据量所需的时间。当对应的时间超过剩余驾驶时间时,车辆100可以通过计算对于车辆100来说不足的时间量而在备用车辆(即第三其他车辆330)中进行分配。
[0078]
参考图4,由于第二其他车辆320具有1mb/s的传输速度,所以总量的1/4可以相对于第一其他车辆310进行分配。因此,车辆100可以从第二其他车辆320接收500mb的数据,即2gb的1/4。
[0079]
同时,由于第二其他车辆320的剩余驾驶时间是10分钟并且第二其他车辆320的数据传输速度是1mb/s,所以接收全部500mb的数据需要500秒。
[0080]
因此,可以在第二其他车辆320行驶的同时接收所有对应数据。
[0081]
在第一周围车辆310的情况下,可以以3mb/s的传输速度接收数据,并且可以相对于第二其他车辆320分配总量的3/4。
[0082]
因此,车辆100可以从第一其他车辆310接收1500mb的数据,即2gb的3/4。
[0083]
同时,第一其他车辆310的剩余驾驶时间为5分钟,即300秒,第一其他车辆310的数据传输速度为3mb/s。另外,接收1500mb的所有数据需要500秒,因此,可能无法在第一其他车辆310行驶的同时接收所有对应的数据。
[0084]
换句话说,车辆100可能无法以500秒的时间从第一其他车辆310接收1500mb的数据。
[0085]
车辆100可以计算通过其他车辆的下载时间,并且通过与服务器200的通信比较下
载时间。
[0086]
同时,在接收软件更新时,如果从其他车辆300接收数据比从服务器200接收数据花费更多的时间,则可以通过服务器200下载数据。
[0087]
同时,车辆100可以以预定时间间隔考虑到每个其他车辆的网络速度和通信状态来更新更新车辆列表,并且可以通过基于更新的历史重新计算更新量来更新软件。
[0088]
此外,当车辆100不能再找到能够更新车辆软件的另一车辆时,为了剩余量,车辆100可以连接到服务器200,并将剩余数据下载到车辆100。
[0089]
此外,当车辆100即使在经过一定时间后也不能通过虚拟网络上的通信与任何其他车辆更新时,通过将车辆100的id放入服务器200的队列中,它等待直到ota服务器的网络负载达到一定程度。当达到队列中的第一顺序时,车辆100可以执行更新。
[0090]
同时,参考图2至图4描述的操作仅是用于描述本发明的操作。对向其他车辆300分配数据和接收数据的车辆100的操作并无限制。
[0091]
图5是根据实施例的用于描述形成无线网络的操作的视图。
[0092]
参考图5,与服务器200通信的车辆100可以都形成无线网络。
[0093]
图5示出了三个无线网络g1、g2和g3。
[0094]
服务器200可以为每个车辆指定和管理vlan,并且还可以用相同vlan中的相同软件图像执行更新。
[0095]
例如,g1无线网络可以基于与车辆和g1中包括的服务器的通信执行软件更新。
[0096]
服务器200可以根据每个车辆的ecu配置来配置vlan。
[0097]
根据实施例,在车辆构成g2的无线网络的情况下,总共可以配置11个ecu。服务器可以将车辆分组并将它们作为一个虚拟网络进行管理。
[0098]
根据实施例,构成g3无线网络的车辆可以配置有总共六个ecu。服务器可以将车辆分组并将它们作为一个虚拟网络进行管理。
[0099]
同时,当车辆访问服务器时,服务器可以搜索车辆的硬件配置并将该车辆包括在与该配置对应的无线网络中。
[0100]
图6是根据实施例的流程图。
[0101]
参考图6,当存在车辆100的软件更新请求(在1001中为是)时,当无线网络中包括的已更新车辆的数量超过参考值(在1002中为是)时,车辆100可以通过其他车辆300执行软件更新(1003)。
[0102]
同时,当车辆100通过其他车辆300执行软件更新时,其他车辆的数据传输速度和其他车辆的剩余驾驶时间可以如上所述进行考虑。
[0103]
另一方面,当无线网络中包括的其他车辆300的数量小于或等于参考值(在1002中为否)时,车辆100可以通过服务器200执行软件更新(1005)。
[0104]
同时,即使当使用其他车辆300未完成软件更新(在1004中为否)时,车辆100可以再次通过服务器200执行软件更新(1005)。
[0105]
根据本发明的实施例,车辆和网络系统可以在停车或自动驾驶情况下在更新时间内从不受距离限制的多个其他车辆下载和更新最新软件。
[0106]
可以以存储可由处理器执行的计算机可执行指令的记录介质的形式来实现所公开的实施例。指令可以以程序代码的形式存储,并且当由处理器执行时,指令可以程序程序
模块,以执行所公开的实施例的操作。记录介质可以非暂时性地实施为非暂时性计算机可读记录介质。
[0107]
非暂时性计算机可读记录介质可以包括存储可以由计算机解释的命令的所有类型的记录介质。例如,非暂时性计算机可读记录介质可以是例如rom、ram、磁带、磁盘、闪存、光学数据存储设备等。
[0108]
已经参考附图描述了本发明的实施例。对于本领域的普通技术人员来说显而易见的是,在不改变本发明的技术思想或本质特征的情况下,可以以不同于上述实施例的其他形式来实施本发明。上述实施例仅通过示例的方式,并且不应该以限制意义进行解释。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1