Matlab自动化代码生成与控制器调试指南

需积分: 0 5 下载量 150 浏览量 更新于2024-08-03 1 收藏 600KB PDF 举报
"这份文档主要介绍了如何在Matlab环境下自动生成代码,并结合优控VCU的使用提供了相关注意事项和问题解决方案,涵盖了软件配置、模型构建、代码生成、CAN通信调试以及ECO系列工具的使用技巧。" 在Matlab自动生成代码的过程中,有几个关键点需要注意。首先,底层驱动库的支持版本非常重要,本案例中提到支持到2019a版本。这意味着在更新更高级别的Matlab版本时,可能需要更新或更换驱动库以确保兼容性。 编译环境使用的是NXP公司的SD32 IDE,这是一个免费的开发工具,但用户需要在NXP官网上注册并获取license文件。在安装和配置SD32时,需确保不包含中文字符,尤其是路径中避免使用中文,以防止可能出现的编译问题。 在建立Matlab模型时,模型路径名严禁包含中文,包括桌面路径。如果路径中含有中文,可能会导致在编译时出现错误。在遇到这类问题时,应修改模型保存路径,确保其符合命名规则。 在使用ecoflash工具前,需要添加sdkey文件,并明确其路径。当使用Matlab自动生成的demo模型刷写到控制器后,CANA和CANC通道应能正常发送报文。若未检测到报文,应检查CAN接线、终端电阻以及波特率设置是否正确。 ECOflash刷写控制器时,虽然控制器的下电和点击flash按钮的顺序相对灵活,但使用ECOtrons硬件时可能出现中断死机,而采用kvaser硬件则更为稳定。在使用ECOCal时,需确保选择与控制器软件匹配的a2l和mot文件,否则可能导致无法打开硬件或连接失败。 在模型中,Readcalibration和calibration模块有不同的作用。Readcalibration模块定义了constant模块中的parameter变量,需通过引用变量名来使用,而calibration模块则直接输出信号线,可直接参与模型计算。 在某些情况下,由于观测量或标定量在逻辑路径中未被执行,可能会在代码生成时被优化掉,此时可以通过红色方框中的优化选项来控制。 控制器的CAN接口方面,文档指出ABC三路CAN都应具有屏蔽层,而手册可能只提及两路。这提示我们在实际应用中要注意硬件设计的准确性。 ECOCAN录制的数据是以csv格式存储的,可能与常规的csv格式有所不同。如果在使用ECOcal中的ECOcan模块时遇到canlib32.dll缺失的错误,可以尝试将EcoCAN.zip解压后的文件替换到ECOcal的安装目录中解决。 最后,ECOCAN录制的csv数据可以使用回放软件打开,这对于CAN数据的分析和调试非常有用。这份文档提供了丰富的Matlab代码生成及优控VCU使用的实践经验,对于进行相关开发工作有着重要的指导价值。