主要内容

本页采用了机器翻译。点击此处可查看英文原文。

利用串行通信进行参数调节和信号记录

本示例展示了如何使用在 Texas Instruments™ C2000™ 目标上运行的 Simulink® 模型执行参数调整和数据记录。

所需硬件

  • 任何基于 Texas Instruments C2000 的控制卡,带扩展坞或 Spectrum Digital eZdsp 板,具有与 SCI_A 的串行接口。

注意:基于 F281x 的电路板不支持通过串行通信接口进行参数调节。请参考这些电路板的基于 CAN 的参数调节方法。

  • 如果您的硬件支持 USB 串口功能,则可以使用 USB 串行线;否则,可以使用连接到计算机 COM1 端口的 RS-232 电缆。在外部模式下运行程序之前,CCS 工具已关闭。在尝试外部模式之前,您可以使用 PuTTY 等工具来测试 Rx 和 Tx 的基本功能。有关更多信息,请参阅与目标硬件建立串行通信

模型

此图显示的是一个示例模型。模型中的 SDI(仿真数据检查器)和 HMI(人机界面)模块将通过 XCP 协议以外部模式工作。

配置用于监控和调节的硬件和模型

设置硬件

本示例使用 Texas Instruments F28335 控制卡、扩展坞和 USB 串口线连接主机和目标硬件。您还可以使用计算机的 COM1 端口与电路板建立 RS-232 串行连接。有关在目标计算机和主机之间建立串行连接的详细信息,请参阅 与目标硬件建立串行通信

建立串行连接后,找到与目标硬件关联的 COM 端口:

  • 打开 Windows 中的“设备管理器”。

  • 展开“端口”选项卡。

  • 请注意与目标板关联的 COM 端口。

设置模型

c28x_serial_ext 示例模型配置为 Texas Instruments F28335 控制卡和扩展坞,但您可以按照所需硬件中提到的任何其他硬件板的步骤进行操作。

1.打开 c28x_serial_ext 模型。

2.打开建模选项卡,按下 Ctrl+E 键以打开配置参数对话框,然后导航至硬件实现窗格。

3.从硬件板下拉列表中选择目标硬件。

注意:要在 RAM 容量较小的目标设备(例如 F28027 或 F28035)上运行 c28x_serial_ext,请在硬件实现 > 目标硬件资源 > 构建选项选项选项卡中启用从闪存启动(独立执行) 选项,并按照限制部分所述增加堆大小。

4.导航至硬件实现>目标硬件资源>外部模式

  • 选择通信接口串行串行接口上的 XCP

  • 选择 SCI 模块。默认情况下,控制卡和启动板会选择 SCI_A 模块。对于定制板,选择其他串行模块连接到 FTDI。

  • 在 MATLAB 的首选项中,选择 COM 端口号与您的目标硬件相关联的串行端口

  • 详细选项允许在诊断查看器MATLAB 命令行窗口中查看仿真的执行进度。

  • 导航至 SCI_A,并在所需波特率(比特/秒)中指定波特率。

默认波特率为 115200。您可以提高 Launchpad 或 controlCARD 的 USB 串口波特率。在使用 FTDI 2232H 的 Launchpad 和 controlCARD 上,您可以选择小于或等于 6 Mbps 的任何波特率,或者正好是 9 或 12 Mbps 的波特率。在使用 FTDI 2232D 的控制卡上,您可以选择小于或等于 1.5 Mbps 的任何波特率,或者正好是 2 或 3 Mbps。

5.打开仿真选项卡,并在停止时间文本框中指定一个值。您可以将停止时间指定为“inf”,以便在目标硬件上连续运行模型。

监控和调节模型

当您对模型执行监视和调节操作时,主机将与目标进行通信,生成的执行文件将在目标上运行。要在 c28x_serial_ext 中执行监视和调节:

1.打开硬件选项卡,然后点击监控和调节。从诊断查看器中可以看到,代码是为该模型生成的,主机在加载生成的可执行文件后连接到目标。

2.模型运行时,打开连接到增益模块的示波器,以监视其输出。

3.在硬件选项卡中,点击停止按钮终止仿真。

参数调节

在生成的程序在目标硬件上运行时,您可以调节参数值。当 Simulink 模型中的参数值发生变化时,修改后的值会传递给目标硬件。

1.在“监视和调节”操作进行期间,点击 Gain 模块并更改增益值。如果使用 XCP 协议,您可以使用滑块来更改增益值。您可以观察到,正弦波形的幅度随着新的增益值而变化。将 Constant 模块的值改为 0 以切换输入源,并在示波器上观察结果。如果在配置参数 > 硬件实现 > 外部模式中选择了详细选项,则参数更改的状态将显示在 MATLAB 命令行窗口中。

2.停止仿真。

要修改多个参数并将更改一次性传达给目标硬件,请使用外部模式控制面板中的批量下载选项。要打开外部模式控制面板,请转到硬件选项卡,然后点击控制面板。有关批量下载选项的详细信息,请参阅用于参数调节、信号监控和代码执行探查的外部模式仿真 (Simulink Coder)

数据记录

在监控和调节操作进行期间,您可以将模型数据记录到文件中。您可以使用 Scope 或 To Workspace 模块。

按照以下步骤手动触发数据记录或通过信号触发数据记录。

使用手动触发记录信号

您可以使用外部模式控制面板上的启动触发器按钮来触发数据记录。连接目标时启用选项会在主机连接到目标并开始数据上传时自动触发。否则,要开始上传数据,您必须手动启用触发器,方法是点击位于外部模式控制面板中的启用触发器按钮。当通信信道速度不足以实时显示所需信号时,触发器会非常有用。在这个任务中,您将学习如何手动触发从目标设备到主机的数据上传。

1.打开外部模式控制面板,然后点击信号和触发按钮,这将打开外部信号和触发对话框。

a.默认情况下,Source 选项设置为 manual。将 Mode 设置为 normal 以收集连续数据样本。外部模式分配足够的内存来收集每个信号持续时间内的数据。根据通信速度和作为后台任务运行的外部模式引擎的处理时间,您可能会看到连续的数据记录流,或者看到包含间隙的数据流,这些间隙对应于发送所获取的缓冲区所需的时间。

b.将 Duration 指定为 15,以收集 15 个基本速率信号的数据样本。由于 Gain 模块发出的信号与模型的采样率相同,因此每个数据集收集的样本数为 15。取消选中连接到目标时启用选项,即可启用手动触发以上传数据。

2.要查看模型的采样时间,请导航至调试选项卡>信息叠加> 并选择文本。对于此示例模型,采样时间为 0.01 秒。

3.点击外部模式控制面板的数据归档按钮,即可从“启用数据归档”对话框启用将数据记录到 MAT 文件的功能。

4.选中启用归档选项。使用 FileDirectory 参数指定日志文件的目标位置。正常模式下,文件名会自动递增,新的数据集会保存到新的 MAT 文件中。

5.打开连接到 Gain 模块的示波器,然后点击配置属性按钮。导航至日志记录选项卡,并选中将数据记录到工作区选项。在变量名中指定名称。记录的数据保存在此变量中。要保存时间瞬间和信号数据值,请选择 Structure With Time 作为保存格式

注意:如果您不选择将数据保存到工作区选项,则会创建用于数据记录的 MAT 文件,但它们将是空的。

6.点击监控和调节。点击外部模式控制面板上的启用触发按钮以触发数据记录,点击取消触发按钮以停止记录数据。导航至指定用于保存日志数据的文件夹。该位置有多个 MAT 文件,每个文件包含一个结构,该结构有 15 个连续的数据样本。

7.按下停止按钮终止仿真。

要仅收集一组连续的数据样本,请选择 One-shot。在此模式下,选中“启用数据归档”对话框中的单次扫描后递增文件选项,即可将新数据集保存到新的 MAT 文件中。

使用信号触发器记录信号数据

在信号触发模式下,“监控和调节”功能使用信号作为触发信号来开始记录数据。触发事件发生时,数据上传开始。要分析模型运行时发生错误或故障情况时的信号,请使用信号触发器记录数据。

在这个任务中,您将学习如何在满足某些信号条件时触发数据记录到文件。在信号触发模式下,根据指定的延迟,您可以选择在触发时立即记录信号的数据样本,在触发发生后几秒钟记录,或者在触发发生之前和之后都记录。

1.从外部模式控制面板打开外部信号和触发对话框。

2.在此对话框中,选择连接到 Step 输入的 Scope 模块,然后点击触发信号按钮,将所选模块信号设置为触发信号。

a.选择 signal 作为触发器。这样就启用了触发信号中的选项。将 Mode 设置为 normal 以收集连续数据样本。

b.将 Duration 指定为 15,以便在满足触发条件时收集 15 个基本速率样本。

c.将延迟指定为 5。这会导致数据记录在信号触发发生后 5 个基本采样点开始。由于该模型的采样时间为 0.01 秒,且阶跃输入在 26 秒时刻施加,因此数据记录从 26.05 秒时刻开始(即触发事件发生后 5 * 0.01 秒,即 26 秒时刻)。

d.在触发信号部分,选择方向rising as,并将级别设置为 1。当连接到示波器 1 的信号幅度增大并超过阈值 1 时,就会满足信号触发条件。

3.在“启用数据归档”对话框中指定文件夹和文件名,以保存已记录的数据。

4.点击监控和调节

5.触发条件在 26 秒时满足,因此大约 40 秒后停止仿真。导航到数据保存的文件夹,然后双击将 MAT 文件加载到 MATLAB 工作区中。如果检查 MAT 文件的内容,结构体成员 time 表示,数据是从 26.05 秒时刻开始记录的。

如果延迟 0,则当满足信号触发条件时,信号数据的记录立即开始。也可以使用负值来使用延迟选项,使数据采集围绕感兴趣的事件进行中心化。要在示例模型的触发条件发生之前记录数据样本,请在延迟字段中指定一个负值,例如 -8。这捕获了触发发生之前的 8 个基本速率样本和触发发生之后的剩余数据样本。

要仅在首次满足信号触发条件时才收集基本速率样本数据集,请选择模式One Shot。这种模式适用于在通信速度较慢的信道上查看快速变化的数据。为了实现这一点,增加 Duration 的值,并将信号触发器设置为根据感兴趣的事件(例如故障信号、过电压/电流信号或温度警告信号)获取相关数据。

在 SDI 中记录数据

XCP 支持在仿真数据检查器中记录数据。有关更多信息,请参阅保存和共享仿真数据检查器数据和视图

故障排除

如果发现作用域出现中断,可以尝试以下方法来改进日志记录:

  • 增加 Serial Baud Rate

  • 减少选择进行日志记录的信号数量。

  • 降低模型基本速率。

有关详细信息