用于实现并行刷新的系统、方法及车辆与流程
未命名
09-08
阅读:98
评论:0

1.本发明总体上涉及汽车电子控制单元(electroniccontrolunit,ecu)的刷新技术,并且更具体地涉及一种用于实现并行刷新的系统、用于实现并行刷新的方法及包括所述用于实现并行刷新的系统的车辆。
背景技术:
2.随着科技的发展,汽车ecu的功能日益强大,可以提供更多的控制和管理功能,使得汽车更加安全可靠。
3.汽车ecu的刷新技术可以实现低成本、高效化的功能迭代。在传统的ecu刷新方案中,需要根据不同的ecu型号使用不同的刷新方法。通常,在一个ecu刷新工作结束后才能进行下一个ecu的刷新工作。当面对庞大的ecu数量及高频次的刷新工作时,将消耗大量的生产时间,导致生产效率降低。此外,不同型号的ecu的刷新程序开发也将浪费大量的人力成本。
技术实现要素:
4.为了解决或至少缓解以上问题中的一个或多个,提供了以下技术方案。
5.按照本发明的第一方面,提供一种用于实现并行刷新的系统,所述用于实现并行刷新的系统包括:用户应用模块,其配置成基于刷新数据生成多个刷新任务;以及系统服务模块,其包括:通讯服务单元,其经由具有不同通信协议的多个通信路径与外部数据源和一个或多个电子控制单元通信地连接并且配置成从所述外部数据源接收刷新数据,并且将所述刷新数据发送至所述用户应用模块;以及调度管理单元,其配置成将所述多个刷新任务分配给所述一个或多个电子控制单元上的多个处理核,使得所述多个刷新任务分别在所述多个处理核上并行地执行。
6.根据本发明一实施例所述的用于实现并行刷新的系统,其中所述多个刷新任务包括第一刷新任务和第二刷新任务,所述第一刷新任务用于刷新所述用于实现并行刷新的系统本身的模块,以及所述第二刷新任务用于刷新所述一个或多个电子控制单元。
7.根据本发明一实施例或以上任一实施例的所述的用于实现并行刷新的系统,其中所述系统服务模块还包括:内存管理单元,其配置成响应于执行所述第一刷新任务而对所述用于实现并行刷新的系统中的一个或多个存储介质进行同步读写操作。
8.根据本发明一实施例或以上任一实施例的所述的用于实现并行刷新的系统,其中所述系统服务模块还包括:协议转换单元,其配置成响应于执行所述第二刷新任务而将所述第二刷新任务中的所述刷新数据转换成适配于所述不同通信协议的刷新数据,使得通过所述通讯服务单元将转换的刷新数据发送至所述一个或多个电子控制单元。
9.根据本发明一实施例或以上任一实施例的所述的用于实现并行刷新的系统,其中所述通信协议包括以下中的一个或多个:以太网通信协议、can通信协议、lin通信协议、通用异步收发协议和私有通信协议。
10.根据本发明一实施例或以上任一实施例的所述的用于实现并行刷新的系统,其中所述调度管理单元进一步配置成:按照第一时间间隔将所述第一刷新任务分配给第一处理核,使得所述第一刷新任务以所述第一时间间隔在所述第一处理核上执行;以及按照第二时间间隔将所述第二刷新任务分配给第二处理核,使得所述第二刷新任务以所述第二时间间隔在所述第二处理核上执行。
11.根据本发明一实施例或以上任一实施例的所述的用于实现并行刷新的系统,其中所述用于实现并行刷新的系统还包括:虚拟层模块,其设置在所述用户应用模块与所述系统服务模块之间并且配置成将所述用户应用模块生成的所述多个刷新任务发送至所述系统服务模块。
12.按照本发明的第二方面,提供一种用于实现并行刷新的方法,所述用于实现并行刷新的方法包括:从外部数据源接收刷新数据;基于所述刷新数据生成多个刷新任务;以及将所述多个刷新任务分配给一个或多个电子控制单元上的多个处理核,使得所述多个刷新任务分别在所述多个处理核上并行地执行。
13.根据本发明一实施例所述的用于实现并行刷新的方法,其中所述多个刷新任务包括第一刷新任务和第二刷新任务,所述第一刷新任务用于刷新所述用于实现并行刷新的系统本身的模块,以及所述第二刷新任务用于刷新所述一个或多个电子控制单元。
14.根据本发明一实施例或以上任一实施例的所述的用于实现并行刷新的方法,其中将所述多个刷新任务分配给一个或多个电子控制单元上的多个处理核包括:按照第一时间间隔将所述第一刷新任务分配给第一处理核,使得所述第一刷新任务以所述第一时间间隔在所述第一处理核上执行;以及按照第二时间间隔将所述第二刷新任务分配给第二处理核,使得所述第二刷新任务以所述第二时间间隔在所述第二处理核上执行。
15.根据本发明的第三方面,提供一种车辆,所述车辆包括根据本发明第一方面所述的用于实现并行刷新的系统。
16.根据本发明的一个或多个实施例的用于实现并行刷新的方案能够通过在多个处理核上并行地执行多个刷新任务来显著提升电子控制单元的软件刷新效率,缩短工厂产线工时,节约成本。
附图说明
17.本发明的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。在所述附图中:
18.图1示出了按照本发明的一个或多个实施例的用于实现并行刷新的系统的结构示意图。
19.图2示出了按照本发明的一个或多个实施例的用于实现并行刷新的系统的结构示意图。
20.图3示出了按照本发明的一个或多个实施例的用于实现并行刷新的系统的数据流图。
21.图4示出了按照本发明的一个或多个实施例的用于实现并行刷新的方法的流程图。
具体实施方式
22.下文详细描述了本发明的示例实施例,附图中图示了这些实施例的示例。应注意的是,下文的描述是为了解释和说明,因此不应视为对本发明的限制。在不背离本发明的原理的前提下,本领域技术人员可以根据实际需要对这些实施例进行电、机械、逻辑和结构方面的更改,而不脱离本发明的范围。此外,本领域技术人员可以理解,针对任何具体的应用场景或实际需要,可以将下文描述的不同实施例的一个或多个特征进行组合。
23.诸如“包含”和“包括”之类的用语表示除了具有在说明书中有直接和明确表述的单元和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。诸如“第一”和“第二”之类的用语并不表示单元在时间、空间、大小等方面的顺序而仅仅是作区分各单元之用。
24.图1示出了按照本发明的一个或多个实施例的用于实现并行刷新的系统的结构示意图。
25.如图1中所示,用于实现并行刷新的系统100包括用户应用模块110和系统服务模块120,系统服务模块120包括通讯服务单元1201和调度管理单元1202。
26.通讯服务单元1201经由具有不同通信协议的多个通信路径与外部数据源和一个或多个电子控制单元通信地连接并且配置成从所述外部数据源接收刷新数据,并且将接收的刷新数据发送至用户应用模块110。用户应用模块110配置成基于刷新数据生成多个刷新任务。调度管理单元1202配置成将多个刷新任务分配给一个或多个电子控制单元上的多个处理核,使得所述多个刷新任务分别在所述多个处理核上并行地执行。
27.可选地,通信协议可以包括但不限于以太网通信协议、can通信协议、lin通信协议、通用异步收发协议以及个性化设计的私有通信协议等。可选地,外部数据源可以包括但不限于各种上位机(例如,测试工具、刷新工具、手机、电脑、u盘等)和远程服务器等。
28.可选地,刷新任务可以包括第一刷新任务和第二刷新任务,所述第一刷新任务用于刷新用于实现并行刷新的系统100本身的各个模块(例如,图1中所示的模块以及图1中未示出的其他模块),以及所述第二刷新任务用于刷新一个或多个电子控制单元。由此,用于实现并行刷新的系统100能够在刷新自身软件的同时对其他电子控制单元的软件进行同步刷新,提高刷新效率。可选地,在执行第一刷新任务时,用于实现并行刷新的系统100可以对其中的一个或多个存储介质(例如,emmc(embeddedmultimediacard)、nor-flash、sram、和eeprom等)进行同步读写操作。可选地,在执行第二刷新任务时,用于实现并行刷新的系统100可以将第二刷新任务中的刷新数据转换成适配于所述不同通信协议的刷新数据,使得通过通讯服务单元1201将转换的刷新数据发送至一个或多个电子控制单元。
29.可选地,调度管理单元1202可以配置成按照第一时间间隔将第一刷新任务分配给第一处理核,使得所述第一刷新任务以所述第一时间间隔在所述第一处理核上执行,以及按照第二时间间隔将第二刷新任务分配给第二处理核,使得所述第二刷新任务以所述第二时间间隔在所述第二处理核上执行。在一个实施例中,为了实现刷新任务的合理调度,调度管理单元1202可以配置成采用时间片轮询的方式将多个刷新任务以1ms、5ms、10ms、50ms等时间片为时间间隔分配给不同的处理核来并行地执行,且刷新任务的执行不可强断,从而实现调度的高效化。
30.根据本发明的一个方面的用于实现并行刷新的系统能够用于实现并行刷新的方
案能够通过在多个处理核上并行地执行多个刷新任务来显著提升电子控制单元的软件刷新效率,缩短工厂产线工时,节约成本。基于一个或多个电子控制单元上的多个处理核的高实时性,提高了数据传输速率和软件刷新速率。
31.图2示出了按照本发明的一个或多个实施例的用于实现并行刷新的系统的结构示意图。
32.如图2中所示,用于实现并行刷新的系统200包括用户应用模块210、虚拟层模块220和系统服务模块230。
33.用户应用模块210配置成基于刷新数据生成多个刷新任务。可选地,刷新数据可以指示实际工况的刷新需求。
34.虚拟层模块220设置在用户应用模块210与系统服务模块230之间并且配置成将用户应用模块210生成的多个刷新任务发送至系统服务模块230。可选地,虚拟层模块220可以提供了虚拟化的api给上层调用,实现了软件模块的可移植性。
35.系统服务模块230可以包括设备管理单元2301、内存管理单元2302、i/o管理单元2303、调度管理单元2304、函数管理单元2305、协议转换单元2306、安全单元2307、核间通讯单元2308、通讯服务单元2309和内存服务单元2310。可选地,系统服务模块230可以通过微控制器抽象层(图2中未示出)通信地连接至一个或多个电子控制单元上的多个处理核以及其他外设设备。
36.设备管理单元2301可以配置成管理用于实现并行刷新的系统200中硬件外设的驱动,为整个软件运行提供外设基础,其包含了电源芯片、硬件加密、高边驱动等。
37.内存管理单元2302可以配置成对用于实现并行刷新的系统200中内存(例如,nor-flash、emmc、sram、eeprom等)进行统一管理,以实现不同存储介质的同时访问。在进行用于实现并行刷新的系统200的自刷新时,由内存管理单元2302实现不同介质的同步读写操作。
38.i/o管理单元2303可以配置成管理用于实现并行刷新的系统200中的输入接口和输出接口。
39.调度管理单元2304可以配置成将多个刷新任务分配给一个或多个电子控制单元上的多个处理核,使得所述多个刷新任务分别在所述多个处理核上并行地执行。可选地,刷新任务可以包括第一刷新任务和第二刷新任务,所述第一刷新任务用于刷新用于实现并行刷新的系统200本身的各个模块(例如,图2中所示的模块以及图2中未示出的其他模块),以及所述第二刷新任务用于刷新一个或多个电子控制单元。可选地,调度管理单元2304可以配置成按照第一时间间隔将第一刷新任务分配给第一处理核,使得所述第一刷新任务以所述第一时间间隔在所述第一处理核上执行,以及按照第二时间间隔将第二刷新任务分配给第二处理核,使得所述第二刷新任务以所述第二时间间隔在所述第二处理核上执行。在一个实施例中,为了实现刷新任务的合理调度,调度管理单元2304可以配置成采用时间片轮询的方式将多个刷新任务以1ms、5ms、10ms、50ms等时间片为时间间隔分配给不同的处理核来并行地执行,且刷新任务的执行不可强断,从而实现调度的高效化以及处理核的均衡分配。
40.函数管理单元2305可以配置成对底层中断函数进行管理,例如可以将中断的服务函数抽象出,提供给虚拟层模块220由用户或者外设使用。函数管理单元2305对上层用户软件不可见,具备统一管理,统一分配的优势。
41.协议转换单元2306可以配置成将刷新数据转换成适配于不同通信协议的刷新数据,使得通过通讯服务单元2309将转换的刷新数据发送至一个或多个电子控制单元,从而实现通信协议的高适配性及跨协议的刷新功能。可选地,协议转换单元2306可以经由can总线、lin总线和以太网总线分别与车辆的can节点、lin节点和以太网节点通信地连接。由此,协议转换单元2306可以支持多种通信协议之间的转换,可拓展性强,能够将各种通信协议进行解析转换以对下级电子控制单元具有更好的兼容性,例如eth2can、eth2lin、can2lin、uart2lin等,从而实现多种类型的电子控制单元的刷新。例如,可以适配不同的外部数据源中的上位机,诸如doip(diagnostic communicationoverinternetprotocol)、uds(unifieddiagnostics services)oncan、udsonlin、uart、udsonip、ftp(filetransfer protocol)等。基于对上位机和下级电子控制单元的高兼容性,使用户可以不用考虑上位机和下级电子控制单元的适配即可完成刷新任务。此外,上位机和下级电子控制单元的通信协议可以自动适配,软件复用率高,节约软件开发成本。
42.安全单元2307可以集成加密算法库,以为接收的刷新数据校验提供加解密计算和密钥的安全存储。可选地,安全单元2307可以管理硬件安全模块外设,例如可以调用硬件加密模块进行高速运算。
43.核间通讯单元2308可以实现多个处理核之间的数据交互,通过共享内存的方式在多个处理核之间传递数据,在多个处理核间中断的触发时来交互数据,从而实现高速的处理核间数据传输。可选地,核间通讯单元2308可以使用核间私有协议设计为用于实现多个处理核之间的数据交互,通过共享内存传递数据,中断服务通知的方式,可以有效实现内部数据的高效传输。
44.通讯服务单元2309可以经由具有不同通信协议的多个通信路径与外部数据源和一个或多个电子控制单元通信地连接并且配置成从所述外部数据源接收刷新数据,并且将接收的刷新数据通过核间通讯单元2308发送至虚拟层模块220。虚拟层模块220将接收的刷新数据发送至用户应用模块210。可选地,通信协议可以包括但不限于以太网通信协议、can通信协议、lin通信协议、通用异步收发协议以及个性化设计的私有通信协议等。可选地,外部数据源可以包括但不限于各种上位机(例如,测试工具、刷新工具、手机、电脑、u盘等)和远程服务器等。示例性地,通讯服务单元2309可以经由can总线、以太网总线和串行总线分别与刷新工具1、刷新工具2和刷新工具3通信地连接并且从刷新工具1、刷新工具2和刷新工具3接收刷新数据。由此,通讯服务单元2309可以实现和多个上位机的同时连接,不同上位机通过不同的通信协议实现高速率的数据传输。
45.内存服务单元2310可以用于提供多种存储介质,例如nor-flash、emmc、sram、eeprom等。
46.以下借助于图3描述根据本发明的一个或多个实施例的用于实现并行刷新的系统的刷新过程。
47.图3示出了按照本发明的一个或多个实施例的用于实现并行刷新的系统的数据流图。
48.在步骤s1中,测试工具1可以例如通过doip通信协议发送刷新数据至通讯服务单元。
49.在步骤s2中,测试工具2可以例如通过uart通信协议发送刷新数据至通讯服务单
元。可选地,步骤s1和步骤s2可以并行地执行。
50.在步骤s3中,通讯服务单元可以将接收的来自测试工具1的刷新数据通过核间通信的方式发送至虚拟层模块。
51.在步骤s4中,通讯服务单元可以将接收的来自测试工具2的刷新数据通过核间通信的方式发送至虚拟层模块。可选地,步骤s3和步骤s4可以并行地执行。
52.在步骤s5中,虚拟层模块将接收的来自测试工具1和2的刷新数据发送至用户应用模块,用户应用模块配置成基于刷新数据生成刷新任务1和刷新任务2。
53.在步骤s6中,用户应用模块将刷新任务1返回至虚拟层模块。
54.在步骤s7中,用户应用模块将刷新任务2返回至虚拟层模块。可选地,步骤s6和步骤s7可以并行地执行。可选地,刷新任务1可以用于刷新用于实现并行刷新的系统本身的各个模块,以及刷新任务2可以用于刷新一个或多个电子控制单元。
55.在步骤s8中,虚拟层模块在接收到刷新任务1后,指示调度管理单元在处理核1上进行刷新任务1的调度执行。
56.在步骤s9中,虚拟层模块在接收到刷新任务2后,指示调度管理单元在处理核2上进行刷新任务2的调度执行。可选地,步骤s8和步骤s9可以并行地执行。
57.在步骤s10中,响应于执行刷新任务1,调度管理单元指示内存管理单元对用于实现并行刷新的系统中的一个或多个存储介质进行同步读写操作。
58.在步骤s11中,响应于执行刷新任务2,调度管理单元指示协议转换单元将刷新任务2中的刷新数据转换成适配于不同通信协议的刷新数据。例如,协议转换单元可以将刷新任务2中的刷新数据转换成udsoncan的数据和udsonlin的数据。可选地,步骤s10和步骤s11可以并行地执行。
59.在步骤s12中,协议转换单元可以将转换后的udsoncan的数据发送至通讯服务单元,以通过通讯服务单元发送至ecua执行刷新操作。
60.在步骤s13中,协议转换单元可以将转换后的udsonlin的数据发送至通讯服务单元,以通过通讯服务单元发送至ecub执行刷新操作。可选地,步骤s12和步骤s13可以并行地执行。
61.图4示出了按照本发明的一个或多个实施例的用于实现并行刷新的方法的流程图。
62.如图4中所示,在步骤s410中,从外部数据源接收刷新数据。
63.在步骤s420中,基于刷新数据生成多个刷新任务。可选地,多个刷新任务包括第一刷新任务和第二刷新任务,所述第一刷新任务用于刷新所述用于实现并行刷新的系统本身的模块,以及所述第二刷新任务用于刷新所述一个或多个电子控制单元。
64.在步骤s430中,将多个刷新任务分配给一个或多个电子控制单元上的多个处理核,使得所述多个刷新任务分别在所述多个处理核上并行地执行。可选地,可以按照第一时间间隔将第一刷新任务分配给第一处理核,使得所述第一刷新任务以所述第一时间间隔在所述第一处理核上执行,以及按照第二时间间隔将第二刷新任务分配给第二处理核,使得所述第二刷新任务以所述第二时间间隔在所述第二处理核上执行。
65.根据本发明的一个方面的用于实现并行刷新的方法能够通过在多个处理核上并行地执行多个刷新任务来显著提升电子控制单元的软件刷新效率,缩短工厂产线工时,节
约成本。
66.另外,本发明也可以被实施为一种车辆,该车辆包括按照本发明的一个方面的用于实现并行刷新的系统。
67.提供本文中提出的实施例和示例,以便最好地说明按照本发明及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本发明。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本发明的各个方面或者将本发明局限于所公开的精确形式。
技术特征:
1.一种用于实现并行刷新的系统,其特征在于,所述用于实现并行刷新的系统包括:用户应用模块,其配置成基于刷新数据生成多个刷新任务;以及系统服务模块,其包括:通讯服务单元,其经由具有不同通信协议的多个通信路径与外部数据源和一个或多个电子控制单元通信地连接并且配置成从所述外部数据源接收刷新数据,并且将所述刷新数据发送至所述用户应用模块;以及调度管理单元,其配置成将所述多个刷新任务分配给所述一个或多个电子控制单元上的多个处理核,使得所述多个刷新任务分别在所述多个处理核上并行地执行。2.根据权利要求1所述的用于实现并行刷新的系统,其中所述多个刷新任务包括第一刷新任务和第二刷新任务,所述第一刷新任务用于刷新所述用于实现并行刷新的系统本身的模块,以及所述第二刷新任务用于刷新所述一个或多个电子控制单元。3.根据权利要求2所述的用于实现并行刷新的系统,其中所述系统服务模块还包括:内存管理单元,其配置成响应于执行所述第一刷新任务而对所述用于实现并行刷新的系统中的一个或多个存储介质进行同步读写操作。4.根据权利要求2所述的用于实现并行刷新的系统,其中所述系统服务模块还包括:协议转换单元,其配置成响应于执行所述第二刷新任务而将所述第二刷新任务中的所述刷新数据转换成适配于所述不同通信协议的刷新数据,使得通过所述通讯服务单元将转换的刷新数据发送至所述一个或多个电子控制单元。5.根据权利要求1所述的用于实现并行刷新的系统,其中所述通信协议包括以下中的一个或多个:以太网通信协议、can通信协议、lin通信协议、通用异步收发协议和私有通信协议。6.根据权利要求2所述的用于实现并行刷新的系统,其中所述调度管理单元进一步配置成:按照第一时间间隔将所述第一刷新任务分配给第一处理核,使得所述第一刷新任务以所述第一时间间隔在所述第一处理核上执行;以及按照第二时间间隔将所述第二刷新任务分配给第二处理核,使得所述第二刷新任务以所述第二时间间隔在所述第二处理核上执行。7.根据权利要求1所述的用于实现并行刷新的系统,其中所述用于实现并行刷新的系统还包括:虚拟层模块,其设置在所述用户应用模块与所述系统服务模块之间并且配置成将所述用户应用模块生成的所述多个刷新任务发送至所述系统服务模块。8.一种用于实现并行刷新的方法,其特征在于,所述用于实现并行刷新的方法包括:从外部数据源接收刷新数据;基于所述刷新数据生成多个刷新任务;以及将所述多个刷新任务分配给一个或多个电子控制单元上的多个处理核,使得所述多个刷新任务分别在所述多个处理核上并行地执行。9.根据权利要求8所述的用于实现并行刷新的方法,其中所述多个刷新任务包括第一刷新任务和第二刷新任务,所述第一刷新任务用于刷新所述用于实现并行刷新的系统本身的模块,以及所述第二刷新任务用于刷新所述一个或多个电子控制单元。
10.根据权利要求8所述的用于实现并行刷新的方法,其中将所述多个刷新任务分配给一个或多个电子控制单元上的多个处理核包括:按照第一时间间隔将所述第一刷新任务分配给第一处理核,使得所述第一刷新任务以所述第一时间间隔在所述第一处理核上执行;以及按照第二时间间隔将所述第二刷新任务分配给第二处理核,使得所述第二刷新任务以所述第二时间间隔在所述第二处理核上执行。11.一种车辆,其特征在于,所述车辆包括根据权利要求1-7中任一项所述的用于实现并行刷新的系统。
技术总结
本发明涉及一种用于实现并行刷新的系统、用于实现并行刷新的方法及包括所述用于实现并行刷新的系统的车辆。按照本发明一个方面的用于实现并行刷新的系统包括:用户应用模块,其配置成基于刷新数据生成多个刷新任务;以及系统服务模块,其包括:通讯服务单元,其经由具有不同通信协议的多个通信路径与外部数据源和一个或多个电子控制单元通信地连接并且配置成从所述外部数据源接收刷新数据,并且将所述刷新数据发送至所述用户应用模块;以及调度管理单元,其配置成将所述多个刷新任务分配给所述一个或多个电子控制单元上的多个处理核,使得所述多个刷新任务分别在所述多个处理核上并行地执行。上并行地执行。上并行地执行。
技术研发人员:范秋 崔长军 鲁勋豪
受保护的技术使用者:泛亚汽车技术中心有限公司
技术研发日:2023.05.18
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/