基于CMP协议的采集记录模型

描述

01背景与挑战

数据采集和记录是当今车载系统开发中必不可少的环节。然而车载系统中交互的数据接口非常丰富,包括各种传感器、ECU和执行器之间的数据交互,类型可以是CAN、FlexRay、以太网、SPI、MIPI、CSI2等。传统的车载记录仪在采集和记录整个系统时面临新的挑战:

>当记录总线类型变更时,尤其是当系统中增加新的接口类型数据,需要接入专门设备时,原有的车载记录仪需要足够的扩展能力;

>当记录总线数量变更时,原有的车载记录仪需要重新组合;

>技术升级迭代后,或者系统零部件的供应商变更时,原有的车载记录仪需要复用。

为了提高测量记录系统的灵活性、可扩展性,以及增加组件的重用性,ASAM组织于2022年3月发布了CMP(Capture Module Protocol)协议1.0.0版本,将测量和记录任务解耦。CMP定义车载总线和传感器数据的捕获模块(Capture Module,CM)与数据接收端(Data Sink,如记录仪、上位机软件等)之间的通信标准,并基于以太网传输。CMP报文可以直接存储在数据接收端中(如数据接收端是分析软件,也可进一步解析报文)。

CMP支持的传输层包括IEEE 802.3及UDP。同时,根据传输的需要,捕获模块也可以将数据包分割或组包发送到数据接收端。

02CMP协议

CMP支持的通讯协议类型

CMP支持的总线及数据类型非常丰富,还包括自定义格式,目前包括:

CAN/CAN FD

LIN

FlexRay

Digital signals

UART/RS232

Analog signals

Ethernet

SPI

I2C

GigE Vision

MIPI CSI-2 D-PHY

Vendor-specific data

CAN

图1:CMP协议介绍

基于CMP协议的采集记录模型

CMP协议定义的是捕获模块(Capture Module)与数据接收端(Data Sink)之间的通讯标准。捕获模块负责将采集到的总线或传感器信号等,打包为CMP报文,上传到数据接收端。

如图2,捕获模块具有Device ID标识,每个捕获模块的Device ID唯一且在整个采集记录系统中不可重用。捕获模块通过其接口(接口具有Interface ID)采集要记录的数据,比如CAN、以太网等。对于每个捕获模块,Interface ID唯一且不可重用。捕获模块将采集到的数据以数据流的形式发送到数据接收端,数据流通过Stream ID标识。对于每个捕获模块,每个数据流的Stream ID唯一且不可重用,但在整个测量记录系统中,对于不同的捕获模块,Stream ID并不一定唯一。

CAN

图2:基于CMP的采集记录模型

基于CMP的采集记录方案实现了数据采集模块与数据接收端的解耦:

>更加灵活的捕获模块

捕获模块与数据接收端通过统一的CMP协议通讯,因此数据接收端可采集不同厂家的捕获模块。

>数据记录仪可复用

传统的数据记录仪集数据采集和存储功能为一体,当总线类型发生变更时,如2路CAN变更为2路LIN,原先的记录仪则无法满足需求。但基于CMP协议时,捕获模块与记录仪之间始终通过CMP协议通讯,可实现数据记录仪复用。

>数据包的分割及组包功能

捕获模块与数据接收端基于以太网传输,同时支持巨帧功能,可支持超长数据包的传输,或将数据短包组包上传。

>时间戳

捕获模块支持时间戳功能,传输的CMP报文包含时间戳信息。

>报文丢失检测

在CMP报文的报头中,有一个2字节SSC(Stream Sequence Counter)信号。相应Stream ID和Device ID发出的数据流,SSC初值为0。捕获模块每发送一条CMP报文,SSC加1,最大值为0xFFFF,然后再从0递增。数据接收端通过信号SSC判断传输数据是否丢失。当检测到数据丢失后,数据接收端通过DataLostEvent类型的状态报文告知捕获模块。

CMP报文类型

CMP报文类型包括以下四种:

数据报文Data Message

数据报文用于传输捕获模块采集到的数据。

状态报文Status Message

状态报文可用于传输捕获模块状态信息,包括报文丢失状态、时间同步状态、自定义状态信息等。

控制报文Control Message

控制报文用于在捕获模块和数据接收端之间交换信息,比如Cold Start应用等。

供应商自定义报文Vendor-defined Message

CAN

图3:CMP报文类型

CAN

图4:CMP报文格式

图5是Data Message的示例报文。CMP Header由8字节组成,不同类型CMP报文的CMP Header定义一致,其中MSG Typ(即Message Type)数据值代表不同的报文类型,Message Type 0x1代表Data Message。Data Message Header由16字节组成,内容包括8字节Timestamp,4字节Interface ID,1字节 Common Flags,1字节Data Message Payload Type(如0x01代表CAN,0x02代表CAN FD,0x8代表Ethernet等),以及2字节的Data Message Payload Length,来标识报文中Data Message Payload的长度。Data Message Header后传输的则是Data Message Payload,具体每种数据类型的打包方式,可参考协议详细了解。

CAN

图5:Data Messages示例

03新一代VX1161.42 CMP捕获模块

VX1161是专为高带宽数据采集和传输设计的可配置多通道接口设备。2024年6月发布的VX1161.42 CMP捕获模块板卡,将支持3路ETH TAP。VX1161.42板卡可通过VXtools工具包进行配置,配置内容包括Stream ID、Device ID、Interface ID、PTP同步等信息。VX1161.42板卡采集的数据,可通过VX1161.22数据采集板卡上传。

CAN

图6:VX1161.42

04利用CANape采集和记录CMP数据

CANape 22开始支持CMP功能,目前已经支持的CMP协议类型包括CAN、CAN FD、LIN、FlexRay以及Ethernet,支持的CMP报文类型为UDP。

当通过电脑采集CMP报文时,CANape 22支持通过VN5601或VN5620接口卡(支持USB Adapter特性)连接捕获模块来采集CMP报文;如通过VP6000/VP7000/VP75000系列进行采集,可直接将捕获模块连接至网口进行采集,如图7。

未来,Vector也将支持更多CMP特性,包括REST API、gPTP和IEEE 802.3以太网等。

CAN

图7:CMP记录硬件系统

CMP配置工具 – Hardware Mapping Assistant

CMP报文的相关参数,如Stream ID等,可通过Hardware Mapping Assistant工具配置完成。

CAN

图8:打开Hardware Mapping Assistant页面

点击左侧菜单CMP Interface Editor,可进入CMP配置页面。在CMP Configurations配置页面中,点击星号*可依次添加CMP传输报文。配置参数包括Interface Id、Stream Id、Device Id、BusType,以及UDP传输的Destination IP及Destination Port。Interface Name和Stream Name可自定义名称。

配置完CMP报文信息后,还需要在CMP Ethernet Network Configurations页面中,创建CMP Logical Network网络,将对应CMP报文映射到CMP网络中(图9),以便后续选择CMP报文网络通道。

说明:只有ETH类型需要创建CMP Ethernet Network Configurations。

CAN

图9:CMP Interface Editor配置界面

CANape采集及显示CMP报文

在CANape中,可通过创建ETH Monitor以太网监测设备,采集CMP报文。对于CMP报文中的信号,可通过添加对应数据库进行解析。

CAN

图10:Ethernet Monitor Device创建方法

设备创建完成后,可到CANape Device Configuration页面中,选择对应的CMP网络,如图11。图11中选择的网络通道CMP_ETH1,即为图9中,CMP Interface Editor中创建的CMP网络通道。

CAN

图11:CMP网络配置

点击测量开始后,Graphic Window等显示窗口可实时解析采集信号,Trace Window可显示CMP报文信息,显示效果如图12。

CAN

图12:CMP显示效果

03小 结

CMP是一种新的采集记录协议,通过解耦采集系统和记录系统,极大地提高了系统的灵活性。记录平台统一使用以太网接口接收数据,兼容各种接口类型的采集设备。未来CMP是一统数据记录江湖还是补充客户已有记录方案的缺失环节,让我们一起拭目以待。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分