//
CANopen是位于CAN總線之上的應(yīng)用層協(xié)議。CAN報文由7個不同的位域組成,CANopen主要是規(guī)定了其中的仲裁域和數(shù)據(jù)域的使用情況。
01
CANopen報文格式
CANopen的報文格式為COB-ID+D0+D1+…..+D7, 放入CAN幀的數(shù)據(jù),低字節(jié)優(yōu)先。例如數(shù)據(jù)0x01020304對應(yīng)如下組織:COB-ID 04030201。COB-ID= Function Code+Node ID(或其他),如圖所示:
Function Code(二進(jìn)制):
EMCY:0001;
PDO:0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010;
SDOrx : 1011;
SDOtx : 1100;
NMT error control : 1110;
NMT : 0000;
SYNC : 0001;
TIME STAMP : 0010;
例子:182H=0001 1000 0010(B)
11bit為 0011 0000 010:前四位0011為功能碼PDO,后四位為節(jié)點(diǎn),10=2即節(jié)點(diǎn)為2.
02
CANopen報文測試
01
Boot-up報文
Boot-up報文為CAN-ID=700+node_ID。當(dāng)某個節(jié)點(diǎn)在initializing模式之后,進(jìn)入pre-operational模式將發(fā)送boot-up報文,例如CIO102在上電之后會收到報文如下圖。這個boot-up報文其實也是第一個心跳報文。
02
NMT報文
NMT狀態(tài)機(jī):1)Power on上電 2)自動切換到預(yù)操作狀態(tài)3)6)網(wǎng)絡(luò)管理切換到操作狀態(tài)。4)7)網(wǎng)絡(luò)管理切換到預(yù)操作狀態(tài)。5)8)網(wǎng)絡(luò)管理切換到停止?fàn)顟B(tài)。9)10)11)網(wǎng)絡(luò)管理切換到應(yīng)用層復(fù)位狀態(tài)。12)13)14)網(wǎng)絡(luò)管理切換到通訊復(fù)位狀態(tài)。15)掉電或者硬件復(fù)位。
NMT協(xié)議:11-bit的CAN報文ID中只攜帶高4-bit的功能碼,CANID均為000h,具備最高的 CAN 優(yōu)先級。數(shù)據(jù)為Node-ID放在數(shù)據(jù)域的D1處;具體的NMT命令編碼放在數(shù)據(jù)域的D0處!例:將節(jié)點(diǎn)1設(shè)置為operational狀態(tài):000 01 01
如果要對整個網(wǎng)絡(luò)所有節(jié)點(diǎn)同時進(jìn)行控制,則D1為0即可。例:將所有節(jié)點(diǎn)設(shè)置為operational狀態(tài)000 01 00
03
心跳報文
Stare:0=Boot-up 4=stopped 5=operational 7F=pre-operational
CAN-ID為700+Node-ID數(shù)據(jù)為一個字節(jié)。如圖,設(shè)備上電后處于pre-op狀態(tài),通過SDO寫入心跳周期5s,每隔5s自動發(fā)送一次設(shè)備的狀態(tài),通過000 01 01將設(shè)備的狀態(tài)切換為op。報文:601 2B 1710 00 88 13 00 00:601為CAN-ID(600+NODE_ID),2B代表寫兩個字節(jié),17 10 表示索引(根據(jù)報文格式低位在前,此處代表對象1017h),00表示子索引,88 13 00 00代表數(shù)據(jù)內(nèi)容(低位在前則該數(shù)據(jù)為00 00 13 88=5000).
04
Node guard
主站發(fā)送一幀遠(yuǎn)程幀,節(jié)點(diǎn)應(yīng)答700+Node_IDstate
State:0=初始化,1=斷開連接,2=連接,3=準(zhǔn)備,4=stopped,5=operational,6=pre-operational
05
同步報文
同步窗口時間索引:1007h約束了同步幀發(fā)送后從節(jié)點(diǎn)發(fā)送PDO的時效即在這個時間內(nèi)發(fā)送的PDO才有效超過時間的PDO將被丟棄;通訊循環(huán)周期:索引 1006 h 規(guī)定了同步幀的循環(huán)周期。
測試過程/Testing process
1)令設(shè)備處于op狀態(tài)
2)1800,1802的transmission type設(shè)為3
06
SDO
快速SDO
用于讀/寫某個節(jié)點(diǎn)的對象字典,其數(shù)據(jù)內(nèi)容不超過四個字節(jié)。例如601 22 00 62 01 FF 00 00 00:601(600+Node_ID);22(不對傳輸數(shù)據(jù)的字節(jié)數(shù)做區(qū)分)=0010 0010(如下圖)001表示寫,0表示沒有用到的字節(jié)數(shù),00表示剩下的字節(jié)數(shù),1表示快速傳輸,0表示data區(qū)沒有字節(jié)數(shù)指示;01表示子索引;FF 00 00 00 表示數(shù)據(jù)區(qū)的內(nèi)容。
SDO寫
CCS: 客戶端的命令碼 [1:寫入初始化請求]
X: unused bits
n: 字節(jié)數(shù) (n表示后面4個字節(jié)數(shù)據(jù)剩余的數(shù)量)
e: transfer expedited (快速傳輸,無分段)
s: data區(qū)是否為字節(jié)數(shù)指示:0表示data區(qū)無,1表示data區(qū)的數(shù)值為要寫入的數(shù)據(jù)
SCS: 服務(wù)器命令碼 [3:寫入初始化響應(yīng)]
SDO讀
CCS: 客戶端命令碼 [2:讀SDO初始化請求]
n: 當(dāng)快速模式時,表示data區(qū)內(nèi)空余的字節(jié)數(shù)
e: transfer type:1表示快速傳輸,無分段
s: data size indicator
SCS: 服務(wù)器端命令碼 [2:讀SDO初始化響應(yīng)]
X: unused bits
SDO命令符
下圖為SDO測試的過程,包括讀6200 01和6200 02的讀寫操作。
分段SDO/塊傳輸
針對讀寫數(shù)據(jù)超過四個字節(jié)的情況,報文測試進(jìn)行分段傳輸。報文傳輸如下圖所示,601 40 08 10 00 00 00 00表示讀取1008索引10子索引。41 01 10 00 0D 00 00 00;60 00 00 00 00 00 00 00;70 00 00 00 00 00 00 00該為確認(rèn)報文信息。00 68 69 70 65 63 73 2D;13 43 49 4F 31 30 32 00為具體內(nèi)容,其中00和13為命令碼;其他通過查ASCII表68:h;69:i;70:p;65:e;63:c;73:s;2D:-;43:C;49:I;4F:O;31:1;30:0;32:2;00:NULL;即內(nèi)容為:hipecs-CIO02。
07
PDO
PDO有三種觸發(fā)機(jī)制:事件觸發(fā)、遠(yuǎn)程幀、同步。
PDO的COB-ID組成如下方的表格所示:
此處的COB-ID就是文章開頭所說的其他的情況,這一應(yīng)用主要在修改PDO映射中。其中PDO的COB-ID主要有以下這些:
PDO通訊中有兩個重要的概念,通訊參數(shù)與映射參數(shù)(CiA301中規(guī)定了他們的對象),通訊參數(shù)中定義了該設(shè)備所使用的COB-ID、傳輸類型、禁止時間、事件定時器觸發(fā)時間、同步起始值。
-
CAN
+關(guān)注
關(guān)注
57文章
2878瀏覽量
466634
發(fā)布評論請先 登錄
虹科活動 | 廣州示波器診斷體驗交流日圓滿落幕!NVH專場即將上線!

直播回顧 | 核心協(xié)議精講!TSN基礎(chǔ)知識理論培訓(xùn),虹科帶你劃重點(diǎn)!

虹科直播回放 | IO-Link技術(shù)概述與虹科IO-Link OEM

虹科電子12月事件回顧
虹科培訓(xùn) | 重磅來襲!波形分析課程全面上線!

虹科活動回顧 | 波形診斷開放日-上海站圓滿落幕!

一文讀懂CAN XL!萬字干貨,虹科CAN XL研討會問答,你想知道的都在這里!
萬字干貨!虹科CAN XL研討會問答,你想知道的都在這里!

虹科應(yīng)用 為什么虹科PCAN方案能成為石油工程通訊的首選?

【CANopen系列】CANopen從站為什么總不上傳PDO報文?

虹科干貨 輕松掌握PCAN-Explorer 6,dll調(diào)用一文打盡!

虹科方案 領(lǐng)航智能交通革新:虹科PEAK智行定位車控系統(tǒng)Demo版亮相

虹科應(yīng)用 當(dāng)CANoe不是唯一選擇:發(fā)現(xiàn)虹科PCAN-Explorer 6

虹科干貨 |?突破功耗限制:PCAN Router設(shè)備低功耗模式與高效喚醒

虹科案例|為什么PCAN MicroMod FD是數(shù)模信號轉(zhuǎn)換的首選方案?

評論