车载网络工具箱

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

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

该工具箱简化了与车内网络的通信,并允许您监控、过滤和分析实时CAN总线数据,或记录和记录消息,以供以后分析和回放。您可以在虚拟can总线上模拟消息流量,或连接到实时网络或ECU。车辆网络工具箱支持来自Vector、Kvaser、PEAK系统和国家仪器的CAN接口设备万博1manbetx®.

开始:

从MATLAB和Simulink发送和接收CAN和CAN FD消息万博1manbetx

配置CAN和CAN FD通道

MATLAB中的CAN通道功能和MATLAB中的CAN配置块万博1manbetx使您能够定义与向量CAN接口硬件的连接,该硬件使用CAN或CAN FD标准与CAN总线建立物理连接。车载网络工具箱™ 提供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消息传输建立数据。

万博1manbetxSimulink模型,使用CAN解包块对CAN消息进行解码。

记录和重放CAN消息

使用工具箱中的CAN日志块,可以将模型接收到的CAN消息保存到MAT文件中。然后,可以使用can Replay块在另一个Simulink模型中重播消息。CAN重放块保留记录数据的时间戳,以便重放数据具有与记录数据相同的定时特性。万博1manbetx

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

通过XCP协议进行通信

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

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

通过J1939协议进行通信

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

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

可视化CAN通信

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

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

车辆CAN总线监视器应用程序显示网络上的实时CAN总线流量。显示器显示原始数据;可以将其配置为当can通道与.dbc数据库文件关联时显示解码数据。

使用矢量CAN数据库文件

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

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

使用A2L描述文件

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

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

使用MDF文件

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

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

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

使用虚拟通道

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

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

使用CDFX文件

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

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

最新功能

中密度纤维板

在Linux平台上访问MDF文件

MDF读取性能

读取包含数千个通道的大型MDF文件的速度至少快30倍

万博1manbetxSimulink编译器™ 支持万博1manbetx

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

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