01背景與挑戰(zhàn)
數(shù)據(jù)采集和記錄是當(dāng)今車載系統(tǒng)開(kāi)發(fā)中必不可少的環(huán)節(jié)。然而車載系統(tǒng)中交互的數(shù)據(jù)接口非常豐富,包括各種傳感器、ECU和執(zhí)行器之間的數(shù)據(jù)交互,類型可以是CAN、FlexRay、以太網(wǎng)、SPI、MIPI、CSI2等。傳統(tǒng)的車載記錄儀在采集和記錄整個(gè)系統(tǒng)時(shí)面臨新的挑戰(zhàn):
>當(dāng)記錄總線類型變更時(shí),尤其是當(dāng)系統(tǒng)中增加新的接口類型數(shù)據(jù),需要接入專門設(shè)備時(shí),原有的車載記錄儀需要足夠的擴(kuò)展能力;
>當(dāng)記錄總線數(shù)量變更時(shí),原有的車載記錄儀需要重新組合;
>技術(shù)升級(jí)迭代后,或者系統(tǒng)零部件的供應(yīng)商變更時(shí),原有的車載記錄儀需要復(fù)用。
為了提高測(cè)量記錄系統(tǒng)的靈活性、可擴(kuò)展性,以及增加組件的重用性,ASAM組織于2022年3月發(fā)布了CMP(Capture Module Protocol)協(xié)議1.0.0版本,將測(cè)量和記錄任務(wù)解耦。CMP定義車載總線和傳感器數(shù)據(jù)的捕獲模塊(Capture Module,CM)與數(shù)據(jù)接收端(Data Sink,如記錄儀、上位機(jī)軟件等)之間的通信標(biāo)準(zhǔn),并基于以太網(wǎng)傳輸。CMP報(bào)文可以直接存儲(chǔ)在數(shù)據(jù)接收端中(如數(shù)據(jù)接收端是分析軟件,也可進(jìn)一步解析報(bào)文)。
CMP支持的傳輸層包括IEEE 802.3及UDP。同時(shí),根據(jù)傳輸?shù)男枰?,捕獲模塊也可以將數(shù)據(jù)包分割或組包發(fā)送到數(shù)據(jù)接收端。
02CMP協(xié)議
CMP支持的通訊協(xié)議類型
CMP支持的總線及數(shù)據(jù)類型非常豐富,還包括自定義格式,目前包括:
CAN/CAN FD
LIN
FlexRay
Digital signals
Analog signals
SPI
GigE Vision
MIPI CSI-2 D-PHY
圖1:CMP協(xié)議介紹
基于CMP協(xié)議的采集記錄模型
CMP協(xié)議定義的是捕獲模塊(Capture Module)與數(shù)據(jù)接收端(Data Sink)之間的通訊標(biāo)準(zhǔn)。捕獲模塊負(fù)責(zé)將采集到的總線或傳感器信號(hào)等,打包為CMP報(bào)文,上傳到數(shù)據(jù)接收端。
如圖2,捕獲模塊具有Device ID標(biāo)識(shí),每個(gè)捕獲模塊的Device ID唯一且在整個(gè)采集記錄系統(tǒng)中不可重用。捕獲模塊通過(guò)其接口(接口具有Interface ID)采集要記錄的數(shù)據(jù),比如CAN、以太網(wǎng)等。對(duì)于每個(gè)捕獲模塊,Interface ID唯一且不可重用。捕獲模塊將采集到的數(shù)據(jù)以數(shù)據(jù)流的形式發(fā)送到數(shù)據(jù)接收端,數(shù)據(jù)流通過(guò)Stream ID標(biāo)識(shí)。對(duì)于每個(gè)捕獲模塊,每個(gè)數(shù)據(jù)流的Stream ID唯一且不可重用,但在整個(gè)測(cè)量記錄系統(tǒng)中,對(duì)于不同的捕獲模塊,Stream ID并不一定唯一。
圖2:基于CMP的采集記錄模型
基于CMP的采集記錄方案實(shí)現(xiàn)了數(shù)據(jù)采集模塊與數(shù)據(jù)接收端的解耦:
>更加靈活的捕獲模塊
捕獲模塊與數(shù)據(jù)接收端通過(guò)統(tǒng)一的CMP協(xié)議通訊,因此數(shù)據(jù)接收端可采集不同廠家的捕獲模塊。
>數(shù)據(jù)記錄儀可復(fù)用
傳統(tǒng)的數(shù)據(jù)記錄儀集數(shù)據(jù)采集和存儲(chǔ)功能為一體,當(dāng)總線類型發(fā)生變更時(shí),如2路CAN變更為2路LIN,原先的記錄儀則無(wú)法滿足需求。但基于CMP協(xié)議時(shí),捕獲模塊與記錄儀之間始終通過(guò)CMP協(xié)議通訊,可實(shí)現(xiàn)數(shù)據(jù)記錄儀復(fù)用。
>數(shù)據(jù)包的分割及組包功能
捕獲模塊與數(shù)據(jù)接收端基于以太網(wǎng)傳輸,同時(shí)支持巨幀功能,可支持超長(zhǎng)數(shù)據(jù)包的傳輸,或?qū)?shù)據(jù)短包組包上傳。
>時(shí)間戳
捕獲模塊支持時(shí)間戳功能,傳輸?shù)腃MP報(bào)文包含時(shí)間戳信息。
>報(bào)文丟失檢測(cè)
在CMP報(bào)文的報(bào)頭中,有一個(gè)2字節(jié)SSC(Stream Sequence Counter)信號(hào)。相應(yīng)Stream ID和Device ID發(fā)出的數(shù)據(jù)流,SSC初值為0。捕獲模塊每發(fā)送一條CMP報(bào)文,SSC加1,最大值為0xFFFF,然后再?gòu)?遞增。數(shù)據(jù)接收端通過(guò)信號(hào)SSC判斷傳輸數(shù)據(jù)是否丟失。當(dāng)檢測(cè)到數(shù)據(jù)丟失后,數(shù)據(jù)接收端通過(guò)DataLostEvent類型的狀態(tài)報(bào)文告知捕獲模塊。
CMP報(bào)文類型
CMP報(bào)文類型包括以下四種:
數(shù)據(jù)報(bào)文Data Message
數(shù)據(jù)報(bào)文用于傳輸捕獲模塊采集到的數(shù)據(jù)。
狀態(tài)報(bào)文Status Message
狀態(tài)報(bào)文可用于傳輸捕獲模塊狀態(tài)信息,包括報(bào)文丟失狀態(tài)、時(shí)間同步狀態(tài)、自定義狀態(tài)信息等。
控制報(bào)文Control Message
控制報(bào)文用于在捕獲模塊和數(shù)據(jù)接收端之間交換信息,比如Cold Start應(yīng)用等。
供應(yīng)商自定義報(bào)文Vendor-defined Message
圖3:CMP報(bào)文類型
圖4:CMP報(bào)文格式
圖5是Data Message的示例報(bào)文。CMP Header由8字節(jié)組成,不同類型CMP報(bào)文的CMP Header定義一致,其中MSG Typ(即Message Type)數(shù)據(jù)值代表不同的報(bào)文類型,Message Type 0x1代表Data Message。Data Message Header由16字節(jié)組成,內(nèi)容包括8字節(jié)Timestamp,4字節(jié)Interface ID,1字節(jié) Common Flags,1字節(jié)Data Message Payload Type(如0x01代表CAN,0x02代表CAN FD,0x8代表Ethernet等),以及2字節(jié)的Data Message Payload Length,來(lái)標(biāo)識(shí)報(bào)文中Data Message Payload的長(zhǎng)度。Data Message Header后傳輸?shù)膭t是Data Message Payload,具體每種數(shù)據(jù)類型的打包方式,可參考協(xié)議詳細(xì)了解。
圖5:Data Messages示例
03新一代VX1161.42 CMP捕獲模塊
VX1161是專為高帶寬數(shù)據(jù)采集和傳輸設(shè)計(jì)的可配置多通道接口設(shè)備。2024年6月發(fā)布的VX1161.42 CMP捕獲模塊板卡,將支持3路ETH TAP。VX1161.42板卡可通過(guò)VXtools工具包進(jìn)行配置,配置內(nèi)容包括Stream ID、Device ID、Interface ID、PTP同步等信息。VX1161.42板卡采集的數(shù)據(jù),可通過(guò)VX1161.22數(shù)據(jù)采集板卡上傳。
圖6:VX1161.42
04利用CANape采集和記錄CMP數(shù)據(jù)
CANape 22開(kāi)始支持CMP功能,目前已經(jīng)支持的CMP協(xié)議類型包括CAN、CAN FD、LIN、FlexRay以及Ethernet,支持的CMP報(bào)文類型為UDP。
當(dāng)通過(guò)電腦采集CMP報(bào)文時(shí),CANape 22支持通過(guò)VN5601或VN5620接口卡(支持USB Adapter特性)連接捕獲模塊來(lái)采集CMP報(bào)文;如通過(guò)VP6000/VP7000/VP75000系列進(jìn)行采集,可直接將捕獲模塊連接至網(wǎng)口進(jìn)行采集,如圖7。
未來(lái),Vector也將支持更多CMP特性,包括REST API、gPTP和IEEE 802.3以太網(wǎng)等。
圖7:CMP記錄硬件系統(tǒng)
CMP配置工具 – Hardware Mapping Assistant
CMP報(bào)文的相關(guān)參數(shù),如Stream ID等,可通過(guò)Hardware Mapping Assistant工具配置完成。
圖8:打開(kāi)Hardware Mapping Assistant頁(yè)面
點(diǎn)擊左側(cè)菜單CMP Interface Editor,可進(jìn)入CMP配置頁(yè)面。在CMP Configurations配置頁(yè)面中,點(diǎn)擊星號(hào)*可依次添加CMP傳輸報(bào)文。配置參數(shù)包括Interface Id、Stream Id、Device Id、BusType,以及UDP傳輸?shù)腄estination IP及Destination Port。Interface Name和Stream Name可自定義名稱。
配置完CMP報(bào)文信息后,還需要在CMP Ethernet Network Configurations頁(yè)面中,創(chuàng)建CMP Logical Network網(wǎng)絡(luò),將對(duì)應(yīng)CMP報(bào)文映射到CMP網(wǎng)絡(luò)中(圖9),以便后續(xù)選擇CMP報(bào)文網(wǎng)絡(luò)通道。
說(shuō)明:只有ETH類型需要?jiǎng)?chuàng)建CMP Ethernet Network Configurations。
圖9:CMP Interface Editor配置界面
CANape采集及顯示CMP報(bào)文
在CANape中,可通過(guò)創(chuàng)建ETH Monitor以太網(wǎng)監(jiān)測(cè)設(shè)備,采集CMP報(bào)文。對(duì)于CMP報(bào)文中的信號(hào),可通過(guò)添加對(duì)應(yīng)數(shù)據(jù)庫(kù)進(jìn)行解析。
圖10:Ethernet Monitor Device創(chuàng)建方法
設(shè)備創(chuàng)建完成后,可到CANape Device Configuration頁(yè)面中,選擇對(duì)應(yīng)的CMP網(wǎng)絡(luò),如圖11。圖11中選擇的網(wǎng)絡(luò)通道CMP_ETH1,即為圖9中,CMP Interface Editor中創(chuàng)建的CMP網(wǎng)絡(luò)通道。
圖11:CMP網(wǎng)絡(luò)配置
點(diǎn)擊測(cè)量開(kāi)始后,Graphic Window等顯示窗口可實(shí)時(shí)解析采集信號(hào),Trace Window可顯示CMP報(bào)文信息,顯示效果如圖12。
圖12:CMP顯示效果
03小 結(jié)
CMP是一種新的采集記錄協(xié)議,通過(guò)解耦采集系統(tǒng)和記錄系統(tǒng),極大地提高了系統(tǒng)的靈活性。記錄平臺(tái)統(tǒng)一使用以太網(wǎng)接口接收數(shù)據(jù),兼容各種接口類型的采集設(shè)備。未來(lái)CMP是一統(tǒng)數(shù)據(jù)記錄江湖還是補(bǔ)充客戶已有記錄方案的缺失環(huán)節(jié),讓我們一起拭目以待。
-
傳感器
+關(guān)注
關(guān)注
2545文章
50448瀏覽量
751077 -
CAN
+關(guān)注
關(guān)注
57文章
2695瀏覽量
463158 -
數(shù)據(jù)類型
+關(guān)注
關(guān)注
0文章
236瀏覽量
13596
原文標(biāo)題:CANape支持CMP協(xié)議的數(shù)據(jù)記錄
文章出處:【微信號(hào):VectorChina,微信公眾號(hào):Vector維克多】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論