Main Content

使用 CAN FD 资源管理器接收和可视化 CAN FD 数据

此示例说明如何使用 CAN FD Explorer 接收和可视化 CAN FD 数据。

它使用以环回配置形式连接的 MathWorks® 虚拟通道。CAN FD 通信管理器配置为使用 MathWorks Virtual 1 Channel 1 接收数据。预先记录的数据在 MAT 文件中提供,并在 MathWorks Virtual 1 Channel 2 上回放,以模拟连接到实际车辆系统时生成的 CAN FD 流。

打开 CAN FD 通信管理器

使用命令 canFDExplorer 打开 CAN FD 通信管理器。您也可以在 MATLAB® 的 App 选项卡中找到 CAN FD 通信管理器

选择设备通道

当该 App 首次打开时,它会显示连接到系统的设备的所有可访问 CAN FD 通道。从可用设备中选择 MathWorks Virtual 1 Channel 1。然后该 App 完成打开,如下所示,选中的设备以蓝色轮廓突出显示。

CANFDExplorer.png

配置数据库文件

将数据库文件添加到 CAN FD 通信管理器以解码传入的报文和信号。

  1. 要打开“数据库配置”对话框,请在工具条中选择数据库

  2. 点击添加以打开文件选择对话框。选择示例中提供的 CANFDExplorerDatabase.dbc 文件。

  3. 点击确定以保存数据库配置并关闭对话框。

CANFDExplorerDatabaseConfig.PNG

配置通道总线速度

如果所需的网络速度不同于默认值,请配置通道总线速度。

  1. 要打开“设备通道配置”对话框,请在工具条中选择设备通道

  2. 此示例使用的默认仲裁总线速度为 500000 位/秒,数据总线速度为 2000000 位/秒。确认当前设备通道配置,然后点击确定

CANFDExplorerDeviceChannelConfig.PNG

在同一对话框中,您可以分别为标准 ID 和扩展 ID 配置报文过滤器,以控制哪些报文通过通道。默认情况下,两个过滤器选项都设置为允许所有报文通过,但您也可以指定允许或阻止特定 ID。

配置信号表

在信号表上添加感兴趣的信号进行查看。在此示例中,您可以查看在 CANFDExplorerDatabase.dbc 文件中定义的所有信号。

  1. 要打开“信号表配置”对话框,请在工具条中选择信号 > 配置信号表

  2. 使用 按钮将可用信号窗格中的信号添加到配置信号窗格中。您可以添加单个信号,通过添加报文来添加报文中的所有信号,或通过添加数据库来添加数据库中的所有信号。对于此示例,在可用信号窗格中选择 CANFDExplorerDatabase.dbc,然后点击 以添加数据库中所有的信号。

  3. 点击确定以保存信号表配置并关闭对话框。

CANFDExplorerSignalTableConfig.PNG

如果您提供信号或报文的搜索文本并点击查找可用信号窗格将会更新,以显示与搜索文本不区分大小写的部分匹配的搜索结果。

配置信号示波器

在信号示波器上添加感兴趣的信号进行查看。CAN FD 通信管理器提供 3 个示波器,每个示波器都可以配置为可视化所选信号。示波器的数量是固定的,无法自定义。在此示例中,您可以在顶部信号示波器中查看来自 Message_A 的所有信号,在中间信号示波器中查看来自 Message_BMessage_C 的所有信号,在底部信号示波器中查看来自 Message_D 的所有信号。

  1. 要打开“顶部信号示波器配置”对话框,请在工具条中选择信号 > 配置顶部信号示波器

  2. 可用信号窗格中选择 Message_A,然后点击 将此报文中的所有信号添加到顶部信号示波器中进行查看。

  3. 点击确定以保存顶部信号示波器配置并关闭对话框。

  4. 使用类似的方法,将来自 Message_BMessage_C 的信号添加到中间信号示波器进行查看,并将来自 Message_D 的信号添加到底部信号示波器进行查看。

开始监控

在开始回放之前,在 CAN FD 通信管理器中开始监控,以避免丢失任何数据。点击工具条中的开始

回放预先记录的 CAN FD 数据

从 CAN FD 网络中记录的数据在文件 CANFDExplorerData.mat 中提供。数据以时间表格式保存,时间范围跨度约为 60 秒。

将 CAN FD 数据回放到 MathWorks Virtual 1 Channel 2,以便 CAN FD 通信管理器在同一 MATLAB 实例中的 MathWorks Virtual 1 Channel 1 上接收。要开始数据回放,请执行脚本 replayCANFDData.m。您还可以多次按顺序执行该脚本,以生成超过 60 秒的 CAN FD 数据用于额外的试验。

CANFDExplorerRunning.PNG

探查“监控”和“显示”选项

在 CAN FD 通信管理器继续接收数据的同时,您可以使用工具条的监视器显示部分中的控件进行试验。

  1. 点击暂停以暂停 CAN FD 通信管理器的可视化更新。暂停时,CAN FD 通信管理器继续在后台累积和处理数据。

  2. 点击继续以继续 CAN FD 通信管理器中的可视化更新。

要进一步探查,请执行下列步骤:

  1. 如果您点击清除数据,所有累积的数据将从 CAN FD 通信管理器中完全清除。

  2. 默认情况下,“报文表”按时间顺序显示所有 CAN FD 报文。要查看每个唯一报文的最新实例,请切换唯一报文

  3. 默认情况下,“报文表”和“信号表”都显示自监控开始以来的时间。要查看自每个表中最后一条报文或信号以来的增量时间,请切换增量时间

停止监控

完成实时采集活动后,点击工具条中的停止使设备通道离线。

对数据回放进行清理

通过执行脚本 replayCANFDDataCleanup.m 进行清理,这将停止用于回放的 MathWorks Virtual 1 Channel 2 并清除不需要的变量。

导出数据以用于其他用途

在工具条中,点击导出按钮的上半部分,以时间表格式将接收到的数据导出到 MATLAB 工作区中。

如果您要保留导出的变量以供将来使用:

  • 要将变量保存到 MAT 文件,请使用 save 函数。

  • 要将变量保存到 BLF 文件,请使用 blfwrite 函数。

导出的报文时间表也可以转换为多个单独的信号数据时间表。canSignalTimetable 函数返回一个结构体,其中的每个字段对应时间表中的一个唯一报文。每个字段值是相应报文中定义的所有信号的时间表。