Simlink 生成A2L标定量和检测量

1.采用基于模型的设计(MBD)搭建应用程序

从Simulink Library Browser中推拽出如下模块,搭建模型。

Simlink 生成A2L标定量和检测量_第1张图片

Matlab function内容如下图

Simlink 生成A2L标定量和检测量_第2张图片

2.设置用户存储类(CSC)

因为a2l中的标定量和检测量存放在用户指定的区域,故在代码生成时需要指定该变量存储的位置。

在CMD窗口中输入 cd(fullfile(matlabroot,'/toolbox/simulink/simdemos/dataclasses'))

Simlink 生成A2L标定量和检测量_第3张图片

将文件夹+SimulinkDemos复制到如D:\MyProjects\MyPackage,并重命名为+myPackage.

Simlink 生成A2L标定量和检测量_第4张图片

 将matlab路径定位到D:\MyProjects\MyPackage,并打开Parameter.m和Signal.m文件。修改这两个文件中的methds方法下的函数setupCoderInfo(line45),并将参数更改为“myPackage”和刚才重命名的一致。

Simlink 生成A2L标定量和检测量_第5张图片

保存并关闭文件

打开matlab主页上的设置路径按钮,添加package路径

Simlink 生成A2L标定量和检测量_第6张图片

添加package路径

Simlink 生成A2L标定量和检测量_第7张图片

点击保存,确认按钮

在CMD窗口中键入:cscdesigner('myPackage'),此时将打开cscdesigner

Simlink 生成A2L标定量和检测量_第8张图片

点击Memory Seeting选项卡,点击New,设置参数如下(这个具体内容需要根据实际的MCU进行设置)如下定义两种内存区,一个是calibration内存区,另一个是monitor内存区.在设置参数后可点击Valiable按钮检测是否设置出错,在Validating result输出窗口中查看。

Simlink 生成A2L标定量和检测量_第9张图片

Simlink 生成A2L标定量和检测量_第10张图片

在Custom Storage Class选项卡中,点击New ,参数如下,下图设定义了2个存储类,一个是calibration存储类,另一个是monitor存储类.在设置参数后可点击Valiable按钮检测是否设置出错,在Validating result输出窗口中查看。

Simlink 生成A2L标定量和检测量_第11张图片

Simlink 生成A2L标定量和检测量_第12张图片

点击ok,弹出的窗口中点击OK按钮。

点击simulink模型中的userkey1模块,打开对话框,在Signal Attributes选项卡中,点击Data Store
Memory:simulink.Signal下拉选择Customize calss lists,在Signal classes栏中勾选myPackage.Signal前的复选框,如图

Simlink 生成A2L标定量和检测量_第13张图片

Simlink 生成A2L标定量和检测量_第14张图片

点击ok,在刚才点击打开的模块的对话框中,再次下拉Signal object class,此时选择myPackage.Signal,然后再Storage class的下拉框中选择MyCalib,此时就已将该变量设置为标定两个,如图。

Simlink 生成A2L标定量和检测量_第15张图片

A模块和userkey1模块一样,设置为标定量,userdata1和userdata2模块在Storage class下拉中选择MyMonitor.

以上就设置好了,simulink模块的参数,接下来还需要设置代码生成的规则。

3.设置系统生成A2L文件,并生成AUTOSAR代码。

ctrl + e,打开模型配置参数对话框,设置如图。

Simlink 生成A2L标定量和检测量_第16张图片

Simlink 生成A2L标定量和检测量_第17张图片

Simlink 生成A2L标定量和检测量_第18张图片

Simlink 生成A2L标定量和检测量_第19张图片

以上配置就基本上能生成了autosar代码和a2l文件,当然还有其它优化生成代码的选项,这里就不多说了。

在模型中点即RUN,若没有错误,则点击Bulid Mode,生成代码,如图。

Simlink 生成A2L标定量和检测量_第20张图片

4.将生成的代码集成到工程中,利用生成的Hex文件,map文件,将A2l中的变量地址填充上(另外可能还需编写一些文件信息到A2L中,如标定时的canId,QAC触发条件等信息),即可在标定软件中使用了。

以上四点即我在项目中使用的手法,若有错误还望指出。

本人是从事汽车电子ECU的开发的攻城狮一枚,主要从事BSW的开发,欢迎志同道合的朋友加我微信,一起讨论有关汽车电子开发的技术。

Simlink 生成A2L标定量和检测量_第21张图片

你可能感兴趣的:(vehicle,electronics)