使用基于xcp的CAN接口从第三方校准工具校准ECU参数
本示例展示了如何使用基于xcp的CAN接口在德州仪器™C2000™板上监视Simulink模型的信号和调优参数。金宝app
先决条件
完成开始使用TI C2000处理器的嵌入式编码器支持包金宝app视频。
所需MathWorks产品下载188bet金宝搏
金宝app仿真软件®
被嵌入的编码器®
嵌入式Coder®支持包德州仪器金宝app™C2000™
需要的第三方软件
向量开胃小菜®
注意:使用Texas Instruments金宝app™C2000™板实现的Simulink与CANape的集成已经在CANape 16.0 SP6上进行了测试。
所需的硬件
任何带CAN模块的德州仪器™C2000™板
模型
要打开预配置的模型,在MATLAB提示符下运行以下命令:
open_system (“c28x_xcp_can_3pcaltool.slx”);
这个示例包含四个用于日志记录的信号和两个用于调优的参数。这四个信号是:
Counter -在每个时间步递增COUNTER_INCR输出,COUNTER_INCR是可调的
sinine_wave -正弦波
脉冲-脉冲信号
常量-值STEP_PARAM和STEP_PARAM的常量信号是可调的
配置模型
在本任务中,您将配置Simulink模型并在第三方校准工具中启用参数校金宝app准。
注意:在预配置的模型中不需要这些步骤。如果您更改了硬件或没有使用预配置的型号,请执行这些步骤。
1.打开模型。
2.去建模>模型设置打开“配置参数”对话框。
3.打开硬件实现窗格中,从列表中选择所需的德州仪器C2000板硬件板参数。
4.扩大目标硬件资源为了那个板子。
5.去外部模式点击标签,选择CAN上的XCP随着通信接口.
6.在目标器上配置eCAN模块。
a.输入CAN ID命令而且CAN ID响应.
b。选择扩展CAN ID选项,如果您想使用扩展ID。
c。选择详细的选项可在诊断查看器或MATLAB命令窗口中查看外部模式执行进度和更新。
d.输入for日志缓冲区大小.
e.如果目标器支持多个eCAN模块,则选择需要外接模式使用的CAN模块。金宝app
f.输入Rx邮箱号而且Tx邮箱号.
7.去代码生成>优化然后设置默认参数行为来内联
.
8.点击应用而且好吧.
为模型启动监视操作的构建并生成A2L文件
在硬件在“Simulink”金宝app工具条的页签中,单击为监控而构建.
点击部署在Simuli金宝appnk Toolstrip中将可执行文件部署到目标。
该模型部署在德州仪器C2000板和一个名为A2L文件modelname.a2l在MATLAB中生成在当前文件夹路径下。部署成功后,可使用第三方校准工具与德州仪器C2000单板对接,实现信号监控和参数调优。
在CANape中创建一个新项目,并连接到德州仪器C2000板
1.打开Vector CANape软件。创建一个新项目。
2.将模型生成的A2L文件拖放到CANape中。这将打开一个创建新设备的新对话框。点击下一个.
3.在“网络设置”中,单击新的网络按钮。这将打开一个可以选择CAN通道的对话框。另外,将波特率更改为在Simulink模型中使用的值。金宝app接受更改并关闭对话框。
4.点击下一个最后点击好吧.创建新设备,并打开新设备的“设置”对话框。
5.扩大协议选项卡。点击传输层.
6.请确保“CAN主ID”、“CAN从ID”等设置与Simulink模型中的设置一致。金宝app
7.点击协议选项卡。去专家设置.将SHORT_DOWNLOAD_DISABLED和SHORT_UPLOAD_DISABLED选项更改为yes。
8.点击接受所有更改在“设置”对话框的左上角,然后关闭它。
9.点击在线连接到德州仪器C2000目标。
使用第三方工具进行测量和校准
1.控件打开信号和参数列表设备页中的资源管理器窗格。
2.将要监视的信号拖到“显示”区域并选择图形窗口。
3.将要调优的参数拖动到“显示”区域,并选择“参数”窗口。
4.点击开始测量在“开始”选项卡中开始监控所选信号。
5.使用“参数”窗口调优参数。
在第三方工具中解决校准问题
当您使用第三方进行参数校准时,可能会遇到以下错误:
CANape连接失败的错误:
ECU没有回应
要解决此问题,请确保CAN通道波特率、CAN从ID、CAN主ID、CAN ID类型正确,然后尝试重新连接。
单击时,“数据采集”不启动开始第一次。
若要解决此问题,请再次单击“开始”。
发生此问题是因为CANape将命令0xD7 (GET_DAQ_EVENT_INFO)和0xDC (GET_DAQ_CLOCK)发送到从服务器,即使ASAP2文件中没有列出这些受支持的可选命令。金宝app默认情况下,CANape具有XCP_OPTIONAL_CMD_AUTO_LEARNING特性,它学习到GET_DAQ_EVENT_INFO和GET_DAQ_CLOCK命令不受支持,并在第二次尝试时正确地发送DAQ。金宝app此信息保存在项目数据库中,因此该故障不会在同一项目中再次发生。