摘要:新能源汽车核心控制器软件开发是汽车电子技术的重要领域,其质量和效率直接影响新能源汽车的性能和安全。AUTOSAR 架构是一种开放的汽车控制器标准软件架构,具有分层模型、组件化设计、开发方法论和工具链等特点,可提高软件的可复用性、可扩展性、可互换性和可靠性。文章以新能源汽车电池管理系统(BMS)为例,介绍了基于AUTOSAR 架构的软件开发过程和方法。首先,概述了AUTOSAR 架构的基本概念和特点以及其在新能源汽车领域的应用和发展趋势;其次,分析了新能源汽车电池管理系统的功能需求和性能指标,以及基于AUTOSAR 架构的软件组件和运行实体的设计和实现;最后,介绍了新能源汽车电池管理系统的仿真验证和性能评估,展望了基于AUTOSAR 架构的新能源汽车核心控制器软件开发方法的未来发展。
随着环境问题和能源危机的日益严峻,新能源汽车作为一种清洁、高效、节能的交通工具,受到了越来越多的关注和支持。新能源汽车是指以新型动力电池、燃料电池、太阳能等为动力来源,或者采用混合动力系统驱动的汽车[1]。与传统燃油汽车相比,新能源汽车具有低碳排放、低噪音、低油耗等优点,可以有效地减少环境污染和温室气体排放,提高能源利用效率[2]。
新能源汽车的核心技术之一是汽车电子技术,其主要包括动力电池技术、电机控制技术、整车控制技术等[3-4]。其中,汽车核心控制器是连接动力电池、电机、整车等各个子系统的关键部件,负责实现各个子系统之间的信息交换、协调控制、故障诊断等功能[5]。因此,汽车核心控制器软件开发是影响新能源汽车性能和安全的重要因素。
随着新能源汽车功能日益复杂化和智能化,核心控制器软件开发面临着越来越多的挑战,主要表现在以下几个方面:
1)软件规模不断增大,导致软件复杂度提高,开发难度增加;2)软件需求不断变化,导致软件可维护性降低,更新周期延长;3)软件与硬件之间存在强耦合关系,导致软件可移植性和可互换性差,开发成本高;4)软件需要满足高实时性、高可靠性、高安全性等严格的性能要求,导致软件测试和验证难度大。
AUTOSAR 架构是一种开放的汽车控制器标准软件架构,由欧洲汽车业界联合制定,旨在建立一种统一的汽车软件平台,支持不同的硬件平台和操作系统[1]。
AUTOSAR 架构具有以下特点和优势:
1)分层模型:AUTOSAR 架构将软件分为四个层次,分别是应用层、运行时环境层、基础软件层和微控制器抽象层,实现了软件功能和硬件资源的分离,降低了软件复杂度,提高了软件可移植性;
2)组件化设计:AUTOSAR 架构将应用层的软件功能封装为独立的软件组件,每个组件都有明确的接口和配置参数,实现了软件功能的模块化,提高了软件可复用性和可扩展性;
3)开发方法论:AUTOSAR 架构采用基于模型的开发方法论,通过使用标准化的元模型、模板和描述文件,实现了软件需求、设计、实现、配置和集成等过程的自动化,提高了软件开发效率[6];
4)工具链:AUTOSAR 架构提供了一系列的工具链支持,包括元模型编辑器、模板编辑器、描述文件生成器、配置管理器、代码生成器等,实现了软件开发过程中各个环节的无缝衔接,提高了软件开发质量。
AUTOSAR 架构的分层模型如图1 所示。
图1 AUTOSAR 体系架构
从图1 可以看出,AUTOSAR 架构将软件分为两个层次:
1)应用层(Application Layer):是最上层的软件层次,包含了实现具体功能和算法的应用软件组件。应用软件组件可以根据不同的功能域进行分类,例如:动力总成管理、底盘控制、车身电子等。应用软件组件之间通过标准化的接口进行通信。接口可以分为两种类型:提供接口和需求接口。提供接口表示该组件可以向外部提供某种服务或数据;需求接口表示该组件需要从外部获取某种服务或数据。接口之间通过数据元素或操作进行交互。数据元素表示一种数据类型或变量;操作表示一种函数或方法。应用软件组件可以通过配置参数来调整其行为或属性。
2)运行时环境层(Runtime Environment Layer):是连接应用层和基础软件层的中间层次,负责实现应用软件组件之间以及应用软件组件与基础软件服务之间的通信。运行时环境层由运行时环境(Runtime Environment, RTE)和虚拟功能总线组成。运行时环境是一个抽象层,它将应用软件组件与底层硬件和基础软件服务解耦,使得应用软件组件可以在不同的硬件平台和操作系统上运行。运行时环境还负责管理应用软件组件的生命周期、调度、同步、互斥等。虚拟功能总线是一个概念层,它提供了一种逻辑视图,将应用软件组件之间的通信抽象为总线通信,屏蔽了物理层的细节。虚拟功能总线可以通过不同的通信方式实现,如共享内存、消息队列、函数调用等。
这里以新能源汽车电池管理系统为例,其功能需求和性能指标是根据国家标准和行业规范确定的[7],主要包括以下五个方面:
1)电池组参数监测:实时监测电池组的电压、电流、温度、容量、内阻等参数,判断电池组的工作状态和健康状况,满足一定的测量范围和测量精度;
2)电池组均衡控制:通过调节各个单体电池的充放电状态,使得电池组内各个单体电池的容量和性能保持一致,延长电池组的寿命,支持主动均衡和被动均衡两种方式,满足一定的均衡效率和均衡功率;
3)电池组充放电控制:根据电池组的状态和外部需求,控制电池组的充放电过程,防止过充、过放、过流等异常情况发生,确定合适的充电模式、充电曲线和充电终止条件,控制充电机输出的充电功率和充电时间;
4)电池组故障诊断与保护:检测并记录电池组的故障信息,如短路、开路、温度过高等,并采取相应的保护措施,如切断主接触器、发出报警信号等;
5)电池组信息管理与通信[8-9]:存储并管理电池组的历史数据和配置参数,并通过标准化的通信协议与上层控制器或下层传感器进行信息交换。
为了基于AUTOSAR 架构开发新能源汽车电池管理系统软件,本文采用了以下的开发过程和方法,总体开发过程和实现如图2 所示。
图2 开发过程和实现过程流程图
CAN(控制器局域网, Controller Area Network)。
软件需求分析:根据电池管理系统的功能需求和性能指标,确定软件需求规格,包括软件功能、接口、配置参数等。使用AUTOSAR 元模型编辑器创建软件需求模型,并生成相应的描述文件。
软件架构设计:根据软件需求规格,设计软件架构,包括软件组件、运行实体、通信关系等。使用AUTOSAR 模板编辑器创建软件架构模板,并生成相应的描述文件。
软件组件实现:根据软件架构模板,实现软件组件的具体功能和算法。使用C 语言编写软件组件代码及AUTOSAR 代码生成器生成相应的描述文件。
软件配置管理:根据软件组件代码和描述文件,配置软件组件的属性和参数,以及运行时环境和基础软件服务的功能和参数。使用AUTOSAR配置管理器创建软件配置模型,并生成相应的描述文件。
软件代码生成:根据软件配置模型和描述文件,生成最终的可执行代码,并将其部署到目标硬件平台上。使用AUTOSAR 代码生成器生成可执行代码,并使用AUTOSAR 部署验证器验证代码的正确性和一致性。
基于上述开发过程和方法,本文设计并实现了新能源汽车电池管理系统软件的若干个应用软件组件,并将其映射到不同的运行实体上。以下是本文设计并实现的部分软件组件和运行实体:
BMS_Monitor:电池监测组件,负责监测电池组的电压、电流、温度、容量、内阻等参数,并将其发送给其他组件或上层控制器。该组件运行在BMS_Monitor_RE 运行实体上,与BMS_Balance、BMS_Control、BMS_Diagnosis、BMS_Info等组件通过RTE 层进行通信。
BMS_Balance:电池均衡组件,负责根据电池组的充放电状态和单体电池的容量差异,确定是否需要进行均衡控制,以及选择合适的均衡方式和目标,并控制均衡装置的工作参数。该组件运行在BMS_Balance_RE 运行实体上,与BMS_Monitor、BMS_Control 等组件通过RTE 层进行通信。
BMS_Control:电池充放电控制组件,负责根据电池组的状态和外部需求,确定合适的充电模式、充电曲线和充电终止条件,并控制充电机输出的充电功率和充电时间。该组件运行在BMS_Control_RE 运行实体上,与BMS_Monitor、BMS_Balance、BMS_Diagnosis 等组件通过RTE 层进行通信。
BMS_Diagnosis:电池故障诊断与保护组件,负责检测并记录电池组的故障信息,如短路、开路、温度过高等,并采取相应的保护措施,如切断主接触器、发出报警信号等。该组件运行在BMS_Diagnosis_RE 运行实体上,与BMS_Monitor、BMS_Control、BMS_Info 等组件通过RTE 层进行通信。
BMS_Info:电池信息管理与通信组件,负责存储并管理电池组的历史数据和配置参数,并通过标准化的通信协议与上层控制器或下层传感器进行信息交换。该组件运行在BMS_Info_RE 运行实体上,与BMS_Monitor、BMS_Diagnosis 等组件通过RTE 层进行通信。
对该方法进行仿真验证和性能评估,如表1所示。通过分析,验证了软件功能的正确性和性能指标的满足度。此外,电池组充放电曲线、电池组充放电终止条件、电池组故障诊断与保护几项性能指标符合国家标准要求[7-8],证明了基于AUTOSAR 架构的软件开发方法的实用性。
表1 仿真验证和性能评估结果
文章采用基于模型的开发方法,结合AUTOSAR 工具链,实现了软件开发过程的自动化和标准化,显著提高了软件开发效率和质量;通过分层模型和组件化设计,将电池管理系统软件分为多个应用软件组件,实现了软件功能和硬件资源的分离,提高了软件可移植性和可扩展性;引入运行时环境层和虚拟功能总线,实现了应用软件组件之间以及应用软件组件与基础软件服务之间的通信,提高了软件可互换性和可靠性;采用仿真验证和性能评估方法,对新能源汽车电池管理系统软件进行了功能正确性和性能指标满足度的检验,验证了基于AUTOSAR 架构的软件开发方法的有效性和优越性。
未来可以通过增强AUTOSAR 架构的适应性和灵活性,以支持更多种类的硬件平台和操作系统,以及更多样化的应用领域和功能需求。提升AUTOSAR 架构的安全性和稳定性,以抵抗各种外部干扰和攻击,并自动恢复内部故障和异常。加强AUTOSAR 架构的智能化和人机交互性,实现根据用户偏好和习惯自动调整软件参数和配置,提供友好的用户界面和反馈信息。提高AUTOSAR 架构的协同性和互联性,使其能够与其他车辆、路侧设施、云端服务等进行有效的信息交换和协调控制,实现智能网联汽车的功能。
参考文献
[1] 王瑜.电动汽车无线充电系统发展现状与应用[J].汽车实用技术,2023,48(11):6-14.
[2] 李晓峰,刘宏伟,李志强.基于AUTOSAR 架构的新能源汽车电池管理系统软件开发[J].电子设计工程,2020,28(21):1-5.
[3] 高力,杨依楠.纯电动汽车整车控制器技术及发展[J].汽车实用技术,2021,46(6):20-22.
[4] 王帅,蓝启亮,陈聪,等.基于汽车嵌入式软件的持续集成和持续测试分析[J].汽车实用技术,2023,48(10):156-162.
[5] 张晓先.基于AUTOSAR 规范的车用电机控制器软件开发[M].北京:科学出版社,2020.
[6] 张泽莹,颜江,王慧,等.提高AUTOSAR 模型开发效率的方法[J].汽车电器,2023(4):35-37.
[7] 中华人民共和国工业和信息化部.电动汽车用动力蓄电池安全要求:GB 38031-2020[S].北京:中国标准出版社,2020.
[8] 全国汽车标准化技术委员会(SAC/TC 114).电动汽车用电池管理系统技术条件:GB/T 38661-2020[S].北京:中国标准出版社,2020.
[9] 郑燚,张世民,陆云龙.基于AUTOSAR 的域控制器以太网通信系统设计实现[J].汽车工程,2023,45(6):965-973.
END