什么是Simulink Toolbox?
在基于模型的开发过程中,普遍使用RCP(Rapid Control Prototype)进行算法/功能的开发和验证,像dSPACE公司的Micro AutoboxII产品在汽车电子行业应用十分广泛。
使用RCP我们可以将Matlab/Simulink环境下用建模方式开发的软件下载到RCP硬件中运行,而不仅仅停留在仿真的层面,一来对主业不是嵌入式软件开发的算法工程师、测试工程师十分友好,二来后续的装车验证也十分方便。
今天我们讨论的话题不是如何使用RCP,而是如何使用自动化代码生成技术让我们自己的硬件可以支持基于模型的开发方式。
在Matlab的官网上我们可以看到已经有不少硬件支持包,即Simulink Toolbox。
这些支持包能用来干嘛呢?
借助MATLAB®Arduino®硬件支持包,您可以使用MATLAB与Arduino板进行交互,该软件包使您可以执行以下任务:
从Arduino开发板获取模拟和数字传感器数据 用数字和PWM输出控制其他设备 驱动直流,伺服和步进电机 访问通过I2C或SPI连接的外围设备和传感器 通过USB或Wi-Fi与Arduino板通信 通过支持的Arduino板使用MCP2515读写CAN报文
......
使用硬件支持包,我们可以使用Simulink开发软件,一键完成代码生成和编译,如果硬件支持包足够完善,模型下载到硬件的过程也可以一气呵成。如果您只是想体验不写一行代码就完成软件开发的过程,按照官网支持的型号买一块开发板是最便捷的方式,例如Arduino。
下面是两种开发方式的对比,全都使用simulink生成代码,区别是一种需要手动去集成、编译和下载,另一种可以做到Build一次搞定。
从上面这张图我们可看到,点build背后发生了什么。
操作背后发生了什么:
-
使用simulink既有模块和TSP模块进行模型搭建,TSP模块参数配置
-
build
-
自动代码生成
-
自动集成
-
自动化编译
-
生成可执行文