掌桥专利:专业的专利平台
掌桥专利
首页

一种动力域控制器软件集成方法及系统

文献发布时间:2023-06-19 18:37:28


一种动力域控制器软件集成方法及系统

技术领域

本发明属于汽车动力系统控制领域,特别涉及一种动力域控制器软件集成方法及系统。

背景技术

在下一代车型的开发中,域控制器技术的应用已成为一种趋势,这将极大改变汽车的电子电气架构。动力域控制器硬件具有强大的运算能力和丰富的硬件资源,可以使动力控制系统集成度更高,集成更多的核心功能模块,降低对执行和感知资源的需求。此外对于混合动力汽车而言,为了适应快速变化的新能源汽车市场和给用户带来更加愉悦的驾乘体验,软件功能的快速迭代与更新就显得尤为重要,由此带来的研发周期及成本增加已经成为一个急需解决的矛盾。

CN113176903A提出了一种Simulink模型应用于不同汽车控制器平台的软件集成方法及系统,所述软件集成方法包括:根据不同的汽车控制器平台,配置不同的硬件信息,当进行模型开发时,选取所需的汽车控制器平台;根据选取的所述硬件信息,以供开发人员进行模型开发使用,硬件信息以S-function的形式封装成Simulink模型,并存储与Simulink库中。然而,该软件集成方法及系统只使用于Simulink开发的应用层,无法做到集成多种开发工具开发的应用层,如ASCET-DEVELOPER、人工代码。

CN111831266A提出了一种智能驾驶软件的集成与追溯系统及方法,基于软件代码仓库、软件集成版本管理数据库和软件版本库,实现代码的快速迭代及测试的快速跟进。智能驾驶软件每隔预设时间周期,进行算法迭代、功能迭代等敏捷开发。降低了软件开发周期和成本,提高了软件开发效率。以及在软件集成版本管理数据库存储软件模块代码的提交快照,实现软件集成的追溯性。然而,该软件集成和追溯系统及方法只能以预设时间周期进行更新,只适合非动力系统软件的开发,无法满足动力域控制器软件的开发,动力域控制器软件的开发过程中对机车性能的标定工作非常重要,该集成与追溯系统及方法不能适用。

发明内容

针对现有技术存在的不足,本发明提出一种动力域控制器软件集成方法及系统,以实现多种开发工具开发的应用层软件快速集成,降低软件开发周期和成本,达到提高软件开发效率和质量的目的,用以解决动力域控制软件的集成难点。

为实现上述目的,本发明采用以下技术方案:

本发明在第一方面,提供一种动力域控制器软件集成方法,包括如下步骤:

步骤1,统一各应用层软件的数据类型定义和生成的C代码标准;

步骤2,根据各应用层软件模块对输入输出信号需求,生成一个通信矩阵;

步骤3,根据通信矩阵生成各应用层软件所需的ARXML文件;

步骤4,生成中间层:在应用层软件ASW与底层软件BSW之间设置虚拟总线接口VFB作为中间层,采用ARXML文件作为中间层的所有交互接口的描述性文件进行接口信息描述,适配不同软件开发工具开发的应用层软件;

步骤5,通过软件集成系统将底层、中间层、应用层三个部分软件集成编译。

根据本发明的实施例,所述软件开发工具采用ARXML文件作为描述性文件的开发工具均可,包括Simulink工具、ASCET工具以及人工代码等。

根据本发明的实施例,基于所述Simulink工具和ASCET工具开发的应用层软件通过读取ARXML文件获取接口函数信息,或者调用脚本工具将ARXML文件中的接口描述信息生成在接口说明文档中。

根据本发明的实施例,基于人工代码开发的应用层软件调用通过脚本工具读取ARXML文件生成中间层的接口函数。

通过以上技术方案可见,本发明基于虚拟总线概念,增加一个特殊的中间层,通过中间层来适配不同开发工具开发的应用层软件,因此本发明提供的动力域控制器软件集成方法可以兼容多种方式开发的应用层软件,有效的解决跨平台工具开发的应用层软件难以快速集成的问题,也可有效降低企业对软件开发工具费用的投入,同时还可提高对现有成熟功能软件的利用率,降低核心模块重新开发带来的风险,极大提高开发效率。

本发明在第二方面,还提供一种动力域控制器软件集成系统,采用以上第一方面所述的方法进行软件集成,所述系统包含编译管理模块、代码及模型管理模块、标定数据管理模块、软件发布模块。

根据本发明的实施例,所述编译管理模块,包含编译任务客户端和编译任务服务器,用于编译任务的管理和软件编译;

根据本发明的实施例,所述代码及模型管理模块,包含C代码和模型软件的管理;

根据本发明的实施例,所述标定数据管理模块,包含各分支软件标定数据和主线软件标定数据的管理;

根据本发明的实施例,所述软件发布模块,包含对软件数据和标定数据的数字签名管理和生产刷写文件的生成及管理。

本发明的优点至少包括:

1.本发明在应用层软件ASW与基础软件层BSW之间增加虚拟总线接口,采用ARXML文件来进行接口信息描述,采用Simulink工具和ASCET工具开发的应用层可以通过读取ARXML文件来获取接口函数信息,也可用脚本工具将ARXML文件中的接口描述信息生成在接口说明文档中,人工代码可以通过查询接口说明文档开获取接口信息,这样可以实现不同开发工具开发的应用层软件快速集成。

2.本发明的动力域控制器软件集成系统的采用中央式的服务器编译和管理,相对于目前采用分布式的控制器软件集成系统,可以提高软件编译效率和数据安全性。

3.本发明的动力域控制器软件集成系统将软件开发、标定管理、软件发布集成到同一系统管理,相对目前的多系统独立管理,可以提高动力域控制器软件迭代效率和质量。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本发明提出的动力域控制器软件集成方法示意图:ASW表示应用层软件,BSW表示底层软件,VFB表示虚拟总线接口。

图2是本发明提出的动力域控制器软件集成系统示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,在此基于附图和实施例对本发明的技术方案进行清晰、完整的描述。

实施例1:

如图1所示,在本实施例中展示一种动力域控制器软件集成方法,其核心是中间层虚拟总线接口的实现。该中间层作为ASW之间、ASW与底层软件BSW之间的数据总线。将ARXML文件作为中间层的所有交互接口的描述性文件。应用软件层ASW可以有多种软件开发工具,例如本实施例中所列是常用的几种,ASW1是Simulink工具,ASW2是ASCET工具,ASW3是人工代码(编程实现)。

Simulink是美国Mathworks公司推出的MATLAB中的一种可视化仿真工具,能够进行动态系统建模、仿真、自动代码生成。

ASCET-DEVELOPER是德国ETAS公司一个为嵌入式系统开发应用软件的工具。ASCET-DEVELOPER使使用文本或图形表示法来指定软件组件的功能行为变得很容易。基于文本的ASCET-DEVELOPER符号(嵌入式软件开发语言,ESDL)为开发人员提供了一种简单的方法来建模和编程函数,而不必担心C的缺点。由于ASCET-DEVELOPER在编程过程中已经指出了错误,开发人员可以立即纠正这些错误。ASCET-DEVELOPER从单个源生成软件组件的C代码和相应的ARXML描述文件。这可以确保代码和ARXML文件始终保持同步,这是防止由于不兼容而导致的代价高昂的重复测试的有效方法。

在实施例中,软件集成步骤如下:

第一步,统一各应用层软件的数据类型定义和生成的C代码标准(嵌入式型)。

第二步,收集各应用层软件模块对输入输出信号需求,生成一个通信矩阵(DBC文件或者excel表格)。

第三步,根据通信矩阵生成各应用层软件所需的ARXML文件。

第四步,生成中间层:在应用层软件ASW与底层软件BSW之间设置虚拟总线接口VFB作为中间层,采用ARXML文件作为中间层的所有交互接口的描述性文件进行接口信息描述,适配不同软件开发工具开发的应用层软件。

这里,基于Simulink工具和ASCET工具开发的应用层软件通过读取ARXML文件获取接口函数信息,或者调用脚本工具将ARXML文件中的接口描述信息生成在接口说明文档中。基于人工代码开发的应用层软件调用通过脚本工具读取ARXML文件生成中间层的接口函数。

详细实例如下文描述。

基于模型开发的ASW1(Simulink工具)和ASW2(ASCET工具)通过开发工具导入ARXML文件,生成模型开发时所需的接口信息。基于代码开发的ASW3(编程实现)可以调用通过脚本工具(读取ARXML文件)生成中间层的接口函数。

如下所示ARXML文件中对信号ESSC_b_EngStrtCmpl的描述:

ESSC_b_EngStrtCmpl

/PDCU/Interfaces/ESSC_b_EngStrtCmpl/ESSC_b_EngStrtCmpl

ELEMENT-REF>

NONE

false

0

false

false

NONE

DefaultInitValue_Boolean

LABEL>

0

/PDCU/Interfaces/ESSC_b_EngStrtCmpl

如下所示软件接口为ASW1模块读取ARXML文件生成的函数接口:

Rte_IWrite_EngStrtStopCtrl_10ms_ESSC_b_EngStrtCmpl_ESSC_b_EngStrtCmpl(data);

如下所示软件接口为ASW2模块读取ARXML文件生成的函数接口:

Rte_IRead_PTMod_10ms_ESSC_b_EngStrtCmpl_ESSC_b_EngStrtCmpl();

如下所示软件接口为脚本工具读取ARXML文件生成的函数接口:

Rte_IRead_EMS_10ms_ESSC_b_EngStrtCmp_ESSC_b_EngStrtCmpl();

由ARXML文件生成的以上相关函数接口组成了中间层虚拟总线接口。

第五步,通过实施例2的软件集成系统将底层、中间层、应用层三个部分软件集成编译。

由此,采用Simulink工具和ASCET工具开发的应用层可以通过读取ARXML文件来获取接口函数信息,也可用脚本工具将ARXML文件中的接口描述信息生成在接口说明文档中,人工代码可以通过查询接口说明文档开获取接口信息,这样就可以实现不同开发工具开发的应用层软件快速集成。

实施例2:

如图2所示是动力域控制器软件集成系统,该系统由代码及模型管理模块、编译管理模块、标定数据管理模块、软件发布模块组成。

所述编译管理模块,包含编译任务客户端和编译任务服务器,用于编译任务的管理和软件编译。

所述代码及模型管理模块,包含C代码和模型软件的管理。

所述标定数据管理模块,包含各分支软件标定数据和主线软件标定数据的管理。

所述软件发布模块,包含对软件数据和标定数据的数字签名管理和生产刷写文件的生成及管理。

在实施例中,代码及模型管理模块为每个车型产品创建一个软件管理工程,该工程中包含底层、中间层、应用层三个部分软件的管理。底层和中间层的软件由于更新的频率低,维护管理采用集中式文件系统管理,逻辑更清晰,更容易保证数据安全性;应用层的维护管理采用基于模型开发的版本管理,可以更有效的提高开发效率。

在实施例中,编译管理模块采用客户端+服务端的方式:

第一步,编译人员先将需要编译的代码在服务器上准备好。

第二步,编译人员通过客户端将MAKEFILE文件发送给服务器端。

第三步,服务器端接收到MAKEFILE文件后,解析MAKEFILE文件内容到对应服务器上获取需要编译的代码进行编译。

第四步,编译结束后,服务端反馈编译情况给客户端,并将编译数据存放在MAKEFILE要求存放的路径。

第五步,客户端到服务器上相应路径查询本次编译的结果。

在实施例中,标定数据管理模块采用部署在服务器上的标定数据管理系统,该系统包含系统功能开发过程、软件代码开发过程、标定模块开发过程、系统测试开发过程的标定数据管理。

该系统支持多种文件格式的标定数据导入,如、ELF格式、DWARF、I3E-695、CVX格式的标定数据导入等。该系统也支持多种文件格式的标定数据导出,如数据定义导出(.C/.H文件),标定文件导出(A2L文件)等。该系统能准确追溯每个控制器内的标定数据版本,可以统计分析不同标定数据的测试结果,终端设备可以通过客服端上传和下载需要的标定数据。

在实施例中,软件发布模块为满足智能网联汽车对信息安全的要求,集成了数字签名系统,该系统会为每个车型生成一个密钥对,采用安全性较高的非对称加密算法(RSA2048)进行生成。当系统需要发布新软件时,该系统可对需要发布的软件数据和标定数据进行数字签名处理。发布时系统会生成发布日志,包含数据版本、变更内容、发布时间,发布者、适用范围等内容。

以上结合附图详细描述了本发明的优选实施方式。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。

应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本发明所公开的内容。

本申请使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。

技术分类

06120115636463