2、开发环境搭建:ControlDesk与ConfigurationDesk的安装与授权、RTI模块配置、目标板与上位机的网络连接
好,咱们正式开始动手了。这一章我带你把开发环境搭起来。说实话,环境搭建这事儿,看着琐碎,但真出问题了能卡你半天。我在好几个项目里都遇到过同事因为授权文件没装对,折腾了一整天——嗯,咱们今天争取半小时搞定。
2.1 ControlDesk与ConfigurationDesk的安装与授权
先说说这两个软件的关系。ControlDesk是咱们做实验时用的主界面,你可以在上面画仪表盘、拖控件、看波形。ConfigurationDesk呢,是负责把Simulink模型编译成能在目标板上跑的代码。说白了,一个管界面,一个管底层。
我个人习惯是先装ControlDesk,再装ConfigurationDesk。为什么?因为ControlDesk会顺带装一些公共的运行时库,后面ConfigurationDesk安装时能省点事。
安装步骤
- 双击安装包——注意,一定要右键“以管理员身份运行”。我见过有人直接双击,结果装到一半报权限错误,还得卸载重来。
- 选择安装路径——我建议别用默认的C盘,尤其是你电脑C盘空间紧张的话。我一般放在
D:\dSPACE\下面,清爽好找。 - 选择组件——如果你是第一次装,全选就行。后面用熟了可以按需勾选。
- 授权文件——这一步最容易翻车。dSPACE用的是浮动授权(Floating License),你需要把
license.dat文件放到安装目录下的\license文件夹里。
装完后,打开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 |
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转以太网适配器。
2.3.2 配置IP地址
目标板的默认IP一般是 192.168.1.100,子网掩码 255.255.255.0。你需要把电脑的网口IP设成同一个网段,比如 192.168.1.10。
具体操作:
- 打开“网络和共享中心” → “更改适配器设置”
- 右键你的以太网口 → “属性” → “Internet协议版本4 (TCP/IPv4)”
- 选择“使用下面的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文件)下载到目标板上了。
2.4 验证环境是否搭建成功
最后,咱们做个快速验证。在Simulink里拖一个“RTI CAN Transmit”模块,配置成每100ms发送一次ID为0x100的报文。编译下载到目标板,然后在ControlDesk里打开CAN Monitor,看看能不能收到报文。
如果能收到,说明整个环境搭建成功了。如果收不到,别急——回头检查一下波特率、CAN控制器使能、还有物理连接(CAN_H和CAN_L有没有接反)。
嗯,环境搭建这部分就到这里。下一章咱们开始真正写CAN通信的代码,到时候我会带你一步步搭一个完整的收发模型。