在正式开始电控开发工作之前,首先需要搭建电控开发环境,此处开发环境主要是指软件开发环境。本文以RapidECU-U34控制器为例讲解了基于模型设计的电控开发环境搭建过程,对于其它型号的控制器,开发环境搭建过程是类似的。
基于模型设计电控开发环境的组成主要包括集成开发环境VS,建模软件MATLAB,C代码编译器S32DS,全自动代码生成工具ECUCoder,测量标定与故障诊断软件MeCa,以及其它一些有用的工具软件。
MATLAB版本越高功能越丰富软件完善程度也越高,但是相应地软件安装空间越大对电脑配置的要求也越高,所以需要合理地选择MATLAB版本。选择MATLAB版本的主要考量因素包括如下三点:
CAN FD功能,MATLAB 2019a及以上版本提供了完整的CAN FD功能支持,因此,如果需要使用CAN FD功能的话,必须选择MATLAB 2019a及以上版本。
电脑配置,MATLAB 2017a及以上版本要求16G以上内存,否则MATLAB的启动时间非常长,运行比较卡并且容易报错。因此,如果电脑配置比较差的话,只能使用MATLAB 2014b~2016a等比较老的版本。
ECUCoder支持的MATLAB版本,RapidECU-U34控制器使用的ECUCoder软件支持的MATLAB版本为2014b~2023a 64位Windows版本。
综上,如果需要使用CAN FD功能的话,可以选择MATLAB 2019a~2023a 64位Windows版本,电脑配置要求至少16G内存+六核处理器+固态硬盘。如果电脑配置比较差的话,只能使用MATLAB 2014b-2016a等比较老的版本,但是无法使用CAN FD功能。
VS版本的选择取决于MATLAB的版本:
MATLAB 2014b~2016a:VS2010
MATLAB 2016b~2021a:VS2015
MATLAB 2020b~2023a:VS2019
在安装VS过程中,如果需要选择性安装组件的话,Visual C++相关的所有组件都是必须选择的,否则MATLAB将无法找到VS。
安装VS之后,可以通过新建一个简单的Visual C++工程并编译该工程来验证VS是否已经正确安装。
通常要求先安装VS后安装MATLAB,否则容易出现MATLAB找不到VS的问题。
验证VS安装正确性请参考VS相关资料,验证MATLAB安装正确性请参考MATLAB相关资料。验证VS与MATLAB安装正确性的方法为在MATLAB命令行窗口中输入如下指令:
mex -setup
当MATLAB提示“MEX 配置为使用 'Microsoft Visual C++ 2015 (C)' 以进行 C 语言编译。”类似内容时表明VS与MATLAB安装正确,下图是VS2015+MATLAB 2019a的提示截图:
对于其它版本的VS与MATLAB,安装正确时会出现类似提示信息。
需要注意的是,有些时候即使计算机上已经安装了正确版本的VS软件,但是MATLAB运行mex –setup命令之后还是找不到VS,这种情况往往是因为该计算机上先安装MATLAB后安装VS导致的MATLAB找不到后装的VS,通常将MATLAB卸载之后重启计算机再安装MATLAB可解决此问题。
S32DS是恩智浦免费提供的C代码编译器,此处需要安装的软件版本是S32DS for S32 Platform 3.5,下载链接为www.nxp.com/S32DS 。
安装S32DS是需要激活码的,因此必须登录到恩智浦网站下载S32DS软件,下载软件的时候会提供软件licence与激活码。如果不是恩智浦网站注册用户的话,请先使用电子邮件注册一个用户然后再下载安装。
安装S32DS软件过程中需要联网激活软件,因此必须保持良好的网络连接,否则无法完整安装S32DS软件。平时使用S32DS软件并不要求网络连接。
软件安装路径禁止包含中文,否则易出现安装之后找不到应用程序等各种问题。
安装S32DS之后还需要安装必要插件,U34控制器需要使用插件S32K3xx development package,具体安装方法请参见本章后续章节。
安装S32DS软件之后,打开S32DS软件,S32DS软件会弹出一个启动界面用于设置软件工作空间,通常使用软件默认设置的工作空间即可。
等待软件启动完成之后,点击Help-S32DS Extensions and Updates,等待若干分钟(具体时间取决于网络环境),弹出如下界面,点击All,选择其中的S32K3xx development package(具体版本号可能会有不同),然后点击Install/Updata 1item(s)。
在此界面中,建议取消“Always show at startup”选项,否则会导致S32DS软件启动缓慢。
之后会弹出需要安装的插件的具体项目(具体项目可能不同),如下图所示:
点击Next按钮,开始安装插件,整个安装过程持续若干分钟(具体时间取决于网络环境),安装完成之后通常需要重启软件才能完成整个安装过程。
插件S32K3xx development package正确安装之后,S32DS软件点击Help-S32DS Extensions and Updates,等待若干分钟(具体时间取决于网络环境),弹出如下界面,点击Installed,可以看到插件已经安装完成,如下图所示。
打开S32 Design Studio for S32 Platform 3.5软件,点击Help-S32DS Extensions and Updates,等待若干分钟(具体时间取决于网络环境),弹出如上图界面,点击Installed,可以看到S32K3xx development package插件已经安装完成,如上图所示,表明S32DS软件安装正确。
打开S32 Design Studio for S32 Platform 3.5软件,点击Window-Preferences-General-Startup and Shutdown,弹出的窗口如下图所示,取消此处Confirm exit when closing last window选项的勾选,然后点击窗口右下角Apply and Close按钮。如果不取消此处勾选,S32DS软件在编译工程的时候易出现卡顿现象,卡顿时间从十几秒到十几分钟不等。
当MATLAB编译模型出现较长时间卡顿时,请重点检查S32DS软件的上述选项是否已经取消勾选。
ECUCoder是华海科技提供的全自动代码生成工具,此处需要安装的软件版本是ECUCoder for S32K344或者ECUCoder for S32K311。下载链接为ECUCoder for S32K311。
用户账户控制对话框提示“你要允许来自未知发布者的此应用对你的设备进行更改吗?”时请点击“是”按钮。
ECUCoder安装路径中不可出现中文路径,否则可能导致软件无法正常使用。
ECUCoder安装后重启计算机之后软件方可正常使用,否则可能导致软件无法正常使用。
ECUCoder软件安装完成并且重启电脑后,鼠标右击MATLAB软件选择“以管理员身份运行”(要求版本R2014b及以上64位版本),选择ECUCoder软件根目录,在MATLAB命令窗口输入“ec344_ini”(或者“ec311_ini”)命令并回车,弹出如下对话框:
对话框第1行填写S32DS.3.5软件的安装路径,此处填写的安装路径必须与S32DS软件的实际安装路径一致,推荐的填写方法是进入S32DS软件的实际安装路径后复制路径然后粘贴到第1行中。对话框第2行填写S32DS.3.5软件工作空间的路径,此处填写的路径必须与S32DS软件的实际工作空间路径一致,推荐的填写方法是打开S32DS软件,S32DS软件打开时会自动弹出工作空间选择界面,界面中的路径就是S32DS软件的实际工作空间路径,复制该路径然后粘贴到第2行中。
对话框第3行填写控制器C代码工程编译方式,通常使用自动编译,因此填写1即可。完成后点击“确定”按钮,软件设置完成,如下图所示:
软件设置通常只需要一次,之后使用不再需要反复设置。当出现以上提示时,表明ECUCoder已经正确安装。
问题原因:运行命令时没有计算机管理员权限。
解决方法:查看用户是否为管理员身份,如不是,切换到管理员权限账户后再次设置。 关闭MATLAB后鼠标右击MATLAB软件选择“以管理员身份运行”,重新运行ec344_ini(或者ec311_ini)命令。
问题原因:S32DS.3.5软件不存在或者安装路径设置错误。
解决方法:安装S32DS.3.5软件并且正确设置软件安装路径。
问题原因:S32DS.3.5软件工作空间路径设置错误。
解决方法:正确设置工作空间路径,确保ECUCoder中设置的工作空间路径与S32DS.3.5软件实际工作空间路径是一致的。
问题原因:S32DS软件下未安装插件S32K3xx development package。
解决方法:在S32DS软件下正确安装插件S32K3xx development package。安装插件S32K3xx development package的具体方法参见章节《三.安装S32DS》。
需要注意的是,有些时候即使S32DS软件下已经安装了S32K3xx development package,但是MATLAB运行ec344_ini(或者ec311_ini)命令之后还是提示“S32DS.3.5软件下未安装S32K3xx development package”,这种情况往往是因为S32K3xx development package的版本太老造成的,在S32DS软件下先卸载当前的插件S32K3xx development package然后重新在线安装最新版本的插件S32K3xx development package即可解决报错的问题。
问题原因:有些版本的ECUCoder软件需要软件加密狗,而计算机上没有插入正确的软件加密狗。
解决方法:插入ECUCoder软件配套加密狗。
问题原因:MATLAB找不到合适的VS编译器。
解决方法:安装VS编译器,安装VS编译器具体方法参见章节《二.安装VS与MATLAB》。安装VS编译器之后在MATLAB命令行窗口中输入指令mex –setup。
需要注意的是,有些时候即使计算机上已经安装了正确版本的VS软件,但是MATLAB运行mex –setup命令之后还是找不到VS,这种情况往往是因为该计算机上先安装MATLAB后安装VS导致的MATLAB找不到后装的VS,通常将MATLAB卸载之后重启计算机再安装MATLAB可解决此问题。
问题原因:运行命令时没有计算机管理员权限。
解决方法:查看用户是否为管理员身份,如不是,切换到管理员权限账户后再次设置。 关闭MATLAB后鼠标右击MATLAB软件选择“以管理员身份运行”,重新运行ec344_ini(或者ec311_ini)命令。
如果电脑上之前安装过ECUCoder软件,现在需要安装更新版本的ECUCoder软件,软件升级步骤如下(先卸载老版本后安装新版本):
在MATLAB中进入ECUCoder安装目录,运行ec344_del(或者ec311_del)命令;
在Windows控制面板中卸载ECUCoder软件;
安装最新版本软件并重启电脑。
重启电脑之后,验证ECUCoder安装正确性的方法请参见前文内容。
MeCa是华海科技免费提供的测量标定与故障诊断软件,当前最新版本是MeCa V2.0。下载链接为MeCa。
安装MeCa的过程比较简单,按照提示点击“下一步”即可完成安装。
软件安装用户必须是计算机管理员账户。
使用MeCa软件还需要安装CAN卡驱动,安装CAN卡驱动的具体方法可以在安装MeCa软件之后MeCa软件自带的《MeCa 使用说明书》中获取。
请使用管理员身份运行MeCa软件,启动MeCa软件时右击软件图标-以管理员身份运行。
MeCa软件支持的CAN卡为ZLG USBCAN适配器,该CAN卡是国内广泛使用的CAN卡,不限生产厂家,不限外观。正确安装CAN卡驱动之后电脑连接CAN卡时设备管理器如下图所示:
如果电脑连接CAN卡时设备管理器显示的信息与上图的”ZLG USBCAN“不同,则该CAN卡不是MeCa软件支持的CAN卡,请更换CAN卡。
MeCa软件支持的CANFD卡为致远电子USBCANFD适配器,该CANFD卡是国内广泛使用的CANFD卡,有多个型号(通道数量不同),不限外观。当用户使用CANFD卡时,请从名为MeCaFD的图标启动MeCa软件。正确安装CANFD卡驱动之后电脑连接CANFD卡时设备管理器如下图所示:
如果电脑连接CANFD卡时设备管理器显示的信息与上图的”USBCANFD“不同,则该CANFD卡不是MeCa软件支持的CANFD卡,请更换CANFD卡。
电控开发软件环境推荐的其它有用工具软件:ZCANPRO、CANdb++、HexView、ASAP2 Editor、LDF Edit、CANManager for CANopen、Wireshark等。用户可以根据实际需要选择性下载安装这些工具软件。
ZCANPRO是致远电子免费提供的CAN总线工具软件,是周立功CAN/CANFD系列产品的配套软件,可进行原始数据收发、数据回放、高层协议分析等操作,软件操作简单而不失功能强大,是进行CAN总线测试、监控、诊断、开发的好帮手。
CANdb++是VECTOR公司免费提供的CAN总线dbc文件编辑工具软件,可以用来查看、编辑、新建CAN总线dbc文件,支持CAN与CAN FD。
HexView是VECTOR公司免费提供的十六进制或者二进制文件编辑工具软件。HexView可以用来查看、编辑各种格式的十六进制或者二进制文件,支持S19与Hex文件。
ASAP2 Editor是英特佩斯公司免费提供的A2L文件制作工具软件,提供了便捷的编辑环境,通过导入编译器生成的.elf文件,能够获取测量标定量的名称与地址,用户可以通过基于对话框的可视化窗口来输入和编辑所有信息,编辑完成后,点击“Generate”即可生成A2L文件。
LDF Edit是LINWorks免费提供的LDF文件编辑软件,可以查看、编辑、新建LIN总线LDF文件,支持各种版本的LIN规范。
CANManager for CANopen是致远电子免费提供的CANopen主站卡管理软件,可以用来查看CANopen协议配套EDS文件。
Wireshark是一个网络封包分析软件。软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark是以太网开发与测试的有用工具。