车辆网络工具箱

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

汽车网络工具箱™提供MATLAB®函数和模拟链接万博1manbetx®用于发送、接收、编码和解码CAN、CAN FD、J1939和XCP消息的块。该工具箱允许您使用行业标准的CAN数据库文件识别和解析特定信号,然后使用CAN总线监控应用程序可视化解码后的信号。使用A2L描述文件,您可以通过CAN上的XCP或以太网连接到ECU。您可以访问消息和测量数据存储在MDF文件。

该工具箱简化了与车载网络的通信,并允许您监控、过滤和分析实时CAN总线数据或日志和记录消息,以便后续分析和回放。您可以在虚拟can总线上模拟消息流量,也可以连接到现有网络或ECU。车辆网络工具箱支持CAN接口设备从矢量,Kvas万博1manbetxer,峰值系统,和国家仪器®

开始:

发送和接收可以从matlab和simulink中发送消息万博1manbetx

配置CAN和CAN FD通道

可以在MATLAB中频道函数,并可以在配置块中万博1manbetx允许您定义到Vector CAN接口硬件的连接,该硬件使用CAN或CAN FD标准与CAN总线建立物理连接。Vehicle Network Toolbox™提供了CAN通道功能,可以查询和配置CAN接口硬件设置,如总线速度和收发器设置。您还可以验证其他can通道属性,例如可用的消息数量和在通道上接收或传输的消息数量。通过将矢量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信息进行编码和解码的函数和块。CAN消息数据可能包含代表多个信号的数据。解包函数和块让用户指定开始位、信号长度、数据类型和字节顺序。包函数和块为CAN消息传输构建数据提供了相同的选项。

万博1manbetx使用CAN Unpack块解码CAN消息的Simulink模型。

记录和重放CAN消息

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

从录制的车辆测试运行重放轮速数据的曲线图。

通过XCP协议进行通信

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

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

使用J1939协议进行通信

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

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

可视化CAN流量

工具箱提供了一个车辆网络CAN总线监控应用程序,用于可视化特定CAN通道上的活动交通。你可以在MATLAB或Simulink中执行其他任务时使用该应用程序。万博1manbetx对于与你的CAN通道相关联的CAN数据库文件,应用程序解码消息,并在正确的工程单位显示它们。

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

通过车载CAN总线监控app实时显示网络上的CAN总线流量。显示屏显示原始数据;当can通道与.dbc数据库文件关联时,可以将它配置为显示解码后的数据。

使用矢量CAN数据库文件

车辆网络工具箱允许您将向量与Matlab或Simulink的CAN通道或消息相关联,使您可以使用特定于应用程序的消息和信号名称(如EngineMsg和EnginerPM)进行编码和解码,以及缩放工程单位万博1manbetx。使用行业标准数据库文件的能力简化了与CAN总线的交互,因为数据库不仅指定消息列表和组件信号,还提供了相关信号的位包装和解包规则。因为信号数据类型,起始位,长度和字节顺序都是预定义的数据库中的消息,所以您可以专注于分析信号而不是定义它们。

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

使用A2L描述文件

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

代码示例显示如何访问存储在A2L文件中的信息,以便与XCP连接一起使用。它使用从矢量和矢量虚拟CAN通道免费提供的XCP从模拟器。

使用MDF文件

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

对于不能装入内存的大型MDF文件,可以创建一个MDF数据存储,并根据指定的参数分批预览数据。您还可以创建一个数据存储来轻松地处理一组类似的MDF文件。

示例代码以在命令行界面中预览MDF文件,然后在变量编辑器中检查数据。

使用虚拟通道

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

万博1manbetxSimulink模型显示Mathworks虚拟通道的使用发送和接收可以在没有任何硬件的情况下数据。

使用CDFX文件

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

万博1manbetxSimulink模型显示Mathworks虚拟通道的使用发送和接收可以在没有任何硬件的情况下数据。

最新的特性

MDF.

在Linux平台上访问MDF文件

MDF读取性能

读取包含数千个频道的大型MDF文件至少要快30倍

万博1manbetxSimulink 万博1manbetxCompiler™支持

作为独立的可执行文件共享获取CAN总线数据的模拟(需要Simulink编译器)万博1manbetx

看到发行说明有关这些特性和相应功能的详细信息。