车载网络工具箱

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

车辆网络工具箱™提供MATLAB®功能和仿真软件金宝app®块要发送,接收,编码和解码CAN,CAN FD,J1939,和XCP消息。该工具箱允许您使用的CAN总线监控应用识别和分析特定信号采用业界标准的CAN数据库文件,然后可视化解码信号。使用A2L描述文件,您可以连接到通过XCP的CAN或以太网的ECU。您可以访问存储在MDF文件信息和测量数据。

工具箱简化了与车载网络的通信,并允许您监视、筛选和分析live CAN总线数据或记录和记录消息,以便稍后进行分析和重播。您可以在虚拟can总线上模拟消息通信,或连接到实时网络或ECU。车辆网络工具箱支持CAN接口设备从矢量,Kvas金宝apper,峰值系统,和国家仪器®

入门:

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

配置CAN和CAN FD通道

可以在MATLAB中的通道函数和可以配置块吗金宝app使您能够定义到Vector CAN接口硬件的连接,该硬件使用CAN或CAN FD标准建立与CAN总线的物理连接。Vehicle Network Toolbox™提供CAN通道功能,用于查询和配置CAN接口硬件设置,如总线速度和收发器设置。您还可以验证其他can通道属性,例如可用消息的数量以及在通道上接收或传输的消息数量。通过将Vector CAN数据库文件附加到CAN通道,可以使用存储在数据库中的信息自动显示传入消息。定义CAN通道之后,可以在通道上发送和接收CAN消息。

MATLAB连接使用CAN和CAN FD协议的车载网络。

发送和接收可以包

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

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

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

从CAN消息构建和提取信号

车辆网络工具箱提供的功能和块进行编码和解码的CAN消息。CAN消息数据可以包含表示多个信号的数据。解压缩的功能和块让用户指定起始位,信号长度,数据类型,和字节排序。包的功能和块提供用于构建数据的CAN消息传输相同的选项。

金宝app使用了CAN解压块解码CAN消息Simulink模型。

日志记录和重播会影响消息

在工具箱中使用CAN日志块,你可以保存你的模型收到MAT文件的CAN消息。然后,您可以使用可以重放块另一个Simulink模型,重播的消息。金宝app所述CAN重播块保留的时间标记记录的数据,以便把重放的数据将具有相同的定时特性所记录的数据。

从记录的车辆试车重放的轮速数据图。

沟通在XCP协议

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

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

沟通在J1939协议

Vehicle Network Toolbox提供了用于通过J1939-a can通信的功能和模块,J1939-a can高级协议通常用于重型卡车行业。当通过J1939进行通信时,使用MATLAB函数或Simulink块来设置通信。金宝app具体地说,提供了将数据库(.dbc)文件关联到J1939通信、指定CAN接口硬件以及传输和接收J1939参数组的函数和块。通过使用与连接关联的数据库文件定义的参数组,可以对网络上的信号数据进行编码和解码。此外,您可以将Simulink配置为使用地址声明作为网络节点进行金宝app操作。

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

想象可以交通

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

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

在网络上直播CAN总线通信通过显示车辆CAN总线监控应用。显示器显示的原始数据;它可以被配置为显示经解码的数据时,CAN信道与.DBC数据库文件相关联。

使用向量可以数据库文件

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

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

使用A2L描述文件

车载网络工具箱,您可以使用行业标准的A2L(也称为ASAP2)描述文件在从MATLAB或Simulink中的XCP协议与ECU的通信。金宝app使用A2L描述文件使您能够从MATLAB程序或Simulink模型访问内部ECU的参数。金宝appA2L描述文件包含关于相关联的存储器地址的特定参数,所述存储结构和数据类型的信息。该文件还包含用于将存储值,如系统参数,传感器特性和校正因子成物理单位,如RPM和摄氏度规则。有了这个数据,您可以轻松而无需解析数据和解码存储器地址进行校准和测量任务。

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

使用MDF文件

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

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

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

使用虚拟通道

您可以使用网络通讯的测试和模拟虚拟可以和FD渠道。随着虚拟通道,你可以不使用物理硬件测试一个环回的配置机型。车载网络工具箱支持两种类型的虚拟频道:MathW金宝apporks的虚拟通道和来自第三方的CAN接口的硬件供应商。从第三方供应商如Vector和的Kvaser虚拟信道所需要的相应的供应商驱动程序或硬件支持包的安装。金宝appMathWorks的虚拟通道附带的工具箱,不需要额外的驱动程序或支持包。金宝app

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

与CDFX档案工作

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

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

最新功能

MDF

访问MDF文件在Linux平台上

Simulink中基于事件的传输金宝app

只有在检测到消息数据中的更改时,才能发送消息

看到发布说明了解这些特性和相应功能的详细信息。