基于自动代码生成技术的新能源汽车整控系统软件设计方法

2020-12-23 03:16麻新兵苏婷张文王号李萌
汽车实用技术 2020年23期
关键词:应用层开发人员代码

麻新兵,苏婷,张文,王号,李萌

(陕西汽车控股集团有限公司 技术中心,陕西 西安 710200)

前言

伴随电子信息化的飞速发展,汽车智能化时代已经加速驶来。整车EE架构革新大势所趋。“软件定义汽车”正由一个概念名词,转变为汽车电控软件架构开发与功能实现的行业共识。通过自动代码生成的方式进行大部分软件开发工作,其相比较传统的手动软件开发,可以规范团队软件开发方法,提高开发效率,最大限度提升汽车嵌入式软件系统的可靠性和安全性。

1 基于Simulink的模型设计

“软件定义汽车”的汽车电控技术发展趋势,在不断丰富汽车功能的同时必然导致汽车电控系统的功能日益庞大,汽车软件开发工作量日益复杂。一辆特斯拉Model 3的软件代码已突破1000万行,一辆宝马X5的软件代码量更甚超过3亿行,这些直接导致软件程序设计人员工作量不断增加。传统的手动编程设计方法越来越不能满足汽车电子系统软件设计对开发效率、代码安全的质量要求。

基于图形化的代码自动生成软件工具EC利用模块库搭建的控制系统软件,自动生成符合某一特点软件规范的代码文件,从而提高软件开发人员的工作效率。

1.1 基于图形化编程的特点

软件开发人员快速完成控制系统核心策略的开发和测试验证,经过自动代码生成技术,快速生成软件代码,相比较于其他嵌入式软件开发方法,存在以下优点:

1)软件开发工程师可以将主要精力投入到功能需求梳理和算法设计;

2)可以产生符合“高内聚,低耦合”软件设计规范的高质量功能模型,提高算法的可移植性,便于版本管理;

3)提高团队软件开发的工作效率和代码设计规范的一致性;

4)将应用层算法设计与底层驱动分层开发,便于功能模块职责划分,实现平台化、模块化的软件设计流程。

2 整车控制系统软件设计

2.1 应用层系统建模

以Infineon TC2**主核的底层驱动通过S-function将底层驱动封装至模型库(CanDIDOPWM 等),并实现接口的GUI配置,供软件开发人员进行应用层控制软件开发。

首先应用层策略开发人员需要在创建一个 slx文件,用于基于图形化的控制策略开发。

建模完成后还可通过仿真调试软件工具,实现控制算法的测试验证,直到控制算法符合设计需求。

图1 GUI库文件

图2 整车动力系统控制模型

2.2 自动生成模型代码

当系统模型搭建完成后,软件开发人员需要利用目标编译器生成_rtw中间文件,rtw文件包含对应模型的若干属性,比如参数变量、模块命名及其他属性,然后rtw文件经过目标编译器TLC生成c文件,通过TLC将底层驱动库融入自动代码生成过程。

图3 自动代码生成架构

再通过手动集成到C编译器(本文使用HighTec编译器)后进行代码编译,即可得到系统可执行文件(hex)。

图4 控制系统软件编译

3 测试验证

利用建模环境,搭建整车控制策略模型,使用EC工具将控制模型生成C代码文件,再通过TLC将底层驱动融入自动代码生成过程,最终手动集成到目标编译器下生成可执行文件。这种基于模型的开发方法具有更高的系统移植性,提高系统软件开发效率,有效降低软件设计成本。该方法已成功应用于一款纯电动载货车整车控制设计开发过程中,通过路试试验表明系统运行稳定可靠,满足设计要求。

猜你喜欢
应用层开发人员代码
Semtech发布LoRa Basics 以加速物联网应用
传输层和应用层的隧道技术
基于分级保护的OA系统应用层访问控制研究
神秘的代码
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细
物联网技术在信息机房制冷系统中的应用
近期连续上涨7天以上的股
后悔了?教你隐藏开发人员选项
三星SMI扩展Java论坛 开发人员可用母语