技术标签: matlab 汽车 VCU电控开发 功能测试 VCU 电控开发
整车控制器
新能源汽车整车控制器(Vehicle Control Unit,简称VCU)是电动汽车中的关键部件,负责对整车进行控制和管理。新能源汽车整车控制功能具有驾驶员意图识别、动力控制、电池管理控制、电机控制、增程器控制等主要功能。能够对上/下电时的高/低压控制逻辑进行管理,能够根据驾驶员输入对需求扭矩做出准确判断,能够对车辆当前工况进行判断,能够实现需求扭矩获取、扭矩分配请求和扭矩限制功能;可以实现再生制动功能,并且协调制动能量回收过程电机制动与 ABS/ESP系统,保证制动安全;能够识别零部件及系统功能故障,并采取相应的应对策略,提供系统故障保护下的跛行等故障处理功能。根据驾驶员操作实现对灯光、音响、电源和碰撞等舒适控制功能;对电池系统充放电和电池诊断管理控制功能。
整车控制模块还需要实现对车辆附件的控制,能够实现对输入/输出信号的处理(包括滤波、抗抖、滞回处理,保证输入可靠有效,输出明确),实现全车 CAN 网络及网关路由,具有故障诊断功能、能量管理相关系统的关键信息。
获取驾驶意图:VCU需要通过油门踏板、刹车踏板、档位状态等驾驶输入信号判断驾驶意图。
HMI信息反馈:VCU需要将关键信息反馈至HMI,从而告知驾驶人员车辆状态。
信息交互:将动力系统,电机、电池、高压系统、空调的主要数据、故障状态等传到仪表,接收驾驶员的控制信息。
电机控制:通过获取车辆各传感器数据(包括车速、转向角度、加速踏板位置等),实时调整电动机转速和扭矩,实现车辆加速、减速和行驶稳定性控制。能量管理:通过刹车传感器反馈信号,控制制动系统工作,包括制动力分配、ABS、TCS等,确保车辆制动过程中的稳定性和安全。
驱动模式选择:根据驾驶员需求和路况条件,选择纯电驱动、混合驱动和发动机驱动模式,以达到更好的动力性能和能源利用效率。
故障诊断与安全保护:监测整车各部件状态和工作情况,发现异常会及时发出警告或报警信号,并采取相应措施。同时,VCU具备故障自诊断功能,实时检测和分析故障并提供相应的修复方案。
通讯功能:与其他控制单元(如电池管理系统、动力转换单元等)信息交互,实现车辆各系统协调工作,确保整车系统正常运行。
在 VCU 软件开发过程中,开发流程至关重要,它是保证开发软件质量的重要手段之一。所开发的整车控制器软件需要经过各种不同层面的测试,调整和验证才能最终作为产品发布出去。采用先进的测试方法和手段,如 MiL 测试、HiL 测试、实车测试等整车验证。
VCU应用层算法开发过程主要供参考标准如下表所示:
表 1-1参考标准列表
序号 |
标准 |
1 |
ISO 14229-1 道路车辆 统一诊断服务 第一部分:规范和需求 |
2 |
ISO 15765-3 道路车辆 控制局域网络诊断 第三部分:统一标准的诊断服务实施 |
3 |
GBT19596-2004 电动汽车术语 |
4 |
QCT413-2002 汽车电器设备基本技术条件 |
5 |
GB-T27930-2011电动汽车非车载传导式充电机与电池管理系统之间的通信协议 |
6 |
GBT20234.1-2015 电动汽车传导充电用连接装置 第1部分:通用要求 |
7 |
GBT20234.2-2015 电动汽车传导充电用连接装置 第2部分 交流充电接口 |
8 |
GBT20234.3-2015 电动汽车传导充电用连接装置 第3部分 直流充电接口 |
9 |
QCT897-2011 电动汽车用电池管理系统技术条件 |
10 |
GBT18384.1 电动汽车安全要求-车载储能装置 |
11 |
GBT18384.2电动汽车安全要求-功能安全和故障保护 |
12 |
GBT18384.3 电动汽车安全要求-人员触电防护 |
13 |
GBT18385 电动汽车动力性能试验方法 |
VCU应用层算法开发过程涉及到缩写术语如下表所示:
表 1-2参考标准列表
缩写 |
英文全称 |
中文解释 |
VCU |
Vehicle Control Unit |
整车控制单元 |
SOC |
State of Charge |
荷电状态 |
MiL |
Model in the Loop |
模型在环测试 |
HiL |
Hardware in the Loop |
硬件在环测试 |
ABS |
Anti-lock Braking System |
刹车防抱死系统 |
ESP |
ElectronicStabilityProgram |
车身电子稳定系统 |
BMS |
Battery Management System |
电池管理系统 |
CAN |
Controller Area Network |
控制器局域网 |
MCU |
Motor Control Unit |
电机控制单元 |
AC |
Air Conditioner |
空调 |
PTC |
Positive Temperature Coefficient |
空调加热器 |
DC/DC |
Direct Current/Direct Current Converter |
直流/直流变换器 |
EPS |
Electronic Power Steering |
电动助力转向系统 |
SDD |
System Design Document |
系统设计文档 |
DD |
Data Dictionary |
数据字典 |
STS |
System test Document |
系统测试文档 |
SOP |
Small-Outline Package |
批量生产 |
VCU 集成驾驶员意图识别、动力控制、电池管理控制、电机控制、增程器控制等主要功能。作为目标车辆系统架构中的核心部件,VCU 根据采集驾驶员的操作指令、车速、电机转速、SOC 和水温等参数,实现既定的电机、电池和传动系统的优化匹配目标。开发一款高性能、低成本的 VCU 对新能源汽车的动力性、经济性、安全性等整车性能具有十分重要的影响。
图3-1 VCU 软件参考框架
控制功能
新能源汽车整车控制功能具有扭矩管理,电池、电机、发动机、燃料电池协调管理,充电管理,故障诊断,安全监控等功能。能够准确判断并反映的驾驶员的驾驶意图,实现驱动和能量回收工况下的扭矩请求和限制保护,识别电机、电池、发动机、燃料电池等部件的故障并采取相应的控制策略,同时输入状态实现安全监控功能,确保车辆行驶安全可靠。
整车控制还需实现车辆附件的控制,包括空调、助力转向、真空助力、热管理系统等,实现对输入输出滤波、抗抖等处理,保证信号有效。实现整车总线通讯调度,实现各部件信号安全、高效、共享。
VCU 功能示意图
新能源汽车整车控制器(VCU)通过完成以下主要功能实现对整车的动力性、安全性、经济性及舒适性控制:
系统上/下电控制:低压上电自检;整车防盗认证;电池高压上电控制;MCU 使能控制;READY 行车状态指示;正常下电控制;故障下电控制。
驾驶档位/模式管理:行车状态识别;驻车控制;驻车解锁控制;驱动档位管理;换挡失败提醒。
能量管理:能量计算;能量分配。
充放电管理:慢充充电;快充充电;预约充电;智能 12V 充电;外接放电。
驾驶模式管理:正常模型 Nommal;运动模式 Sport;经济模式 ECO。
扭矩需求控制:加速扭矩计算;制动/滑行扭矩计算;蠕行扭矩控制;跛行扭矩计算;ESC 扭矩需求;定速巡航控制。
扭矩需求限制:电池功率限制;功率限制模式;电机特性限制;最高车速限制;整车加速限值;扭矩安全。
扭矩协调处理:扭矩协调切换;扭矩梯度限制;扭矩平滑处理。
碰撞管理:碰撞状态识别;碰撞模式控制。
整车热管理功能:温度信号采集;高速/低速风扇控制;冷却水泵控制;空调系统控制;PTC 功率限制。
附件管理功能:DC/DC 工作控制;Epark 驻车控制;EPS 使能控制;制动灯控制;EPB 控制;倒车灯控制;真空泵控制。
仪表显示控制:续驶里程估算;功能参数显示;故障状态指示。
网关控制:报文转发;信号拆包打包。
整车系统保护功能:最高车速超速保护;倒档速度保护;整车驱动扭矩超限保护;能量回收扭矩超限保护;扭矩控制一致性保护;整车过温保护;互锁检测保护。
故障诊断功能:系统故障识别;系统故障分级;故障处理。
VCU 控制策略开发采用主流的基于模型的软件开发模式,遵循国际通用标准的V字型开发流程,主要包括下图所示几个阶段:
VCU开发流程
本阶段主要内容如下:
1)需求文档化
分析客户需求,研究受控对象,明确控制功能及系统配置,形成需求描述文档。
2)开发流程及规范建立
开发流程及规范建立;命名规范建立;模块测试流程/专家检查流程建立;建模规范建立;测试规范建立。
主要工作内容:
创建各模块控制思想的数学化/工程化描述文档 SDD(Software Design Document创建各模块数据传递接口文档 DD(Data Dictionary)
确定控制器 1O 和通讯接口
设计文档建立标准:
SDD 设计文档图形化、逻辑化,且易于理解
DD 文档输入输出定义清楚、全面
控制器接口电路图规范清晰
控制器外围电气原理参考
4.3.1 控制功能建模
使用模型化的编程工具 Matlab/Simulink 软件,完成整车控制器控制功能各模块模型搭建模型搭建主要要求如下:
软件框架搭建合理有效
图形化编程(Matlab/Simulink/Stateflow)
符合可测试性要求
符合建模规范要求
4.3.2 软件检查
为了保证软件模型的质量,完成模型之后完成模型的 MAAB 规范检査和 Model DesignVerifier,同时确保模型生成代码之后,做 Miscr C 和 PolySpace。
1、MAAB 检查
模型搭建之后,首先进做 MAAB 建模规范检查,之后创建自定义的检查规范
b ) 按建模规范修改模型
2、Design Verifier 检査
Design Verifer 使用形式化方法来识别模型中隐藏的设计错误。检测模型中导致整数溢出.死逻辑、数组访问越界和被零除的块。可以形式化验证设计符合功能需求。对于每个设计错误或违反设计需求,会生成一个仿真测试用例以供调试。
MISRA C检查
用户可以编写自己的规范和检查,先建立规范,输入规范条文,然后建立检查框架信息最后按照提供的例子进行 m脚本的编写,实现规范的自动检查。
a)用户规范编写
选择库浏览器规范,选择新建,输入新建规范的ID 和标题,选择所在的库,然后在出现的对话框中填写规范所要求的内容,保存,即可生成新的规范。
b)用户检查框架信息编写
选择库浏览器检查,选择新建,输入新建检查的ID 和标题,选择所在的库,然后在出现的对话框中填写检查所要求的内容,保存,即可生成新的检查。
c )检查脚本的编写
d )在规范中引用检查
4、PolySpace 检查
软件实现即编码阶段,在该阶段软件工程师希望随着编码进程查找并修复软件缺陷和违背编码规范之处,Bug Finder 可以助其快速迭代分析。Bug Finder 支持了当前主流的网络安全标准检查,代码风格和命名规范则提供了简单易行的定制界面和方法。
4.3.3 模型测试
控制策略完成后,进行模型在环测试(MiL),用于在生成代码之前保证控制逻辑的正确性与准确性。根据目标车辆特性搭建车辆模型(或在已有模型基础上修改,车辆模型不作为本项目提交物),并设计测试用例,对控制策略模型进行测试,提供详细的测试报告。
MiL 测试内容主要包括:
1)搭建模型测试环境
2)模型测试与模型完善
3)撰写测试报告
基于第三方的控制器硬件,通过控制器硬件识别的编译器,将 simulink 模型软件编译成 C 代码,然后把 ℃ 代码与控制器底层软件打包集成编译成可执行代码,下载到对应的控制器中,为后续测试环节做准备。
HiL 测试内容主要包括以下内容:
整车控制器核心控制算法功能测试:诊断功能测试;
网络通信测试:
极限工況模拟测试;
编写 HiL 测试报告;
台架测试主要针对整车控制器、与电机台架联合调试。是否做台架测试,可以在项目实施过程中视电机台架实际情况决定。
硬件平台在装车时,需在实车上进行整车控制器的标定,采用基于硬件供应商所支持协议的方式测试。标定工作达到双方的功能需求和性能要求为标定结束的标志,在此期间工程师程序调整和标定参数调整。
本项目在厂区基本测试和标定之后,进行低温和高温试验,低温试验具体在环境仓中进行或者在实地测试场进行;根据 SOP的时间,高温测试可以考虑环境仓或反季试验进行,工程师制定整车控制器高低温测试工作。
低温测试
文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99
文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效
文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是
文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件
文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件
文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码
文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware
文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停
文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待
文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析
文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code
文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象