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
Analog signals
SPI
GigE Vision
MIPI CSI-2 D-PHY
圖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并不一定唯一。
圖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
圖3:CMP報文類型
圖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,具體每種數據類型的打包方式,可參考協議詳細了解。
圖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數據采集板卡上傳。
圖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以太網等。
圖7:CMP記錄硬件系統
CMP配置工具 – Hardware Mapping Assistant
CMP報文的相關參數,如Stream ID等,可通過Hardware Mapping Assistant工具配置完成。
圖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。
圖9:CMP Interface Editor配置界面
CANape采集及顯示CMP報文
在CANape中,可通過創建ETH Monitor以太網監測設備,采集CMP報文。對于CMP報文中的信號,可通過添加對應數據庫進行解析。
圖10:Ethernet Monitor Device創建方法
設備創建完成后,可到CANape Device Configuration頁面中,選擇對應的CMP網絡,如圖11。圖11中選擇的網絡通道CMP_ETH1,即為圖9中,CMP Interface Editor中創建的CMP網絡通道。
圖11:CMP網絡配置
點擊測量開始后,Graphic Window等顯示窗口可實時解析采集信號,Trace Window可顯示CMP報文信息,顯示效果如圖12。
圖12:CMP顯示效果
03小 結
CMP是一種新的采集記錄協議,通過解耦采集系統和記錄系統,極大地提高了系統的靈活性。記錄平臺統一使用以太網接口接收數據,兼容各種接口類型的采集設備。未來CMP是一統數據記錄江湖還是補充客戶已有記錄方案的缺失環節,讓我們一起拭目以待。
-
傳感器
+關注
關注
2553文章
51390瀏覽量
756582 -
CAN
+關注
關注
57文章
2769瀏覽量
464383 -
數據類型
+關注
關注
0文章
236瀏覽量
13662
原文標題:CANape支持CMP協議的數據記錄
文章出處:【微信號:VectorChina,微信公眾號:Vector維克多】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論