逻辑分析仪
可视化、测量并分析一段时间内的转移和状态
打开 逻辑分析仪 App
在 Simulink 编辑器菜单的仿真选项卡上,点击逻辑分析仪按钮。如果未显示该按钮,请展开查看结果库,在信号记录结果下会显示逻辑分析仪。您最近的数据可视化选择项会在 Simulink 会话之间保留。
要可视化引用模型,必须从引用模型中打开逻辑分析仪。逻辑分析仪工具栏中应该显示引用模型的名称。
示例
选择要分析的信号
逻辑分析仪支持通过多种方法来选择要可视化的数据。
在您的模型中选择一个信号。当您选择信号时,信号线上方会出现省略号。将鼠标悬停在省略号上以查看选项,然后选择启用数据记录选项。

右键点击模型中的一个信号以打开选项对话框。选择记录所选信号选项。

使用任一方法在模型中选择多个信号线。例如,使用 Shift+点击逐个选择多个信号线,或使用 CTRL+A 一次选择所有信号线。然后,在信号选项卡上,选择记录信号按钮。

要在逻辑分析仪中可视化数据,您必须为模型启用信号记录。(默认情况下,记录处于启用状态。)要启用信号记录,请从工具条中打开模型设置,导航到数据导入/导出窗格,然后选择信号记录。
当您打开逻辑分析仪时,会列出所有标记为记录的信号。您可以在逻辑分析仪处于打开状态时在其中添加和删除波形。添加和删除信号不会禁用记录,只会从逻辑分析仪中删除信号。
修改单个波形设置
打开逻辑分析仪,并双击波形名称选择一个波形。然后从波形选项卡中,设置特定于您选择的单个波形的参数。对单个信号进行的任何设置都会取代全局设置。要使单个波形参数恢复为使用全局设置,请点击重置。

删除和还原波形
打开逻辑分析仪,并点击波形名称选择一个波形。

从逻辑分析仪工具条中,点击
。该波形将从逻辑分析仪中删除。要还原波形,请从逻辑分析仪工具条中,点击
。名为还原的波形的分隔线会添加到您的通道底部,所有删除的波形都放在其下面。

保存和还原视图
您可以将当前逻辑分析仪视图另存为 MLDATX 文件,以后再打开它。逻辑分析仪视图保存信号布局和外观特性,但不保存数据。具体来说,视图保存信号名称、信号组、分隔线及其各自的设置,包括其顺序。
此示例模型包含 Sine Wave 和 Constant 模块,其输出连接到 Add 模块。

保存逻辑分析仪视图
要保存当前视图,请按照以下步骤操作:
在您的模型中,选择要在逻辑分析仪中可视化的信号。
记录选定信号并打开逻辑分析仪。
此示例记录 Sine Wave、Constant 和 Add 模块的输出信号。

从逻辑分析仪工具条中,点击保存视图或按 Ctrl+S。

在打开的窗口中,浏览到要保存文件的文件夹。然后,命名文件并点击保存。

打开逻辑分析仪视图
要打开保存的视图文件,请按照以下步骤操作:
打开逻辑分析仪。
从逻辑分析仪工具条中,点击打开视图或按 Ctrl+O。

在打开的窗口中,浏览到保存视图文件的文件夹。然后,选择文件并点击打开。逻辑分析仪会添加分隔线,该分隔线以视图文件和从视图文件到当前视图的信号命名。

如果您更改 Simulink 模型中的模块或子系统名称,并打开保存的逻辑分析仪视图文件,该文件将显示更新后的信号名称。例如,在此示例的模型中:
将 Sine Wave 模块的名称更改为
Sine Signal,将 Constant 模块的名称更改为Constant Signal。
编译或仿真模型,然后打开保存的视图文件。它显示更新后的信号名称。

添加触发器
逻辑分析仪触发器允许您根据特定条件查找数据点。当您需要查找特定信号变化时,此功能对于调试或测试非常有用。
打开逻辑分析仪并选择触发器选项卡。

要将信号连接到触发器,请选择连接信号,然后选择您要触发的信号。您可以将最多 20 个信号连接到该触发器。每个信号只能有一个触发条件。
默认情况下,触发器在连接的信号中寻找上升沿。您可以将触发器设置为寻找上升沿或下降沿、位序列或比较值。要更改触发条件,请选择设置条件。
如果您向触发器添加多个信号,请使用运算符选项控制触发器逻辑:
AND - 匹配所有条件。
OR - 匹配任一条件。
要控制在触发前看到的采样数,请设置显示采样选项。例如,如果您将此选项设置为
500,则逻辑分析仪会在触发前尝试为您提供 500 个采样。根据仿真情况,逻辑分析仪在触发前可能会显示多于或少于 500 个采样。但是,如果在第 500 个采样之前找到触发器,逻辑分析仪仍会显示该触发器。使用显示模式控制触发模式。
单次 - 逻辑分析仪仅标记第一个符合触发条件的位置,并停止向逻辑分析仪显示更新。如果您要重置触发器,请选择重新装载触发器。相对于当前仿真时间,逻辑分析仪显示下一个匹配的触发事件。
自动 - 逻辑分析仪标记每个符合触发条件的位置。
在运行仿真之前,选择启用触发器。蓝色游标显示为时间 0。然后,运行仿真。在找到触发器后,逻辑分析仪会用锁定的蓝色游标标记该位置。
选择多引用 Model 模块的可见实例
逻辑分析仪只能流式传输一个多实例 Model 模块的单个实例。如果同一模型在不同窗口中打开,这些模型将共享同一逻辑分析仪。此示例说明如何选择一个多实例 Model 模块的单个实例,以便在逻辑分析仪上进行记录。
打开 multipleModelInstances 模型。
open_system('multipleModelInstances')该模型包含 referencedModel 模型的三个实例。
双击任一 Model 模块以打开所有三个 Model 模块引用的模型。
open_system('referencedModel')在引用模型中,通过展开 Simulink 编辑器菜单中仿真选项卡下的查看结果库,打开逻辑分析仪。逻辑分析仪的工具栏中应显示 referencedModel - [multipleModelInstances]。
从逻辑分析仪窗口中,运行该模型。通过从 referencedModel 的一个引用版本运行仿真,Simulink 运行顶层模型 (multipleModelInstances) 和引用模型 (referencedModel)。逻辑分析仪显示一个多实例 Model 模块的单个实例。

运行仿真时,逻辑分析仪会运行在逻辑分析仪工具栏中列出的模型。如果此模型是引用模型,工具栏还会列出顶层模型,并且您会看到运行顶层模型的结果。要单独查看来自该引用模型的结果,您必须将该引用模型作为顶层模型打开。
要在实例之间切换,请从 Simulink 编辑器菜单的仿真选项卡中展开准备库。选择信号监控下的普通模式可见性以打开 Model 模块普通模式可见性。展开 multipleModelInstances,选择 Model Instance 3,然后点击确定。

再次运行 multipleModelInstances 模型。逻辑分析仪显示 Model Instance 3 数据。

查看位扩展波形并反转位的显示顺序
逻辑分析仪使您能够对定点和整数波形进行位扩展。

在逻辑分析仪中,点击定点或整数波旁边的箭头以查看位。
最低有效位和最高有效位在波形名称旁边标有 lsb 和 msb。

点击“设置”,然后选择首先显示最低有效位以反转显示位的顺序。

添加触发器以验证写入操作
此示例说明如何使用触发器来验证信号是否符合设计。
打开可编程 FIR 滤波器模型 (
dspprogfirhdl)。
打开逻辑分析仪并选择触发器选项卡。
要添加触发器,请在工具条中选择连接信号并连接写入使能
Write En信号。信号名称前面会出现图标,表示它已连接到触发器。显示的图标取决于触发器的具体类型。选择设置条件,并将
Write En信号的触发条件更改为下降沿。触发器将显示写入使能信号是何时发送的。将
Write Done信号连接到触发器。将此信号的触发条件保持为默认值,即上升沿。现在,触发器还将显示写入完成的时间。如果您打开设置条件下拉菜单,您会看到运算符字段。当多个信号连接到该触发器时,此字段会出现。将运算符更改为 OR,以便触发器显示开始或完成写入的实例。

将显示模式设置为自动。通过此设置,逻辑分析仪会标记满足触发条件的所有位置。
选择启用触发器并运行仿真。
每次满足触发条件时,逻辑分析仪都会用锁定的蓝色游标标记时间。在每个标记的位置,
Write En为0,Write Done为1。如果您检查由触发器标记的每个位置,可以验证发送写入的每个时间也是其完成时间。
在逻辑分析仪中查看 Stateflow 状态
使用逻辑分析仪来可视化和测量一段时间内的转移和状态。使用逻辑分析仪,您可以可视化:
图的输出数据
图的子和叶状态活动
状态的自、子和叶状态活动
您可以测量一段时间内的输出,并添加触发器来识别在指定事件处的输出值。
添加用于记录的信号和状态
在此示例中,您使用逻辑分析仪来可视化模型 sf_car 中的发动机 RPM、变速器转速和车速以及挡位状态。
打开模型
sf_car。openExample("sf_car")
在 Simulink 编辑器中,点击
engine RPM信号。然后,在仿真选项卡中,选择记录信号。
记录标记
出现在信号上方,指示在运行模型时会记录来自信号的数据。对
transmission speed和vehicle speed信号重复上述步骤。通过点击模块左下角的箭头打开
shift_logic图。
选择状态
gear_state。然后,在仿真选项卡中,点击记录子活动。记录标记
出现在状态的角上。
在逻辑分析仪中查看记录的输出
对模型进行仿真。
在仿真选项卡的查看结果下,选择逻辑分析仪
。在对模型进行仿真时,图标会突出显示,指示逻辑分析仪有新仿真数据。在逻辑分析仪窗口中,拖动黄色游标可查看仿真中不同点处的信号值。例如,您可以看到汽车换挡时发动机 RPM 的反应。有关详细信息,请参阅Inspect and Measure Transitions Using the Logic Analyzer。

相关示例
- Inspect and Measure Transitions Using the Logic Analyzer
- Visualize Multiple Signals Using Logic Analyzer
- Partly Serial Systolic FIR Filter Implementation (DSP HDL Toolbox)
- Fully Parallel Systolic FIR Filter Implementation (DSP HDL Toolbox)
- Configure Logic Analyzer
- Programmable FIR Filter for FPGA (HDL Coder)
- Log Simulation Output for States and Data (Stateflow)
限制
记录设置
如果您启用配置参数将数据记录到文件 (Simulink),则无法将记录的数据流式传输到逻辑分析仪。
使用
Simulink.sdi.markSignalForStreaming(Simulink) 标记为记录或使用 Dashboard Scope (Simulink) 可视化的信号不会出现在逻辑分析仪上。如果将记录数据存储数据参数设置为 on,则无法在逻辑分析仪中可视化 Data Store Memory (Simulink) 模块信号。
输入信号限制
标记为逻辑分析仪记录的信号在每个仿真步中必须少于 8000 个采样。
逻辑分析仪不支持基于帧的处理。
对于 64 位整数和大于 53 位的定点数,如果数字大于双精度的最大值,数字之间的转换可能无法正确显示。要验证结果,请启用信号记录,或使用 Display 模块。
对于大型矩阵(超过 500 个元素)和超出 1000 个信号的总线,逻辑分析仪的性能可能会下降。
逻辑分析仪不支持 Stateflow® 数据输出。
逻辑分析仪不显示
Inf和NaN值的任何波形。
图形设置
在运行仿真时,无法缩放、平移或修改触发器。
要可视化常量信号,您必须在设置中将格式设置为数字。标记为记录的常量被可视化为连续转换。
| 模式 | 支持 | 说明和限制 |
|---|---|---|
普通 | 是 | |
加速 | 是 | 当仿真模式设置为加速时,您无法使用逻辑分析仪来可视化 Model (Simulink) 模块中的信号。 |
快速加速 | 是 | 在仿真期间,数据在逻辑分析仪中不可用。 如果您在仿真模式设置为快速加速的情况下仿真模型,则在仿真后,以下信号无法在逻辑分析仪中可视化:
|
处理器在环 (PIL) | 否 | |
软件在环 (SIL) | 否 | |
外部 | 否 |
有关这些模式的详细信息,请参阅加速模式的工作原理 (Simulink)。
版本历史记录
在 R2016b 中推出