车辆网络工具箱

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

车载网络工具箱™提供MATLAB®功能和仿真软件金宝app®用于发送、接收、编码和解码CAN、CAN FD、J1939和XCP消息的块。该工具箱允许您使用行业标准的CAN数据库文件识别和解析特定信号,然后使用CAN资源管理器和CAN FD资源管理器应用程序可视化解码信号。使用A2L描述文件,您可以通过can或以太网上的XCP连接到ECU。您可以访问存储在MDF文件中的消息和测量数据。

工具箱简化了与车内网络的通信,并允许您监视、过滤和分析实时CAN总线数据或记录和记录消息,以便稍后分析和回放。您可以在虚拟can总线上模拟消息流量,或者连接到当前网络或ECU。车载网络工具箱支持来自Vector、Kvaser金宝app、PEAK-System和NI的CAN接口设备®

开始:

在MATLAB和Simulink中发送和接收CAN和CAN FD消息金宝app

配置CAN和CAN FD频道

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

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

发送和接收CAN消息

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

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

用MATLAB代码接收CAN报文及其信号的时间表格式。

从CAN消息构建和提取信号

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

金宝app使用CAN Unpack块解码CAN消息的Simulink模型。

记录和重放可以留言

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

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

通过XCP协议进行通信

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

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

使用J1939协议进行通信

车辆网络工具箱提供了通过J1939-A常用于重型卡车行业的CAN的高级协议进行通信的功能和块。在通过J1939进行通信时,使用MATLAB函数或SIMULINK块来设置通信。金宝app具体地,提供功能和块以将数据库(.dbc)文件与J1939通信相关联,以指定CAN接口硬件,并发送和接收J1939参数组。使用由与连接关联的数据库文件定义的参数组对网络进行编码和解码信号数据。此外,您可以将Simulink配置为使用具有地址声明的网络节点运金宝app行。

使用J1939发送和J1939接收块发送和接收J1939数据的模型。该模型还使用J1939网络配置,J1939可以传输层配置,以及J1939节点配置块来设置通信。

可视化CAN并可以FD流量

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

当网络上的流量包含更多信息的信息时,您可以将CAN通道接收的CAN消息的数量限制为可确定的CAN消息标识符的范围。在工具箱中使用过滤器函数和掩码设置,您只收到应用程序所需的消息。

Live Can FD Bus流量在网络上显示CAN FD Explorer应用程序。显示屏显示原始数据,解码信号和信号的曲线。

使用矢量可以数据库文件

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

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

使用A2L描述文件

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

代码示例,显示如何访问存储在A2L文件中的信息以用于XCP连接。它使用矢量和传染媒介虚拟CAN频道自由可用的XCP从模拟器。

使用MDF文件

使用车辆网络工具箱,您可以轻松地从测量数据格式(MDF)文件导入数据。工具箱支持3.0及更高版金宝app本的MDF标准。在MATLAB中创建MDF对象时,可以查看文件的基本属性,包括初始时间戳、数据大小、通道组和通道名称信息。要读取MDF文件的子集,需要指定通道名称或开始和停止时间。默认情况下,结果的输出格式将以时间表的形式返回,以便您可以轻松地处理带有时间戳的数据。

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

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

使用虚拟通道

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

金宝appSimulink模型显示了使用MathWorks虚拟通道发送和接收CAN数据而无需任何硬件。

使用CDFX文件

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

使用从CDFX文件中的校准数据作为Simulink模型的输入,并绘制ASAM.C.MAP参数的仿真输出。金宝app