电动汽车VCU应用层软件开发流程及架构

文摘   2024-10-19 08:00   湖北  

电动汽车VCU应用层开发一般采用基于模型的设计方式,即MBD(Model-Based Design)。它以模型为中心,通过建立和分析系统的数学模型,实现复杂系统的设计、开发和验证。MBD集成了建模、仿真、代码生成和自动化测试等环节,帮助工程师在系统设计过程中提高生产力和质量。在MBD中,通过使用Matlab/Simulink建立模型来研究和分析系统的行为,然后利用这些模型来生成代码,最后在实际硬件中运行。这种方法可将代码的开发从传统的手工编写转变为基于模型的自动化生成,从而提高开发效率、降低错误率,同时提高开发速度和可重用性。需要注意的是,MBD不仅仅是代码的自动生成,而是一套完整的设计方法。通过使用MBD,可以在整个开发周期中对系统进行统一的建模、分析、设计、验证和测试,从而减少错误和成本,提高系统的可靠性、可维护性和可重用性。本文介绍电动汽车VCU应用层软件开发的一般流程与软件架构。

一、电动汽车VCU应用层软件开发流程

一个控制系统一般都是由输入、控制及输出组成。VCU也是一个控制系统,因此也符合这样一个结构。在电动汽车VCU应用软件开发中主要分为三大部分,输入信号处理,控制策略模块及输出信号处理。因此VCU应用层开发的流程一般为根据设计需求文件,包括硬件接口定义、CAN通讯矩阵、整车控制策略、故障代码表、传感器规格书等文件,进行输入信号的分类与处理、控制模块的分类与模型搭建、输出信号的分类与处理。

应用层软件搭建完成后,经过模型测试MIL及静态代码测试无问题后,在Matlab/Simulin环境中生成C代码,然后将生成的C代码与VCU底层软件集成并通过相应的编译器编译生成VCU可执行的Hex文件。Hex文件可刷写至VCU硬件中,进行HIL测试及实车测试标定。VCU整个开发过程遵循V流程。

二、电动汽车VCU应用层软件架构

根据功能需求文档,电动汽车VCU应用层软件一般划分为输入信号处理模块、控制策略模块、输出信号处理模块。

输入信号处理模块,主要对输入的信号进行滤波处理,CAN解包等处理,得到控制策略模块可用的信号

控制策略模块是根据整车需求制定的控制逻辑,包括但不限于:驾驶意图识别:根据加速踏板位置、档位、制动踏板力等识别驾驶员的意图。能量管理:控制电机输出转矩,实现能量回收和分配。故障诊断:实现故障检测与处理逻辑。

输出信号处理模块是将控制策略模块计算或判定得到的信号通过硬线信号、CAN打包等输出给执行器或CAN总线

1、输入信号处理模块

1)硬线信号

a、数字信号

一般包括但不限于以下信号:

ON挡,START挡,制动踏板信号,D挡,N挡,R挡,驻车制动信号,空调请求信号,PTC请求信号,模式切换信号,充电唤醒信号,真空泵故障输入信号

b、模拟信号

模拟信号一般包括电阻信号及电压信号。

电阻信号一般包括但不限于以下信号:

慢充CC唤醒信号,快充CC2唤醒信号,蒸发器温度传感器信号,PTC温度传感器信号

电压信号一般包括但不限于以下信号:

油门踏板1&2输入信号,制动踏板行程模拟信号

2)CAN信号

VCU接收到的CAN信号要进行CAN解包处理,一般包括并不限于以下控制器:

MCU,BMS,ABS,IC仪表,EPS,AC空调控制器,TBOX,PDU,DCDC,OBC

3)读取内存信息

VCU要读取的内存信息并传输至应用层的变量一般包括但不限于以下变量:

整车VIN码

2、控制策略模块

1)档位管理

静态换挡,动态换挡,换档失败标志位

2)上下电管理

唤醒自检,ON挡上电,START上电,快充&慢充上电,钥匙OFF下电,故障下电,下电休眠

3)扭矩控制

扭矩模式判定

0扭矩模式,驻车模式行车,倒车模式,回馈模式(制动/滑行),巡航模式,跛行模式,锁车模式,蠕行模式

4)能量管理控制

电机特性限功控制

电池特性限功控制:SOC过高或过低,电池温度过高或过低,电芯电压过高或过低

驾驶模式不同限功控制:正常模式,节能模式,运动模式

故障状态限功控制:跛行故障(转向、制动助力系统故障),BMS故障限功,MCU故障限功,VCU故障限功

设定限速限功控制:前进档最高车速限速,倒档最高车速限速

5)附件控制

DCDC使能控制,空调压缩机控制(空调压缩机使能控制,空调压缩机转速控制),PTC控制,水泵控制,风扇控制

6)故障诊断

a、硬线信号故障判定

档位故障:DNR同时两个档位信号有效或3个档位信号同时无效

油门踏板故障:供电电压超限故障,油门信号电压超限故障,两路油门踏板信号差异过大故障

VCU供电电压异常故障:供电电压过高,供电电压过低

真空泵信号故障:真空泵供电电压超限故障,真空泵压力信号超限故障,真空助力系统压力过低故障

充电枪检测异常故障:充电枪检测信号超限

b、CAN通讯丢失故障判定

整车CAN通讯故障:收不到任何报文

MCU通讯故障,BMS通讯故障,EPS通讯故障,ABS通讯故障,多合一控制器通讯丢失,IC仪表通讯丢失,TBOX通讯丢失,压缩机控制器通讯丢失

c、接触器超时故障

主负接触器超时故障,主正接触器超时故障,预充故障,MCU Ready超时故障

d、整车故障等级判定(按照最高等级判定)

BMS故障等级,MCU故障等级,多合一故障等级,ABS故障等级,EPS故障等级

e、故障码上报

7)内存写入控制

3、输出信号处理模块

1)硬线信号

BMS唤醒信号,MCU+多合一唤醒信号,Ready信号,低速风扇继电器控制信号,高速风扇继电器控制信号水泵继电器控制信号,真空泵继电器控制信号

2)CAN信号

根据需求,将输出的控制信号、状态信号或转发信号按照CAN通讯矩阵进行CAN打包后输出CAN报文

三、总结

本文简单介绍了VCU应用层开发的流程及架构,介绍了输入信号处理模块、控制策略模块及输出信号处理模块的基本构成。希望能够相关技术人员带来一定参考和帮助。

汽车电控研习室
新能源汽车电控领域深耕者,电控知识干货分享