在CAN總線通信的應(yīng)用領(lǐng)域中,很多客戶需要將CANID 放在CAN報文中,這樣更方便接入不同的設(shè)備,有利于用戶通過模塊更方便的組建自己的網(wǎng)絡(luò),使用自定的應(yīng)用協(xié)議。但是要實現(xiàn)這樣的應(yīng)用,用戶往往需要不停地去修改參數(shù),而億佰特的ECAN-401所具備的協(xié)議轉(zhuǎn)發(fā)功能則很好地處理這個問題。首先我們要了解一下此設(shè)備的固定協(xié)議是怎么樣的格式。
CAN格式轉(zhuǎn)換固定13字節(jié)表示一個CAN幀數(shù)據(jù),13個字節(jié)內(nèi)容包括CAN 幀信息+幀ID+幀數(shù)據(jù)。在該轉(zhuǎn)換模式下,設(shè)置的CANID無效,因為此時發(fā)送的標(biāo)識符(幀 ID)由上述的格式串行幀中的幀ID數(shù)據(jù)填充。配置的幀類型也無效,由格式串行幀中的幀信息來決定幀類型。格式如下:

幀 ID 的長度為 4 字節(jié),標(biāo)準(zhǔn)幀有效位是 11 位,擴(kuò)展幀有效位是 29 位。

在串行幀轉(zhuǎn)CAN報文的過程中,以固定字節(jié)(13字節(jié))對齊的串行數(shù)據(jù)幀中,某段固定字節(jié)的數(shù)據(jù)格式不標(biāo)準(zhǔn),將會不對固定字節(jié)長度進(jìn)行轉(zhuǎn)換,接著轉(zhuǎn)換后面的數(shù)據(jù)。如果轉(zhuǎn)換后發(fā)現(xiàn)少了某些 CAN 報文,請檢查對應(yīng)報文的固定字節(jié)長度串行數(shù)據(jù)格式是否不符合標(biāo)準(zhǔn)格式。
幀數(shù)據(jù)在CAN格式轉(zhuǎn)換時,長度固定為8字節(jié)。有效長度由DLC3~DLC0的值決定,有效數(shù)據(jù)不足固定長度時,需要補(bǔ)0到固定長度。
此模式下,要注意嚴(yán)格按照固定字節(jié)的格式串行數(shù)據(jù)格式才能轉(zhuǎn)換成功,CAN 模式轉(zhuǎn)換可參考示例(CAN 格式轉(zhuǎn)換標(biāo)準(zhǔn)幀示例)所示,轉(zhuǎn)換時首先要確保幀信息無誤,數(shù)據(jù)長度表示無誤,否則不會進(jìn)行轉(zhuǎn)換。
轉(zhuǎn)換示例:
串行幀轉(zhuǎn)CAN報文(協(xié)議模式);
該示例配置的CAN配置參數(shù);
轉(zhuǎn)換模式:協(xié)議模式;
幀類別:擴(kuò)展幀;
轉(zhuǎn)換方向:雙向;
幀ID:無需配置;
則轉(zhuǎn)換前后數(shù)據(jù)如下:

在了解了ECAN-401的協(xié)議模式功能后,我們可以開始實際操作,準(zhǔn)備以下設(shè)備:
ECAN-401一臺
CAN分析儀ECAN-U01一臺
XCOM串口助手
這里我們使用ECAN-401做數(shù)據(jù)轉(zhuǎn)換工具,ECAN-U01發(fā)送和接收CAN報文,XCOM串口助手軟件模擬串行設(shè)備發(fā)送串行數(shù)據(jù)。將ECAN-401與ECAN-U01的CAN_L和CAN_H連接,ECAN-401的485接口通過485換USB轉(zhuǎn)換器連接到電腦,如下圖所示:

通過ECAN-401的上位機(jī),將設(shè)備通訊模式切換為協(xié)議模式,CAN波特率1000K,參數(shù)配置如下圖:

打開CAN分析儀ECAN-U01以及XCOM軟件,使用XCOM軟件模擬出一串行設(shè)備,通過ECAN-401的485串口發(fā)送串行數(shù)據(jù)。首先使用標(biāo)準(zhǔn)幀發(fā)送兩包數(shù)據(jù):88 01 23 45 67 11 22 33 44 55 66 77 88,這里可以看到ECAN-U01設(shè)備已經(jīng)接收到了ECAN-401所轉(zhuǎn)換出來的數(shù)據(jù):

這里可以看到ECAN-U01已經(jīng)成功接收到ECAN-401轉(zhuǎn)化出來的數(shù)據(jù),幀類型:擴(kuò)展幀幀ID:1234567,數(shù)據(jù)域:11 22 33 44 55 66 77 88 。從ECAN-401的配置參數(shù)上看,ECAN-401的設(shè)置的幀類型和幀ID是沒生效的,CAN分析儀接收的幀信息由串行幀給出。
再試試串行幀發(fā)送08 00 00 01 23 88 77 66 55 44 33 22 11,如下圖所示:

CAN分析儀正常接收到標(biāo)準(zhǔn)幀數(shù)據(jù),這樣就可以實現(xiàn)設(shè)備到CAN的協(xié)議轉(zhuǎn)發(fā)。
審核編輯:湯梓紅
-
CAN總線
+關(guān)注
關(guān)注
145文章
2022瀏覽量
134760 -
CAN
+關(guān)注
關(guān)注
58文章
3017瀏覽量
471642 -
上位機(jī)
+關(guān)注
關(guān)注
27文章
994瀏覽量
56765 -
總線通信
+關(guān)注
關(guān)注
0文章
61瀏覽量
12181 -
報文
+關(guān)注
關(guān)注
0文章
39瀏覽量
4320
原文標(biāo)題:【教程】CAN報文固定協(xié)議轉(zhuǎn)發(fā)
文章出處:【微信號:cdebyte,微信公眾號:億佰特物聯(lián)網(wǎng)應(yīng)用專家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
CAN報文自定義協(xié)議轉(zhuǎn)發(fā)操作原理及步驟
【CAN總線知識】全面了解CAN總線協(xié)議
CAN總線協(xié)議及概念
問一下,什么叫做報文的透明轉(zhuǎn)發(fā)啊
整車網(wǎng)關(guān)對診斷報文的路由功能
可重構(gòu)路由器報文轉(zhuǎn)發(fā)引擎設(shè)計與實現(xiàn)
CAN總線協(xié)議教程|CAN報文分析
CAN基礎(chǔ):電平、邏輯、報文是怎么來的
【教程】CAN報文固定協(xié)議轉(zhuǎn)發(fā)
【教程】CAN報文自定義協(xié)議轉(zhuǎn)發(fā)
VXLAN網(wǎng)關(guān)有哪些種類?VXLAN網(wǎng)絡(luò)中報文是如何轉(zhuǎn)發(fā)的?
CAN報文為什么會發(fā)送失???
CAN報文流程解析
用于各種設(shè)備協(xié)議間做報文轉(zhuǎn)換的網(wǎng)關(guān)是什么

CAN報文固定協(xié)議轉(zhuǎn)發(fā)教程
評論