分享

VCU的主要开发内容及核心工作

 花信风zq 2021-04-18
汽车电子联盟
共享汽车技术,推动学习进步
47篇原创内容
公众号
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上进行开发。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多