MATLAB - CAN 通信管理器(CAN Explorer)

简介: MATLAB - CAN 通信管理器(CAN Explorer)

系列文章目录

 


前言

 


 

一、说明

CAN 通信管理器可用于采集和可视化 CAN 数据,对指定的信号和报文进行过滤。

使用此 App,您可以:

  • 配置设备通道和采集属性。
  • 应用 CAN 数据库配置。
  • 预览数据。
  • 将数据导出到 MATLAB® 工作区
  • 将 App 设置导出为 MATLAB 脚本。

打开 CAN Explorer App

  • MATLAB 工具条:在 App 选项卡的测试和测量下,点击该 App。
  • MATLAB 命令提示符:输入 canExplorer

二、使用 CAN Explorer 接收和可视化 CAN 数据

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

2.1 打开 CAN 通信管理器

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

2.2 选择设备通道

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

2.3 配置数据库文件

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

  1. 要打开“数据库配置”对话框,请在工具条中选择数据库
  2. 点击添加以打开文件选择对话框。选择示例中提供的 CANExplorerDatabase.dbc 文件。
  3. 点击确定以保存数据库配置并关闭对话框。

2.4 配置通道总线速度

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

  1. 要打开“设备通道配置”对话框,请在工具条中选择设备通道
  2. 此示例使用默认总线速度 500000 位/秒。确认当前设备通道配置,然后点击确定

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

2.5 配置信号表

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

  1. 要打开“信号表配置”对话框,请在工具条中选择信号 > 配置信号表
  2. 使用 按钮将可用信号窗格中的信号添加到配置信号窗格中。您可以添加单个信号,通过添加报文来添加报文中的所有信号,或通过添加数据库来添加数据库中的所有信号。对于此示例,在可用信号窗格中选择 CANExplorerDatabase.dbc,然后点击 以添加数据库中所有的信号。
  3. 点击确定以保存信号表配置并关闭对话框。

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

2.6 配置信号示波器

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

  1. 要打开“顶部信号示波器配置”对话框,请在工具条中选择信号 > 配置顶部信号示波器
  2. 可用信号窗格中选择 Message_A,然后点击 将此报文中的所有信号添加到顶部信号示波器中进行查看。
  3. 点击确定以保存顶部信号示波器配置并关闭对话框。
  4. 使用类似的方法,将来自 Message_BMessage_C 的信号添加到中间信号示波器进行查看,并将来自 Message_D 的信号添加到底部信号示波器进行查看。

2.7 开始监控

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

2.8 回放预先记录的 CAN 数据

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

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

 

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

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

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

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

  1. 如果您点击清除数据,所有累积的数据都将从 CAN 通信管理器中完全清除。
  2. 默认情况下,“报文表”按时间顺序显示所有 CAN 报文。要查看每个唯一报文的最新实例,请切换唯一报文
  3. 默认情况下,“报文表”和“信号表”都显示自监控开始以来的时间。要查看自每个表中最后一条报文或信号以来的增量时间,请切换增量时间

2.10 停止监控

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

2.11 对数据回放进行清理

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

2.12 导出数据以用于其他用途

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

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

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

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

三、限制

  • 由于性能原因,在 App 中保存或显示的报文数量有限制。
  • 虽然 App 配置会保存以在同一用户下次打开时使用,但您无法保存或导出 App 配置以与其他用户共享。
  • CAN 通信管理器仅支持 CAN 协议。对于 CAN FD 协议数据,请使用 CAN FD 通信管理器
  • 这些 App 不支持 J1939 数据。


目录
相关文章
|
4月前
|
算法 Shell
通信系统中ZF,ML,MRC以及MMSE四种信号检测算法误码率matlab对比仿真
通信系统中ZF,ML,MRC以及MMSE四种信号检测算法误码率matlab对比仿真
|
4月前
|
算法
基于DF模式的协作通信技术matlab性能仿真
基于DF模式的协作通信技术matlab性能仿真
|
4月前
|
机器学习/深度学习 算法 Windows
m基于深度学习的OFDM通信系统频偏估计算法matlab仿真
m基于深度学习的OFDM通信系统频偏估计算法matlab仿真
77 1
|
10月前
|
算法
基于OFDM的水下图像传输通信系统matlab仿真
基于OFDM的水下图像传输通信系统matlab仿真
|
10月前
|
负载均衡 算法 5G
m基于5G通信的超密集网络多连接负载均衡和资源分配算法matlab仿真
m基于5G通信的超密集网络多连接负载均衡和资源分配算法matlab仿真
190 4
|
9天前
|
算法 5G 数据安全/隐私保护
大规模MIMO通信系统信道估计matlab性能仿真,对比LS,OMP,MOMP以及CoSaMP
本文介绍了大规模MIMO系统中的信道估计方法,包括最小二乘法(LS)、正交匹配追踪(OMP)、多正交匹配追踪(MOMP)和压缩感知算法CoSaMP。展示了MATLAB 2022a仿真的结果,验证了不同算法在信道估计中的表现。最小二乘法适用于非稀疏信道,而OMP、MOMP和CoSaMP更适合稀疏信道。MATLAB核心程序实现了这些算法并进行了性能对比。以下是部分
157 84
|
2月前
|
算法
基于VLC可见光通信的室内光通信信道信噪比分析matlab仿真
**算法演示展示了一段VLC通信,使用MATLAB2022a。核心代码片段涉及LED光强度调制。VLC系统由发射器、空气介质和接收器组成,利用OOK等调制技术。图像展示了系统模型。信噪比分析对于理解和提升室内通信的性能至关重要,影响数据速率和系统可靠性。** (Markdown格式) ```
|
4月前
|
机器学习/深度学习 算法
基于Volterra级数的DFE判决反馈均衡器可见光通信系统误码率matlab仿真
该内容是关于使用Volterra级数和判决反馈均衡器(DFE)改进可见光通信(VLC)系统的一段描述。展示了算法在matlab2022a中的应用,包括Volterra级数的非线性系统模型和DFE的结构,用于抵消非线性失真和码间干扰。还给出了部分核心MATLAB代码,涉及信号调制、滤波、噪声处理和均衡器权重计算等步骤。
|
4月前
|
算法
m基于log-MPA检测算法的SCMA通信链路matlab误码率仿真
MATLAB 2022a仿真实现了稀疏码多址接入(SCMA)算法,该算法利用码本稀疏性实现多用户高效接入。每个用户从码本中选取码字发送,接收端采用Log-MPA算法进行多用户检测。由于MAP检测计算复杂度高,故采用Log-MPA降低复杂性。仿真展示了不同迭代次数(1, 5, 10, 30)对误码率(BER)的影响,通过比较各次迭代的BER曲线,研究算法性能与迭代次数的关系。
65 0
|
12月前
|
机器学习/深度学习 算法 数据格式
基于Autoencoder自编码的64QAM星座图整形调制解调通信系统性能matlab仿真
基于Autoencoder自编码的64QAM星座图整形调制解调通信系统性能matlab仿真