外部模式下的代码验证与验证
本示例向您展示了如何使用Simulink®Coder™支持包NXP™万博1manbetxFRDM-KL万博1manbetx25Z使用外部模式进行代码验证和验证。
简介
在本例中,您将学习如何配置一个Simulink模型以在外部模式下运行模拟。万博1manbetx
万博1manbetxSimulink的外部模式特性允许您在模型在目标硬件上运行时更改某些参数值,从而加速参数调优过程,而无需停止模型。当您从Simulink内部更改参数值时,修改后的参数值将立即通信到目标硬件。万博1manbetx参数调优活动的效果可以通过在Simulink中查看范围或显示器上的算法信号来监测。万博1manbetx
先决条件
我们建议填写使用NXP FRDM-KL25Z板的Sim万博1manbetxulink编码器支持包万博1manbetx.
所需的硬件
要运行这个例子,你需要以下硬件:
在Mac:
NXP FRDM-KL25Z板
USB类型A到Mini-B电缆
USB TTL-232电缆- TTL-232R 3.3V
在Windows®:
NXP FRDM-KL25Z板
USB类型A到Mini-B电缆
USB TTL-232电缆- TTL-232R 3.3V(仅当您使用UART1或UART2串行通信接口时需要)
注意:
测试此示例使用FTDI朋友USB TTL-232R 3.3V适配器。
操作系统的特定限制
在Mac:
外部模式模拟仅通过UART1或UART2支持。万博1manbetx
在Windows上:
通过所有UART通信接口支持外部模式模拟。万博1manbetx
open_system (“freedomboard_external_mode”);
任务—外部模式
在此任务中,您将以外部模式运行模型。在创建原型并开发算法时,当算法在硬件上运行时,监视和调优算法是很有用的。Simulink中的外部模式特性支持这一功能。万博1manbetx
NXP 万博1manbetxFRDM-万博1manbetxKL25Z板的Simulink Coder支持包支持三种不同的串行通信接口,用于外部模式:UART0, UART1和UART2。请注意,在Mac平台上,UART0上的外部模式只支持Mac版本的“El Capitan”。万博1manbetx
UART0串口通信接口可通过标有openSDA在NXP FRDM-KL25Z板上或UART0的板载GPIO引脚上。通过mini USB端口使用UART0不需要任何额外的电缆或硬件,除了用于连接NXP FRDM-KL25Z板到主机的USB类型a到mini - b电缆。要通过NXP FRDM-KL25Z板上的GPIO引脚使用UART0,需要额外的硬件,如下面所述,用于UART1和UART2串行通信接口。
UART1和UART2串行通信接口只能通过NXP FRDM-KL25Z板上的引脚访问。使用这些接口需要额外的硬件,例如,一个USB TTL-232R适配器,以执行外部模式模拟。
1.打开外部模式模型.该模型已配置为NXP FRDM-KL25Z目标。要了解如何设置此目标的模型,请参阅使用NXP FRDM-KL25Z板的Sim万博1manbetxulink编码器支持包万博1manbetx的例子。
2.按以下步骤选择串行通信接口:
在NXP FRDM-KL25Z板上打开配置为代码生成的模型。选择UART0或UART1或UART2 in配置参数>硬件实现>目标硬件资源>外部模式>选择硬件UART选择串口通信接口。
作为示例,请参见外部模式模型如下所示。
3.为所选串行通信接口选择Tx和Rx GPIO引脚:
选择串口通信接口后,选择所选UART in的引脚配置参数>硬件实现>目标硬件资源> 'Selected Target UART in上文步骤2 '.
作为UART1的示例,请参阅中的设置外部模式模型如下所示。
4.连接到硬件。根据所选择的串行接口,执行以下步骤:
UART0:
从您的计算机连接USB电缆到NXP FRDM-KL25Z板的OpenSDA mini-B USB连接器。
如果为UART0选择的TX引脚是其中之一PTE20或PTD7,将USB TTL-232R适配器的RX引脚连接到NXP FRDM-KL25Z板上所选的TX引脚上。然而,如果为UART0选择的TX引脚是PTA2 (USBTX),从您的计算机的USB电缆,NXP FRDM-KL25Z板的OpenSDA mini-B USB连接器就足够了。
如果为UART0选择的RX引脚是其中之一PTE21或PTD6,将USB TTL-232R适配器的TX引脚连接到NXP FRDM-KL25Z板上所选的RX引脚上。然而,如果为UART0选择的RX引脚是PTA1 (USBRX),那么从您的计算机的USB电缆,即NXP FRDM-KL25Z板的OpenSDA mini-B USB连接器就足够了。
UART1:
从您的计算机连接USB电缆到NXP FRDM-KL25Z板的OpenSDA mini-B USB连接器。
连接USB TTL-232R适配器的接地脚到其中一个接地NXP FRDM-KL25Z板上的引脚
将USB TTL-232R适配器的RX引脚连接到NXP FRDM-KL25Z板上的UART1配置参数中选择的TX引脚上
将USB TTL-232R适配器的TX引脚连接到NXP FRDM-KL25Z板上的UART1配置参数中选择的RX引脚上
将USB TTL-232R适配器的USB端连接到您的主机
UART2:
从您的计算机连接USB电缆到NXP FRDM-KL25Z板的OpenSDA mini-B USB连接器。
连接USB TTL-232R适配器的接地脚到其中一个接地NXP FRDM-KL25Z板上的引脚
将USB TTL-232R适配器的RX引脚连接到NXP FRDM-KL25Z板上UART2配置参数中选择的TX引脚上
将USB TTL-232R适配器的TX引脚连接到NXP FRDM-KL25Z板上的UART2配置参数中选择的RX引脚上
将USB TTL-232R适配器的USB端连接到您的主机
5.完成上述步骤后,您的主机上应该有一个新的串行COM端口可供使用。要找到与适配器电缆相关联的COM端口,请遵循以下步骤:
在Windows上:
打开设备管理器
展开Ports选项卡
如果您选择了UART1或UART2对于串行外部模式通信接口,请记下与USB TTL-232R适配器相关联的COM端口。
如果您选择了UART0对于串行外部模式通信接口,分别选择PTA2(USBTX)和PTA1(USBRX)作为TX和RX引脚,记下OpenSDA与NXP FRDM-KL25Z板相关联的COM接口,操作步骤请参见本节安装NXP FRDM-KL25Z单板驱动程序.
如果你选择了UART0对于串行外部模式通信接口,且选择的TX和RX引脚分别不是PTA2(USBTX)和PTA1(USBRX),请记下与USB TTL-232R适配器相关联的COM端口。
在Mac:
运行ls /dev/cu.*命令。
记下与USB TTL-232R适配器相关联的串口名称。
6.在NXP FRDM-KL25Z板上打开配置为代码生成的模型。在配置参数>硬件实现>目标硬件资源>外部模式>串口*,输入“*串口”字段的COM端口号在上一步中注意到。
例如,在Windows上输入COM27在串行端口在Mac上输入/dev/cu.usbmodem1442.
7.设置波特率:单击选中的UART分组后输入波特率,如下图所示。
8.单击Apply并关闭配置参数窗口。
9.选择外部从模型工具栏中的模拟模式下拉列表。
10.单击Run按钮启动外部模式。
等待模型完成构建并下载到目标上。完成此操作后,将开始外部模式模拟。双击手动开关块,以更改输入源。双击获得块改变信号增益。最后,双击范围块查看外部模式仿真结果。注意,整个模型都在目标上运行。
11.外部模式模拟:
停止外部模式模拟将终止在NXP FRDM-KL25Z上运行的代码。在启动另一个外部模式模拟之前,需要再次运行生成的代码。只需按下NXP FRDM-KL25Z上的复位按钮,就可以重新运行生成的代码。
在设置模型以外部模式运行时要记住的事情
确保在“外部模式”窗格中输入的COM端口号正确。
在模型资源管理器中,转到代码->外部模式控制面板,并单击“信号和触发”按钮。“触发选项”部分的“持续时间”参数的默认值是1000。您需要将该值更改为5,因为目标上的内存不足以存储1000个数据值。有关Duration参数的更多信息,请参考外部信号上传和触发.
对于UART0,外部模式通信推荐的波特率为9600、19200或57600。