calibration的“前世今生”——从simulink开发到CANape的XCP标定

本文详细介绍使用Simulink进行汽车电子控制单元(ECU)标定的过程,包括如何在Simulink中设置标定量,生成代码及A2L文件,以及如何使用CANape进行实际标定。

整体思路

在这里插入图片描述
上图为部分具体开发流程,基本上为:先根据需求定义架构和接口,给到应用层和底层做同步开发,测试完成后进行集成并编译链接烧录,最后进行系统测试。详细可参考V模型和ASPICE流程标准。

其中,标定量的设置贯穿在很多过程域中,具体为:应用层开发(标定量存储类型的设置),底层开发(支持XCP/CCP通信协议),和系统标定(CANape)。下面挨个解释。

0. simulink添加标定量

先概述一下:进行simulink开发应用层时,模型一般包含3个部分:model、data和configset。model代表算法,data一般为观测量、标定量和常量的设置等,configset则是硬件配置和一些生成代码高级定制。具体详见simulink自动代码生成专栏

simulink添加标定量和进行代码生成的核心就是data中数据字典的管理。(这里也要说明一点我个人体会:simulink生成代码虽然降低了软件开发的门槛,但如果想要用好这个工具还是要先去了解一些c、计算机组成原理和操作系统的知识。)

假设现在我们有如下model: OutB=(InA+1)*2
在这里插入图片描述
生成代码后如下,其中的红圈Constant_1和红圈Gain_1为float类型的定值:1.0F和2.0F。
在这里插入图片描述

现在想把这两个地方设置为可标定量。需要两步:1)给可标定量起个变量名,2)设置该变量的存储类型。首先第一步起名字为calib_1和calib_2:
在这里插入图片描述
然后设置calib_1和calib_2的存储类型,这里需要用到数据字典data dictionary。数据字典是matlab推崇的用于统一管理模型变量(如标定量)的工具,可较细致的控制变量的定义、声明、数据类型和存储类型等。方法如下:
右键模型选中model properties
在这里插入图片描述
选择data选项卡,新建或浏览现有数据字典(这里使用新建):

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值