有一段时间没有更新博客了,今天来和大家简单聊聊新能源汽车的“大脑”——整车控制器(VCU)的开发流程以及一些核心工作。

第一部分 VCU的开发流程

VCU的开发流程有很多种,但是从软件开发的角度看,主要是以下几个方面:

1、系统开发。软件开发前要有指导软件开发的资料,主要有:软硬件接口表、整车高低压电气原理图、CAN通讯协议以及详细功能策略文档;

2、软件开发。有了上述的文档,就可以开始软件开发工作了。软件开发工作分 底层 和 应用层。底层软件工程师的工作主要是写一写硬件驱动(如 DIO /ADC/PWM/CAN/LIN等)、协议栈(如CCP、UDS等)。应用层软件工程师的工作主要是将具体的功能策略在MATLAB软件上模型化,然后自动生成代码;

3、软件集成及测试。底层软件和应用层软件都做好之后,就需要对软件进行集成了,底层软件平台和应用层软件之间交互的接口主要是一些全局变量或者API。经过集成之后就需要对代码进行测试(主要是进行HIL测试);

4、Bootloader开发。这里不得不说下Bootloader的重要性,在汽车行业,往往需要代码进行不断修正与更新,且VCU在做好之后也不可能通过串口进行程序烧录了(不可能开盖烧录),所以需要利用CAN总线进行代码的烧录。

第二部分 核心工作

VCU开发的核心工作主要有:

1、底层软件平台化。底层软件进行平台化之后,针对不同的项目,往往我们只需要进行简单的配置就可以适用了。我们这里的做法是:将项目个性化的内容以一定的格式写在EXCEL表格中,然后通过开发脚本来读取这些EXCEL表,脚本会以写文本的方式将代码写出来,开发这些脚本的工具很多:如MATLAB,C#/VB等;

2、应用层模型开发工作。模型开发工作量相对较大,VCU的主要功能有:高低压上下电,驱动电机扭矩管理,档位管理,踏板解析,故障诊断与系统保护,充电管理,热管理以及一些附加管理。

3、DBC文件和A2L文件的制作。为了让我们抓取的CAN报文看起来更具有直观的意义,我们需要制作dbc文件对原始报文进行解析。制作dbc文件的方法也是通过脚本读取CAN矩阵(EXCEL表)生成代码的方式来实现。A2L文件是测量和标定过程中需要制作的文件。A2L文件制作过程中有一个很重要的工作就是对变量地址的映射。

4、基于CAN通信的一些协议栈的开发。这些协议栈主要是CCP协议栈和UDS协议栈。CCP协议栈是标定用的,大家可以对照CCP协议看VECTOR公司提供的源码,很容易理解。UDS协议栈开发相对CCP协议栈复杂。UDS协议栈规定了一些具体的诊断服务。UDS协议栈属于应用层,在其与CAN通信之间还有一个网络层,通常该网络层遵循的协议是ISO 15765_2。该协议主要规定了多帧传输的一种方式;

5、Bootloader下位机开发。Bootloader叫引导加载程序。Bootloader下位机指烧录进单片机的底层软件,该底层软件与项目应用的底层软件是独立开发的。我们开发的Bootloader下位机是基于UDS协议进行刷写的。

6、Bootloader上位机开发。Bootloader上位机的作用主要是对被烧录的文件进行解析,然后以一定的格式、以CAN通信的方式发送给单片机即可。该上位机可以用WPF进行开发,也可以在已有的软件平台上进行二次开发,比如用CAPL语言在CANoe或者CANape上进行开发。

最后,在这里说点重要的东西。VCU软件开发工作不是整个工程的重点,开发工作之后的各种测试才是重点,测试工作占据工作量一大部分。所以重要的事情多说几遍:测试、测试、测试……

本人水平有限,有错误或不足之处,还请大家批评斧正!谢谢

整车控制器(VCU)开发 之 概述相关推荐

  1. 纯电动汽车整车控制器VCU

    纯电动汽车整车控制器VCU研发介绍 在了解纯电动车整车控制器前,先看一下纯电动汽车基本的组成部件,基本组成部件如下图所示:       整车控制器VCU,英文全称为:Vehicle Control U ...

  2. 满足自动驾驶远程遥控的线控底盘整车控制器VCU

    满足自动驾驶远程遥控的线控底盘整车控制器VCU 1   自动驾驶线控底盘VCU功能介绍 满足自动驾驶及遥控驾驶的线控底盘整车控制器VCU作为新能源及自动驾驶电动汽车的核心主控制单元,通过硬线或CAN等 ...

  3. 电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案

    电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格,Execl文件 ...

  4. 电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案

    电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格 ...

  5. 电气simulink常用模块_从整车控制器VCU模型入门simulink(1)

    学习一门语言或者一门技术,最烦的就是长篇大论的理论和脱离实际的练习,我想正在阅读这篇文章的你一定深有体会,既然认识到了这样的痛点,我们接下来就换一种方式来学,通过实际工程中能运用到模型来逐步入门sim ...

  6. 智能汽车 | 整车控制器(VCU)系统框图,功能拆解及供应商排名

    摘要: 随着新能源EE架构的迭代及控制单元集成度越来越高,VCU的功能可能会被拆解到中央控制器+域控制器,或者拆解到多合一的控制单元: VCU(Vehicle Control Unit)即整车控制器, ...

  7. 从整车控制器VCU模型入门simulink(4)

    3.档位控制子系统 Gear 是不是发现自己不会的模块越来越少?其实学习任何一项技能,只要敢于去尝试,每天进步一丢丢,就会发现压根没有自己想象的那么难. 这里主要讲下Matlab Fcn和Memory ...

  8. 从整车控制器VCU模型入门simulink(3)

    2.加速控制子系统 Accelerator 这个部分主要是用来处理采集到的加速踏板模拟信号,将其转换为有效的加速踏板开度信号,当然其中也对信号的有效性进行判断,如果超出正常范围则会报错. 为了保证可靠 ...

  9. VCU 整车控制器应用层模型VCU模型,整车控制器基于工具包快速原型开发

    VCU 整车控制器应用层模型VCU模型,整车控制器基于工具包快速原型开发,基于飞思卡尔mpc5634 量产版应用层模型,开发手册,开发资料(矩阵,dbc文件等等),需要的汽车工程师们可以看看,可提供如 ...

  10. VCU整车控制器开发 VCU开发设计策略 整车控制器设计方案

    整车控制器开发 VCU开发设计策略 整车控制器设计方案 纯电动整车控制器设计方案 整车控制策略,车辆运行模式管理 基于MC9S12XEP100 完成代码,原理图,PCB, 详细控制策略,车辆运行模式管 ...

最新文章

  1. LVS的简单示例(一)
  2. 选择排序(Select_Sort)
  3. 如何在Instagram上过滤冒犯性评论
  4. VC中对象的序列化与文件I/O
  5. python--学习1
  6. html字段值换行代码怎么写,HTML段落,换行,字符实体
  7. 你是“细”精你就赢了 游戏开发者怎样做好玩家细分
  8. Java基础之ArrayList与LinkedList、Vector,以及HashMap与HashTable的区别
  9. Linux 日志查看命令journalctl
  10. 【STM32H7的DSP教程】第48章 STM32H7的中值滤波器实现,适合噪声和脉冲过滤(支持逐个数据的实时滤波)
  11. 判断多边形是凹多边形还是凸多边形,以及求凹点
  12. C++类内静态成员的内存释放问题
  13. 中标麒麟服务器性能怎么样,中标麒麟Linux系统的性能分析及工具(74页)-原创力文档...
  14. 解决input获取焦点后,旁边文字抖动问题
  15. 虚拟机连接本地数据库
  16. 【077】Flight Aware-实时航班和机场状态更新
  17. 恭喜清华姚班校友马腾宇等18名华人科学家获得2021年斯隆奖学金!
  18. 百度2015实习生招聘笔试
  19. 我的物联网项目(三)平台架构
  20. 【时序】MQ-RNN 概率预测模型论文笔记

热门文章

  1. 阻止中文输入时触发input事件
  2. Windows10没有画图软件的解决方式
  3. 超高精度UWB其实并不贵——UWB定位基站成本详解
  4. 服务器显示htx插槽,华硕最新推出一系列服务器及主板解决方案
  5. 如何透过表象直达本质
  6. iOS 强制屏幕实现旋转功能
  7. auto dvr_什么是“广播DVR服务器”,为什么在我的PC上运行它?
  8. 中望cad自定义快捷键命令_中望CAD快捷键命令大全
  9. Word2Vec模型之训练篇
  10. I Want My Tears Back