车载网络工具箱

车载网络工具箱

使用CAN、J1939和XCP协议与车载网络通信

开始:

从MATLAB和Simulink中发送和接收CAN和CAN FD消息

配置CAN和CAN FD通道

CAN通道功能MATLABSimulink中的CAN配置块允许您定义到Vector CAN接口硬件的连接,该连接使用CAN或CAN FD标准与CAN总线建立物理连接。车载网络工具箱提供CAN通道功能,可查询和配置CAN接口硬件设置,如总线速度、收发器设置等。您还可以验证其他can通道属性,例如可用消息的数量以及在通道上接收或传输的消息的数量。通过将Vector CAN数据库文件附加到CAN通道,传入消息将使用存储在数据库中的信息自动显示。定义CAN通道后,可以在该通道上发送和接收CAN消息。

一辆连接到笔记本电脑的汽车,用于访问MATAB和Simulink中的车辆总线数据。

使用CAN和CAN FD协议将MATLAB连接到您的车辆网络。

发送和接收CAN消息

标准CAN消息包含用于存储CAN消息标识符(标准11位或扩展29位)、时间戳和最多8字节的CAN数据的属性。为CAN FD传输配置的通道可以容纳包含最多64字节数据的消息。

工具箱中的发送和接收函数和块使您能够通过CAN通道发送和接收CAN消息。对于大型数据集,您可以记录can消息以进行离线分析。

时间表中的CAN消息和用于分析它们的实时脚本。

MATLAB代码接收CAN消息及其时间表格式的信号。

从CAN消息中构建和提取信号

车载网络工具箱提供CAN消息编码和解码的函数和模块。CAN消息数据可能包含表示多个信号的数据。解包函数和块允许您指定起始位、信号长度、数据类型和字节顺序。Pack函数和块提供了为CAN消息传输组装数据的相同选项。

用于CAN消息解码的Simulink模型。

使用CAN解包块解码CAN消息的Simulink模型。

记录和重放CAN消息

使用工具箱中的CAN Log块,您可以将模型接收到的CAN消息保存到mat文件中。然后可以使用can重播块在另一个Simulink模型中重播消息。CAN重播块保留记录数据的时间戳,因此重播数据将具有与记录数据相同的时间特征。

车轮速度的范围视图。

从记录车辆测试运行中重放的轮速数据图。

使用XCP协议通信

车载网络工具箱提供了与ecu通过通信的功能和模块的XCP-通过CAN、CAN FD或以太网总线的汽车校准协议。当通过XCP与ecu通信时,MATLAB或Simulink是主设备,ecu是从设备。您可以通过打开多个XCP通道与多个ecu通信。对于每个ECU,您可以将数据读写到ECU内的特定内存位置。当存在对ECU的安全访问时,可以使用种子和密钥安全性来打开对ECU的访问。该工具箱还提供了用于链接A2L数据库文件以及为XCP通道创建和查看动态DAQ和STIM测量列表的函数和块。这些列表是基于来自链接A2L文件的测量和事件信息建立的。

显示Simulink模型和XCP数据采集块掩码以配置XCP数据采集的三个窗口。

从ECU从设备获取测量数据的模型。该模型使用XCP配置块和XCP传输层块(上)和XCP数据采集块(左下)来设置PWM信号的采集(右下)。

使用J1939协议通信

车辆网络工具箱提供了通过j1939进行通信的函数和模块,j1939是重型卡车行业常用的基于can的高级协议。当通过J1939进行通信时,您使用MATLAB函数或Simulink块来设置通信。具体来说,提供了函数和块来将数据库(.dbc)文件与J1939通信关联起来,以指定CAN接口硬件,并传输和接收J1939参数组。使用与连接相关的数据库文件定义的参数组对网络上的信号数据进行编码和解码。此外,还可以将Simulink配置为具有地址声明的网络节点。

显示用于J1939通信的Simulink块的模型。

使用J1939传输和J1939接收块发送和接收J1939数据的模型。该模型还使用J1939网络配置、J1939 CAN传输层配置和J1939节点配置块来建立通信。

可视化CAN和CAN FD流量

该工具箱包括CAN资源管理器和CAN FD资源管理器应用程序,用于可视化特定CAN通道上的活动流量。您可以在MATLAB或Simulink中执行其他任务时使用这些应用程序。对于与CAN通道相关的CAN数据库文件,应用程序解码消息并以正确的工程单元显示它们。

当网络上的流量包含的信息多于应用程序所需的信息时,可以将can通道接收的can消息数量限制在定义的can消息标识符范围内。使用工具箱中的筛选器函数和掩码设置,只接收应用程序所需的消息。

CAN FD总线流量的应用程序视图,显示解码信号和信号可视化。

实时CAN FD总线流量在网络上显示与CAN FD资源管理器应用程序。显示器显示原始数据,解码信号,和信号的绘图。

使用矢量CAN数据库文件

车辆网络工具箱允许您将Vector CAN数据库文件与MATLAB或Simulink中的CAN通道或消息相关联,使您能够使用特定于应用程序的消息和信号名称(如engineemsg和EngineRPM)以及可缩放的工程单元对CAN消息进行编码和解码。使用行业标准数据库文件的能力简化了与CAN总线的交互,因为数据库不仅指定消息列表和组件信号,而且还为相关信号提供位打包和解打包规则。信号数据类型、开始位、长度和字节顺序都是为数据库中的消息预定义的,从而简化了信号分析。

四个代码示例演示如何打开CAN数据库文件并查看消息和信号。

代码示例显示如何使用存储在CAN数据库文件中的信息查看消息。

使用A2L描述文件

车辆网络工具箱允许您使用行业标准的A2L(也称为ASAP2)描述文件,通过MATLAB或Simulink的XCP协议与ecu通信。使用A2L描述文件使您能够从MATLAB程序或Simulink模型访问ECU内部参数。A2L描述文件包含有关特定参数的关联内存地址、存储结构和数据类型的信息。这些文件还包含将存储值(如系统参数、传感器特性和校正因子)转换为物理单位(如RPM和摄氏度)的规则。有了这些数据,您就可以执行校准和测量任务,而不需要解析数据和解码内存地址。

MATLAB函数解析和检查一个A2L文件。

演示如何访问存储在A2L文件中用于XCP连接的信息的代码示例。它使用一个免费的XCP从模拟器从矢量和矢量虚拟CAN通道。

使用MDF文件

使用车辆网络工具箱,您可以轻松导入和导出测量数据格式(MDF)文件。工具箱支持MDF标准的3.0及更高版本。在MATLAB中创建MDF对象时,可以查看有关该文件的基本属性,包括初始时间戳、数据大小、通道组和通道名称信息。您还可以从MATLAB创建MDF文件,并将时间表数据写入现有的MDF文件。

若要读入MDF文件的子集,您可以指定通道名称或开始和停止时间。默认情况下,结果的输出格式将作为时间表返回,以便您可以轻松地处理带有时间戳的数据。

对于不适合内存的大型MDF文件,可以创建MDF数据存储并根据指定的参数批量预览数据。您还可以创建一个数据存储,以便轻松处理类似MDF文件的集合。

MATLAB接口检查MDF文件与预览功能和变量编辑器。

通过命令行界面预览MDF文件,然后在Variables编辑器中检查数据的示例代码。

使用虚拟通道

您可以使用虚拟can和can FD通道来测试和模拟网络通信。使用虚拟通道,您可以在不使用物理硬件的情况下测试环回配置中的模型。车载网络工具箱支持两种虚拟通道:MathWorks虚拟通道和第三方CAN接口硬件厂商的虚拟通道。来自第三方供应商(如Vector和Kvaser)的虚拟通道需要安装相应的供应商驱动程序或硬件支持包。MathWorks虚拟通道随工具箱一起提供,不需要额外的驱动程序或支持包。

使用MathWorks虚拟通道发送和接收数据的Simulink块。

Simulink模型显示使用MathWorks虚拟通道发送和接收CAN数据,无需任何硬件。

使用CDFX文件

使用ASAM校准数据格式(CDFX)访问数据cdfx车辆网络工具箱提供的功能。使用CDF文件中的校准数据作为Simulink模型的输入。

显示ASAM.C.MAP参数随时间上升和下降的图形。

使用来自CDFX文件的校准数据作为Simulink模型的输入,并绘制ASAM.C.MAP参数的模拟输出。

Baidu
map