首页> 中国专利> 一种用于车辆电子控制单元的片上系统、升级系统及方法

一种用于车辆电子控制单元的片上系统、升级系统及方法

摘要

本发明提供一种用于车辆电子控制单元的片上系统,包括:升级与配置管理客户端模块,其配置成提取升级包;状态管理模块,其配置成根据所述系统的状态确定是否可以进行状态切换;运行管理模块,其配置成根据确定结果实施状态切换;以及升级与配置管理模块,其配置成完成状态切换后根据所述升级包对所述系统的特定软件进行升级。

著录项

  • 公开/公告号CN113835723A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利号CN202010511480.3

  • 发明设计人 艾兵;吴承钦;姜川;杨东伟;

    申请日2020-06-08

  • 分类号G06F8/65(20180101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人俞华梁;姜冰

  • 地址 201206 上海市(上海)自由贸易试验区申江路1500号

  • 入库时间 2023-06-19 13:49:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-01-25

    实质审查的生效 IPC(主分类):G06F 8/65 专利申请号:2020105114803 申请日:20200608

    实质审查的生效

说明书

技术领域

本发明涉及车辆电子控制领域,具体而言,涉及一种用于车辆电子控制单元的片上系统、升级系统以及对车辆电子控制单元的片上系统进行升级的方法。

背景技术

目前车辆电子控制单元(Electronic Control Unit, ECU)多数采用的是微控制器(Microcontroller Unit,MCU),而采用SOC芯片的较多的主要是娱乐系统。更新软件采用的方法为将升级软件包放入U盘或者SD卡,然后在车载娱乐系统显示屏中操作完成软件的变更,升级软件包并没有描述配置文件,因而对其他SOC芯片软件升级借鉴意义不大。随着车载电子架构的发展,车载电子架构正逐步向域控制器架构及中央处理单元架构发展,域控制器架构及中央处理单元架构将会涌现更多的车辆电子控制单元采用SOC芯片,同时伴随着自适应AUTOSAR的不断发展推广,SOC芯片也将更多采用自适应AUTOSAR。

发明内容

本发明提出了一种运行自适应AUTOSAR平台的SOC芯片上软件升级实现方案,并且还给出了SOC芯片软件升级包的内容格式定义以及升级配置文件定义(通过引入特定的软件升级包的内容格式限定及升级配置文件可以实现SOC芯片上软件的升级、卸载、更新),具体而言:

根据本发明的一方面,提供一种用于车辆电子控制单元的片上系统,包括:升级与配置管理客户端模块,其配置成提取升级包;状态管理模块,其配置成根据所述系统的状态确定是否可以进行状态切换;运行管理模块,其配置成根据确定结果实施状态切换;以及升级与配置管理模块,其配置成完成状态切换后根据所述升级包对所述系统的特定软件进行升级。

可选地,在本发明的一些实施例中,所述升级与配置管理客户端模块进一步按以下配置来提取升级包:检查所述电子控制单元的状态是否满足升级条件;获取所述升级包;以及校验所述升级包的正确性。

可选地,在本发明的一些实施例中,所述状态管理模块进一步配置成根据来自所述系统的一个或多个模块的信息确定是否可以进行状态切换。

可选地,在本发明的一些实施例中,所述运行管理模块进一步配置成启用以及关闭一个或多个特定应用以完成状态切换。

可选地,在本发明的一些实施例中,所述升级与配置管理模块进一步被配置成:接收所述升级包;解析所述升级包并校验其有效性;

检查所述升级包所依赖的条件是否满足;若激活过程出现错误则对所述特定软件进行恢复;以及更新完成后删除升级过程产生的临时文件并更新软件信息列表。

根据本发明的另一方面,提供一种升级系统,其包括如上文所述的任意一种片上系统以及人机交互系统,人机交互系统配置成显示所述片上系统的软件信息,显示根据所述升级包形成的升级信息以及接收控制指令,所述控制指令包括根据所述升级包进行升级。

根据本发明的另一方面,提供一种对车辆电子控制单元的片上系统进行升级的方法,其特征在于,所述方法包括:提取升级包;所述系统的状态确定是否可以进行状态切换;根据确定结果实施状态切换;以及完成状态切换后根据所述升级包对所述系统的特定软件进行升级。

可选地,在本发明的一些实施例中,提取升级包的步骤包括:检查所述电子控制单元的状态是否满足升级条件;获取所述升级包;以及校验所述升级包的正确性。

可选地,在本发明的一些实施例中,确定所述系统的状态的步骤包括:根据来自所述系统的一个或多个模块的信息确定是否可以进行状态切换。

可选地,在本发明的一些实施例中,实施状态切换的步骤包括:启用以及关闭一个或多个特定应用以完成状态切换。

附图说明

从结合附图的以下详细说明中,将会使本发明的上述和其他目的及优点更加完整清楚,其中,相同或相似的要素采用相同的标号表示。

图1图示了根据本发明的一个实施例的用于车辆电子控制单元的片上系统。

图2图示了根据本发明的一个实施例的对车辆电子控制单元的片上系统进行升级的方法。

具体实施方式

本发明的一些示例提供了一种车载片上系统(SOC)芯片软件升级方案,其可以用于车载SOC芯片中软件的更新、卸载、安装等。这些方案包括对升级包内容格式定义、对配置文件内容定义以及在运行自适应AUTOSAR平台的SOC芯片上软件升级实现方案。

目前还未存在运行自适应AUTOSAR平台的车载SOC芯片软件升级方案,本发明通过特定的软件升级包的内容格式限定及升级配置文件的引入,形成一种功能全面、高效的软件升级方案。自适应AUTOSAR平台由AUTOSAR组织于2017年第一次发布,目的在于应用于高性能的SOC芯片,通过构建一套中间件,实现上层应用程序与底层的解耦,从而提高软件的复用度。因此本发明通过自定义软件升级包的内容格式、升级配置文件内容,结合自适应AUTOSAR平台的中间件,实现了SOC芯片的软件升级方案。SOC芯片的软件升级方案中,应用到的自适应AUTOSAR平台的中间件组件主要包含运行管理模块(Execution Management,EM)、状态管理模块(State Management,SM)、升级与配置管理模块(Update And ConfigManagement,UCM)。升级方案中需要切换自适应AUTOSAR平台的机器状态,因此使用到了EM与SM模块,自适应AUTOSAR平台软件的升级是由UCM完成,因此使用到UCM模块。整个升级流程的实现是由UCM客户端模块来控制,软件升级包可以来源于网络后台,也可以来自诊断报文。

本发明中所描述的“特定”目标是指按照既定计划所针对的目标,例如,升级特定软件是指对既定计划所针对的软件进行升级。

根据本发明的一方面,提供一种用于车辆电子控制单元的片上系统。如图1所示,运行在车辆电子控制单元上的片上系统(SOC)20包括升级与配置管理客户端模块201、状态管理模块202、升级与配置管理模块203以及运行管理模块204。出于清晰示出本发明的原理考虑,图1中还示出了人机交互系统10、服务器后台30以及诊断设备40。图1中的箭头示出可能的信息流向。

升级与配置管理客户端模块(UCM Client)201被配置成提取升级包,所提取的升级包供后续升级使用。在本发明的一些实施例中,升级与配置管理客户端模块201进一步按以下配置来提取升级包:检查电子控制单元的状态是否满足升级条件;获取升级包;以及校验升级包的正确性。具体而言,升级与配置管理客户端模块201是升级过程的管理者,在一些示例中,其同时负责升级过程中的交互,需要完成的功能包括但不限于以下。(a)升级与配置管理客户端模块201负责检查升级过程前车辆电子控制单元(ECU)的状态是否满足升级条件。车辆软件的升级需要在特定的场景中进行,比如需要确保电源模式、档位、发动机运行状态等。若满足可以继续流程,不满足可以退出升级流程。同样地,以下判断条件是否得到满足的场景中皆可以此方式继续流程。(b)升级与配置管理客户端模块201负责获取升级需要的升级包。升级与配置管理客户端模块201需要支持通过诊断协议从诊断设备40获取软件升级包或者通过车辆端的网联模块从服务器后台30获取。(c)升级与配置管理客户端模块201负责校验升级包的正确性校验。升级与配置管理客户端模块201需要确认升级包的正确性,例如通过签名等方式进行确认,保证升级包的来源于授信方。(d)升级与配置管理客户端模块201负责升级过程的管理。下文将详细描述的升级与配置管理模块203在实现过程中主要实现了一系列的API接口。另外,调用相应的接口才能执行的相应的过程,因此升级与配置管理客户端模块201需要通过调用升级与配置管理模块203提供的接口来主导这一过程的实现,在过程中,根据升级与配置管理模块203反馈的状态来判断升级过程的是否正常,当出现异常时,做相应的处理、恢复。(e)升级与配置管理客户端模块201还负责与其他软件的交互。例如人机交互系统10(具体而言可能是娱乐系统)中需要显示平台中安装的软件信息或者软件升级过程由娱乐系统中的程序触发等,这些交互需要升级与配置管理客户端模块201来负责完成。

状态管理模块(SM)202被配置成根据系统的状态确定是否可以进行状态切换,这一判断是进行下文描述的状态切换的基础。在本发明的一些实施例中,状态管理模块202进一步配置成根据来自系统的一个或多个模块的信息确定是否可以进行状态切换。具体而言,状态管理模块202为自适应AUTOSAR平台的功能组件,主要负责了平台的状态管理。状态管理模块202可以与平台中的升级与配置管理模块203、网络管理模块(未示出)、运行管理模块204等进行通信,状态管理模块202主要从升级与配置管理模块203、网络管理模块获取信息来决定是否能切换状态,与运行管理模块204之间接口则是用于控制状态的切换的。状态管理模块202同时也会根据平台的其他信息输入决定状态的切换,此时其可以为一个定制化的模块组件。若判断可以进行状态切换,则由执行机构执行切换;若不能进行状态切换则不能完成既定升级,可以退出升级流程。

运行管理模块(EM)204被配置成根据确定结果实施状态切换。在本发明的一些示例中,完成特定状态的转换是进行软件升级的前提。在本发明的一些实施例中,运行管理模块204进一步配置成启用以及关闭一个或多个特定应用以完成状态切换。运行管理模块204也为自适应AUTOSAR平台的功能组件,主要负责平台的状态切换,包括了应用的开启与关闭管理等。搭载自适应AUTOSAR平台的车辆电子控制单元(ECU)在系统启动后,优先启动运行管理模块204,然后由运行管理模块204按照各个应用的配置文件,依次启动各个应用程序,当收到状态管理模块202发送的状态切换请求时切换平台的状态,并开启新状态下需要运行的应用程序,关闭新状态下不需要运行的应用。在每个平台中,状态切换的对象为功能组(Function Group),其中一个特殊的功能组为机器状态(Machine State),各个应用程序配置成在某个机器状态或者其他功能组状态下运行,当运行管理模块204启动后,根据配置文件和当前功能组状态来决定运行哪些应用程序。

升级与配置管理模块(UCM)203被配置成完成状态切换后根据升级包对系统的特定软件进行升级。在本发明的一些实施例中,升级与配置管理模块203进一步被配置成:接收升级包;解析升级包并校验其有效性;检查升级包所依赖的条件是否满足;若激活过程出现错误则对特定软件进行恢复;以及更新完成后删除升级过程产生的临时文件并更新软件信息列表。升级与配置管理模块203也为自适应AUTOSAR平台的功能组件,主要负责平台软件的安装、更新、卸载。该模块不负责升级包的获取(从ECU外系统拿到升级包)、校验(有效性及签名等认证)、升级应用时整车的状态确认等,该部分的功能均由上文详细描述的升级与配置管理客户端模块201来实现。模块在升级中会包括升级包的传输、处理、激活、恢复、结束五个过程。传输过程:升级与配置管理客户端模块201需要首先将升级包拆包,然后使用升级与配置管理模块203的接口来传输。处理过程:升级与配置管理模块203会解析获取的升级包,并按照配置文件完成对软件的升级处理,在处理过程中,需要校验升级包的有效性。激活过程:升级与配置管理模块203需要确保升级软件能正常运行,并检查依赖条件是否满足。恢复过程:升级与配置管理模块203在激活过程中出现错误后,需要提供接口用来恢复系统软件状态。结束过程:升级与配置管理模块203在该过程中,删除临时文件,更新软件信息列表。

根据本发明的一方面,还定义了软件升级包的格式及配置文件内容。

在本发明的一些示例中,软件升级包的格式可以按以下方式配置。升级包内容由需要升级的软件及配置文件组成,其中需要升级的软件定义为单独的文件夹,与配置文件处于同一目录等级。每个升级包为一个文件夹,在升级包文件夹中具有软件升级包的配置文件,每个需要升级的软件放在单独一个子文件夹中,该文件夹中会存在可执行文件及配置文件等。

在本发明的一些示例中,配置文件内容可以按以下方式配置。配置文件内容包含了软件升级相关的描述信息,包括升级软件包个数,升级软件名称、版本、依赖等。例如,根据本发明的一些示例提出一种升级包配置文件,用于描述整个升级包信息,主要包含的配置项名称为:packageName、version、PackageCount、Packages。配置文件中的各个配置项的说明如下:

(1)packageName。该参数为描述升级包的名称,用于升级包信息管理。(2)version。升级包的版本信息,用于判断升级包版本正确性。(3)PackageCount。指示本升级包内含有多少个软件包,和“Packages” 包含的元素个数一致。(4)Packages。Packages是一个数组,里面包含和"packageCount"指明的数量相同的元素,每个元素对应一个软件包的详细描述,元素类型为object,成员包括:“name”(软件包名)、“description”(软件包的描述信息)、“requestType”(软件包的请求类型,分为安装、卸载、升级三类)、 “type”(软件包内部包含的软件的类型信息, 分为应用、平台服务、库三类)、“path”(软件包在升级包中的路径,是相对于升级包目录的子目录)、 “version”(软件包的版本信息)、“size”(软件包的大小)、“references”(数组类型,数组的元素类型是string, 表示软件包内含的application或service或library名字)以及“dependencies”。dependencies是一个数组,可以添加多个,每个元素的类型是object,object含有两个成员,"name"成员表示依赖的软件包名字,"version"表示依赖的软件包的版本信息。特别注明,在添加references时,不需要添加平台中间件,只需要填写依赖的应用程序即可。

根据本发明的另一方面,提供一种对车辆电子控制单元的片上系统进行升级的系统。升级系统包括如上文的任意一种片上系统以及人机交互系统(如图1中所示的人机交互系统10)。其中,人机交互系统被配置成显示片上系统的软件信息、显示根据升级包形成的升级信息以及接收控制指令,控制指令包括根据升级包进行升级。人机交互系统(例如,具体而言可以是娱乐系统)中的与升级相关的应用101可以包含如下的功能:显示当前某个ECU内部的软件信息;当有升级包时,显示升级包的信息;提供用户人机交互接口,用于控制客户端软件启动升级流程。例如,在娱乐系统的与升级相关的应用101的UI中,可以显示三部分状态显示信息及一个输入控制控件:已安装软件信息:主要包括软件名称、软件版本、软件状态;软件升级包信息:主要包括软件名称、软件版本、软件类型、升级类型;升级与配置管理模块状态信息:升级与配置管理模块目前所处的状态;升级输入控制控件:用于触发整个升级过程的开始。

根据本发明的另一方面,提供一种对车辆电子控制单元的片上系统进行升级的方法。如图2所示,升级方法包括如下步骤。在步骤S1中提取升级包,所提取的升级包供后续升级使用。在本发明的一些实施例中,提取升级包的步骤包括:检查电子控制单元的状态是否满足升级条件;获取升级包;以及校验升级包的正确性。具体而言,诸如升级与配置管理客户端模块之类的管理模块是升级过程的管理者,在一些示例中,其同时负责升级过程中的交互,其需要完成的功能包括但不限于以下。(a)负责检查升级过程前车辆电子控制单元(ECU)的状态是否满足升级条件。若满足可以继续流程,不满足可以退出升级流程。车辆软件的升级需要在特定的场景中进行,比如需要确保电源模式、档位、发动机运行状态等。(b)负责获取升级需要的升级包。例如,可以通过诊断协议从诊断设备获取软件升级包或者通过车辆端的网联模块从服务器后台获取。(c)负责校验升级包的正确性校验。确认升级包的正确性可以例如通过签名等方式进行确认,保证升级包的来源于授信方。(d)负责升级过程的管理。诸如升级与配置管理模块之类的管理模块在实现过程中主要实现了一系列的API接口。另外,调用相应的接口才能执行的相应的过程,因此诸如升级与配置管理客户端模块需要通过调用诸如升级与配置管理模块提供的接口来主导这一过程的实现,在过程中,根据诸如升级与配置管理模块反馈的状态来判断升级过程的是否正常,当出现异常时,做相应的处理、恢复。(e)还负责与其他软件的交互。例如人机交互系统(具体而言可能是娱乐系统)中需要显示平台中安装的软件信息或者软件升级过程由娱乐系统中的程序触发等,这些交互需要诸如升级与配置管理客户端模块来负责完成。

在步骤S2中系统的状态确定是否可以进行状态切换,这一判断是进行下文描述的状态切换的基础。在本发明的一些实施例中,确定系统的状态的步骤包括:根据来自系统的一个或多个模块的信息确定是否可以进行状态切换。具体而言,状态管理模块为自适应AUTOSAR平台的功能组件,主要负责了平台的状态管理。状态管理模块可以与平台中的升级与配置管理模块、网络管理模块、运行管理模块等进行通信,状态管理模块主要从升级与配置管理模块、网络管理模块获取信息来决定是否能切换状态,与运行管理模块之间接口则是用于控制状态的切换的。状态管理模块同时也会根据平台的其他信息输入决定状态的切换,此时其可以为一个定制化的模块组件。若判断可以进行状态切换,则由执行机构执行切换;若不能进行状态切换则不能完成既定升级,可以退出升级流程。

在步骤S3中根据确定结果实施状态切换。在本发明的一些示例中,完成特定状态的转换是进行软件升级的前提。在本发明的一些实施例中,实施状态切换的步骤包括:启用以及关闭一个或多个特定应用以完成状态切换。运行管理模块也为自适应AUTOSAR平台的功能组件,主要负责平台的状态切换,包括了应用的开启与关闭管理等。搭载自适应AUTOSAR平台的车辆电子控制单元(ECU)在系统启动后,优先启动运行管理模块,然后由运行管理模块按照各个应用的配置文件,依次启动各个应用程序,当收到状态管理模块发送的状态切换请求时切换平台的状态,并开启新状态下需要运行的应用程序,关闭新状态下不需要运行的应用。在每个平台中,状态切换的对象为功能组(Function Group),其中一个特殊的功能组为机器状态(Machine State),各个应用程序配置成在某个机器状态或者其他功能组状态下运行,当运行管理模块启动后,根据配置文件和当前功能组状态来决定运行哪些应用程序。

在步骤S4中在完成状态切换后根据升级包对系统的特定软件进行升级。在本发明的一些实施例中,对系统的特定软件进行升级的步骤包括:接收升级包;解析升级包并校验其有效性;检查升级包所依赖的条件是否满足;若激活过程出现错误则对特定软件进行恢复以及更新完成后删除升级过程产生的临时文件并更新软件信息列表。升级与配置管理模块也为自适应AUTOSAR平台的功能组件,主要负责平台软件的安装、更新、卸载。该模块不负责升级包的获取(从ECU外系统拿到升级包)、校验(有效性及签名等认证)、升级应用时整车的状态确认等,该部分的功能均由上文详细描述的升级与配置管理客户端模块来实现。模块在升级中会包括升级包的传输、处理、激活、恢复、结束五个过程。传输过程:升级与配置管理客户端模块需要首先将升级包拆包,然后使用升级与配置管理模块的接口来传输。处理过程:升级与配置管理模块会解析获取的升级包,并按照配置文件完成对软件的升级处理,在处理过程中,需要校验升级包的有效性。激活过程:升级与配置管理模块需要确保升级软件能正常运行,并检查依赖条件是否满足。恢复过程:升级与配置管理模块在激活过程中出现错误后,需要提供接口用来恢复系统软件状态。结束过程:升级与配置管理模块在该过程中,删除临时文件,更新软件信息列表。

以上例子主要说明了本发明的用于车辆电子控制单元的片上系统、升级系统以及对车辆电子控制单元的片上系统进行升级的方法。现有方案中未出现运行AdaptiveAUTOSAR的SOC芯片,因此目前也未有利用升级与配置管理模块来实现芯片内部软件升级的方法。目前在SOC芯片实现更新会采用直接更整个文件系统或者开发一个单独软件来专负责平台软件的升级,并且该软件的设计并没有统一的功能、接口标准。而根据本发明的示例中的升级与配置管理模块的引入则标准化了负责软件升级的软件,规定了需要具有的功能、提供的接口以及升级过程。其次,本发明的一些示例提出了一种升级包的目录结构,从而使得升级包更加规范化,便于识读。每个升级包为一个文件夹,在升级包文件夹中具有软件升级包的配置文件,每个需要升级的软件放在单独一个子文件夹中,该文件夹中会存在可执行文件及配置文件等。再次,本发明的一些示例还提出一种升级包配置文件,用于描述整个升级包信息,这也为机器识别升级包的具体内容提供了便利。

尽管只对其中一些本发明的实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号