2、开发环境搭建:ControlDesk与ConfigurationDesk的安装与授权、RTI模块配置、目标板与上位机的网络连接

好,咱们正式开始动手了。这一章我带你把开发环境搭起来。说实话,环境搭建这事儿,看着琐碎,但真出问题了能卡你半天。我在好几个项目里都遇到过同事因为授权文件没装对,折腾了一整天——嗯,咱们今天争取半小时搞定。

2.1 ControlDesk与ConfigurationDesk的安装与授权

先说说这两个软件的关系。ControlDesk是咱们做实验时用的主界面,你可以在上面画仪表盘、拖控件、看波形。ConfigurationDesk呢,是负责把Simulink模型编译成能在目标板上跑的代码。说白了,一个管界面,一个管底层。

我个人习惯是先装ControlDesk,再装ConfigurationDesk。为什么?因为ControlDesk会顺带装一些公共的运行时库,后面ConfigurationDesk安装时能省点事。

安装步骤

  1. 双击安装包——注意,一定要右键“以管理员身份运行”。我见过有人直接双击,结果装到一半报权限错误,还得卸载重来。
  2. 选择安装路径——我建议别用默认的C盘,尤其是你电脑C盘空间紧张的话。我一般放在 D:\dSPACE\ 下面,清爽好找。
  3. 选择组件——如果你是第一次装,全选就行。后面用熟了可以按需勾选。
  4. 授权文件——这一步最容易翻车。dSPACE用的是浮动授权(Floating License),你需要把 license.dat 文件放到安装目录下的 \license 文件夹里。
⚠️ 注意:授权文件不要放在中文路径下!我曾经因为把license文件放在“桌面”上(桌面路径带中文),结果ControlDesk死活认不到授权。后来改成纯英文路径,一次通过。

装完后,打开ControlDesk,看看左下角有没有显示“Licensed”。如果显示“No License”,别慌——检查一下环境变量 DSPACE_LICENSE_FILE 有没有指向你的license文件路径。

2.2 RTI(Real-Time Interface)模块配置

RTI模块是连接Simulink和dSPACE硬件的桥梁。你想想看,你在Simulink里搭了一个CAN发送模型,怎么让它在目标板上跑?就是靠RTI把Simulink的模块映射成硬件能理解的代码。

配置RTI其实不复杂,但有几个关键点要注意。

2.2.1 安装RTI库

安装dSPACE软件包时,RTI是作为一个可选组件存在的。你需要在安装向导里勾选“Real-Time Interface”相关的选项。装完之后,打开MATLAB,在命令行输入:

rtiinfo

如果返回了dSPACE的版本号和硬件支持列表,说明装好了。如果提示“未找到命令”,那八成是路径没加进去。我建议你手动把 C:\Program Files\dSPACE\MATLAB\R2020b(根据你的MATLAB版本调整)加到MATLAB的搜索路径里。

2.2.2 配置Simulink模型

打开Simulink,新建一个模型。在库浏览器里,你会看到多了一个“dSPACE RTI”的库。点进去,里面有各种硬件接口模块——CAN、ADC、DAC、PWM等等。

咱们做CAN通信,主要用这几个模块:

模块名称 功能 常用参数
RTI CAN Controller 配置CAN控制器(波特率、模式等) 波特率:500 kbps,模式:CAN 2.0
RTI CAN Transmit 发送CAN报文 ID:0x100,DLC:8
RTI CAN Receive 接收CAN报文 ID掩码:0x7FF
💡 小技巧:配置CAN控制器时,波特率一定要和你的实际总线一致。我遇到过有人设了1 Mbps,但实际总线上是500 kbps,结果通信时好时坏,查了半天才发现是波特率不匹配。

2.2.3 生成代码

模型搭好后,按 Ctrl+B 编译。RTI会自动生成C代码,并编译成可在目标板上运行的二进制文件。这个过程大概需要1-3分钟,取决于你的模型复杂度。

如果编译报错,最常见的原因是:

  • MATLAB版本和dSPACE版本不兼容——查一下dSPACE的Release Notes
  • 缺少编译器——确保装了Visual Studio或MinGW
  • 模型里有不支持的数据类型——RTI只支持double、single、int32等基础类型

2.3 目标板与上位机的网络连接

好,软件装好了,模型也编译通过了。现在要让上位机(你的电脑)和目标板(比如MicroAutoBox或SCALEXIO)连起来。

dSPACE目标板一般有两个网口:一个用于调试(Debug),一个用于实时通信(Real-Time)。咱们做CAN仿真,主要用调试网口。

2.3.1 硬件连接

用一根网线,一头插目标板的调试口,一头插你的电脑。如果你电脑没有网口(现在很多笔记本都取消了),可以用USB转以太网适配器。

⚠️ 注意:不要用交叉网线!现在的设备都支持自动翻转(Auto MDI-X),普通直连网线就行。我刚开始做的时候,特意买了根交叉线,结果插上去没反应——白花钱。

2.3.2 配置IP地址

目标板的默认IP一般是 192.168.1.100,子网掩码 255.255.255.0。你需要把电脑的网口IP设成同一个网段,比如 192.168.1.10

具体操作:

  1. 打开“网络和共享中心” → “更改适配器设置”
  2. 右键你的以太网口 → “属性” → “Internet协议版本4 (TCP/IPv4)”
  3. 选择“使用下面的IP地址”,填入:
    IP地址:192.168.1.10
    子网掩码:255.255.255.0
    默认网关:留空

设好后,打开命令行,ping一下目标板:

ping 192.168.1.100

如果能ping通,恭喜你,网络通了。如果ping不通,检查一下:

  • 目标板是否上电了?(别笑,我真见过有人忘了插电源)
  • 防火墙有没有拦截ICMP?
  • 网线有没有插紧?

2.3.3 在ControlDesk中连接目标板

打开ControlDesk,点击“Platform” → “Add Platform”。选择你的目标板类型(比如MicroAutoBox II),输入IP地址 192.168.1.100

连接成功后,你会看到目标板的状态变成绿色“Connected”。这时候,你就可以把之前编译好的模型文件(.sdf或.ptp文件)下载到目标板上了。

💡 小技巧:如果你有多块目标板,可以在ControlDesk里给每块板子起个名字,比如“台架1号”、“台架2号”。不然IP地址记混了,下载错程序就尴尬了。

2.4 验证环境是否搭建成功

最后,咱们做个快速验证。在Simulink里拖一个“RTI CAN Transmit”模块,配置成每100ms发送一次ID为0x100的报文。编译下载到目标板,然后在ControlDesk里打开CAN Monitor,看看能不能收到报文。

如果能收到,说明整个环境搭建成功了。如果收不到,别急——回头检查一下波特率、CAN控制器使能、还有物理连接(CAN_H和CAN_L有没有接反)。

嗯,环境搭建这部分就到这里。下一章咱们开始真正写CAN通信的代码,到时候我会带你一步步搭一个完整的收发模型。