1 需要了解的MBDT 资源
基于模型的设计(MBD)的实用系列从MBDT开始。
MBDT(Model-Based Design Tools)是NXP发布的硬件支持包,涵盖NXP多款芯片。 MBDT可以免费下载和使用,并提供许多示例项目,可以涵盖MIL、SIL、PIL和HIL等各种测试。
MBDT支持的芯片系列- 来自NXP
MBDT资源可分为三部分:MBDT软件、MBDT硬件和开发工具。
一般来说,MBDT软件的相关资源都可以在官网上找到(需要注册账号才能下载官方文档),但是当你第一次接触它时,难免会不知从何开始。
您可以在MBDT官方论坛上提出一些问题,通常会有专业工程师解答(软件问题会更多地得到解答,但硬件问题可能不会得到解答)。在MBDT论坛首页右侧,您可以找到许多有用的文章或课程,例如“MBDT初学者指南”、“PMSM控制研讨会”等版块。阅读更多这些文章肯定会让您受益匪浅。
MBDT硬件需要单独购买,S32K144 EVB更适合练习和评估。如果您想做一些电机控制相关的应用,可以购买MCSPTE1AK144开发套件,其中包括开发板、驱动板和BLDC电机。官方的很多套路都是基于这两个平台打造的。
MBDT 硬件- 来自NXP
上述开发板,通过板载openSDA调试器,不需要额外的下载器。它仅使用micro-USB数据线来下载和调试代码,以及与计算机通信(使用UART方式)。
这两套硬件在官网和淘宝上都可以购买,不过官网发货可能会慢很多。
同样,在产品页面的主页上可以找到很多有用的文档。
** 适用于ARM v2.2 的S32 设计工作室**
该软件是恩智浦专门的集成开发环境(IDE),它使编写和查看代码更加方便。
** FreeMASTER工具3.1 **
使用FreeMASTER,您可以通过友好的UI界面轻松查看运行程序中变量的变化,生成曲线图,并向MCU发送控制指令。
FreeMASTER 接口- 来自NXP
关于版本选择,建议下载S32DS v2.2和FreeMASTER v3.1。另外建议将所有NXP软件的安装路径放在默认目录下(所有NXP软件默认安装在“C:NXP”中),以避免路径导致的错误。一些奇怪的问题。
为了方便读者上手,我会把从官网下载的必要文档和软件整理一下,上传到网盘。在对话框中回复关键字“MBDT”即可接收资源信息。
2 基于MBDT搭建MBD开发环境
首先,做好前期准备工作,比如安装MATLAB/Simulink、注册NXP账户等。
假设你使用的是我网盘中的资源。现在软件已经准备好了,您可以按照以下顺序设置MBD开发环境:
1.安装S32 Design Studio For ARM v2.2
S32DS的安装比较简单。具体安装过程请参考S32DS_ARM_Installation_Guide.pdf,其中包含更详细的安装步骤。
S32DS For ARM v2.2 安装- 来自autoMBD
2.安装FreeMASTER 3.1
FreeMASTER也比较简单。安装过程可以参考FreeMASTER for Embedded Applications.pdf的“Chapter 3 Installation”部分,里面也有更详细的安装步骤。
FreeMASTER 3.1 安装- 来自autoMBD
3.在MATLAB中安装MBDT
安装MBDT比较麻烦。由于需要绑定用户盘,所以我录制了一个简单的视频。由于不满足某些条件,因此没有音频解说。但是,如果您按照视频中的步骤操作并参考安装文档,那么在安装过程中应该不会遇到任何重大问题。如果还遇到问题可以私信我。
,持续时间04:01
[ ]
基于模型的设计工具流程(无声音)- 来自autoMBD
我使用的是MATLAB 2020b,经过测试,可以正常使用MBDT。详细的安装步骤可以在MBDT 快速入门指南中找到。
Tips:指南手册中提到的License是.lic格式,但官网生成的是.dat格式,并且.dat格式的License是有效的。如果是旧版本,lic 格式的许可证可能有效。
基于模型的设计工具安装- 来自autoMBD
另外,我还整理了硬件相关的资料,比如电路图、快速入门手册和参考软件,放在了下图的位置。这些文件使用相对频繁。
MBDT 硬件相关信息- 来自autoMBD
3 MBDT 入门
基于MBDT的开发环境搭建完成后,就可以实际体验MBD的自动代码生成功能了。下面给出一个简单的例子:
**1. **通过micro-USB将S32K144连接到电脑,检查连接是否正常。正常情况下,我的电脑中会出现EVB-S32K144可移动磁盘,查看设备管理器时会添加一个OpenSDA端口(请记住这两个连接的信息,后面会用到):
出现EVB-S32K144 可移动磁盘- 来自autoMBD
设备管理器中有OpenSDA 端口- 来自autoMBD
出现以上两点就说明连接成功。
**2. **在Simulink库中找到ADC_Potentiometer,双击打开,保存到合适位置(以免修改原模型),关闭原模型,打开保存的模型:
查找ADC_Potentiometer - 来自Simulink 库中的autoMBD
保存到适当的位置- 来自autoMBD
打开保存的模型- 来自autoMBD
**3. **双击“MBD_S32K14x_Config_Information”模块可以查看一些基本配置信息。在“目标连接”中,修改OpenSDA配置信息,记得刷新OpenSDA Driver Name,选择正确的磁盘号(即第一步中的移动盘号),点击“应用”并关闭:
修改OpenSDA 配置信息- 来自autoMBD
**4. **在Apps中找到Embedded Coder,双击打开,然后进入“C CODE”页面,点击“Build”开始生成代码:
使用Embedded Coder 生成代码- 来自autoMBD
代码生成过程中会弹出代码生成报告。代码生成成功的标志是诊断查看器窗口中显示的构建摘要:
代码生成报告- 来自autoMBD
诊断查看器窗口- 来自autoMBD
同时,在MATLAB所在的工作空间中,会生成一个以“_mbd_rtw”结尾的文件夹,所有生成的代码都在这个文件夹中:
查看生成的代码- 来自autoMBD
生成的代码已下载到S32K144 EVB中,下载后直接运行。此时,您应该可以看到EVB 上的蓝色LED 灯不断闪烁。