通訊物件
PDO
我的觀點:一個 CANopen 裝置可以擁有最多 512 個 RPDO 和 512 個 TPDO,總共最多 1024 個 PDO。(得到GPT4o的肯定)
CiA協議棧觀點:一個只有一個邏輯裝置的 CANopen 裝置最多有 512 個 PDO。
PDO的兩種用法:
- TPDO:生產者PDO
- RPDO:消費者PDO
特點
小而快
傳輸模式
-
同步傳輸:透過(SYNC物件)來獲取同步訊號
同步TPDO的傳輸倍率:n表示經過n個同步訊號後傳送下一個訊息。(為0時,收到觸發訊號後的第一個同步訊號後進行傳送)
-
事件驅動傳輸
觸發模式
訊息的觸發模式
觸發方式 | 解釋 | 應用場景 |
---|---|---|
事件驅動 | 特定的事件進行驅動 | 超限報警 |
定時器驅動 | 固定的時間間隔進行傳送 | 週期性更新資料 |
遠端請求 | 其它節點透過傳送 RTR 幀來請求該裝置傳送相應的 PDO | 允許節點靈活的請求資料 |
同步觸發 | 由一定數量的Sync和內部事件觸發 | 協調多個裝置的同步操作 |
PDO讀寫
- 寫協議(推模式):生產者向0 ~ n個消費者寫PDO資料(參考spi寫資料)
- 讀協議(拉模式):消費者傳送RTR請求向生產者請求資料(參考spi讀資料)
PDO寫
引數 | 請求/執行 | 響應/確認 |
---|---|---|
PDO編號 | 強制 | |
資料 | 強制 |
PDO讀
引數 | 請求/執行 | 響應/確認 |
---|---|---|
PDO編號 | 強制 | |
資料 | 強制 |
物件描述
-
通訊引數:定義了PDO的基本特性,如COB-ID、傳輸型別、禁止時間和事件定時器等,它決定了PDO是以何種方式傳送和接收資料。
-
COB-ID:透過COB-ID可以唯一識別一個PDO訊息
- TPDO和RPDO的COB-ID是不同的
- COB-ID的最高位設定為1時,表示該PDO被禁用
-
傳輸型別(Transmission Type):PDO訊息的傳輸方式
- 同步傳輸
- 非同步傳輸
-
-
抑制時間(Inhibit Time):兩個PDO之間的最小時間間隔(以ms為單位)
-
事件計時器(Event Timer):定了事件觸發的週期時間,PDO在到期時傳送(表示沒有事件發生)
-
同步計數器(Sync Counter):在同步傳輸型別下使用,規定了在接收多少次同步訊號後傳送
-
對映引數:定義了哪些物件字典條目(變數)被包含在 PDO 訊息中,以及這些變數在訊息中的位置。
- 對映條目數:定義了一個PDO在物件字典中的條目數量,每個條目代表一個資料段
- 對映物件:每個對映物件由32位組成
- 索引(Index,16位):物件字典中的索引
- 子索引(Sub-Index, 8位):物件字典項的子索引
- 位長度(Bit Length,8位):表示對映物件的資料位數(常為位元組的整數倍)
PDO 傳輸例項
點我檢視
Multiplex PDO(不懂且沒看完,因資料少)
有兩種MPDO的使用方法。第一是目的地址模式(DAM)PDO,第二是源地址模式(SAM)PDO
支援接收MPDO的ANope的裝置為MPDO消費者,支援傳送MPDO的C為MPDO生產者
傳送MPDO由事件驅動,不支援定時、遠端請求和同步觸發模式
定址模式
- 目的地址模式(DAM):一個DAM-MPDO可以被所有該MPDO的消費者同時接收(類似於廣播),且無 應答。如果物件不存在,則生成EMCY幀。
- 源地址模式(SAM):
MPDO讀寫
MPDO寫
引數 | 請求/執行 | 響應/確認 |
---|---|---|
PDO編號 | 強制 | |
地址型別 | 強制 | |
Node-ID | 強制 | |
Multiplexer | 強制 | |
資料 | 強制 |
SDO
特點
大而慢
傳輸模式
傳輸模式 | 概述 | 應答模式 |
---|---|---|
快速傳輸 | 因資料小於等於4個位元組,一幀足夠傳送完,無需分段 | 一幀一答 |
段傳輸 | 把資料分割成若干個段,每一段透過單獨的幀傳送 | 每幀每答 |
塊傳輸 | 把多個段組合成一個子塊,每一子塊傳送完才接受應答訊號,所有子塊組成塊 | 每子塊每答 |
快速傳輸模式:只需要一次資料的傳送和應答就可以完成資料傳輸,效率高,但是傳輸的資料量少。
段傳輸:資料被分成多個段(segment)來傳輸,每個段最多可以包含7個位元組的資料。這種模式的實現較為簡單,適合中等長度的資料傳輸。
塊傳輸:相比段傳輸模式,塊傳輸模式能夠處理更大的資料量並且提高了傳輸效率。資料被分為多個塊(block),每個塊可以包含多個段。塊傳輸還具有校驗機制,能夠確保資料的完整性和可靠性。
協議詳解見 Or CiA301中文手冊43頁
SYNC
- 同步生產者定期廣播同步物件(SYNC)。
- SYNC提供基本的網路同步機制,遵循生產消費模型,該服務無應答。
- 傳輸1個位元組的計數器(可選)
TIME
- TIME生產者定期廣播時間戳物件(TIME)。
- TIME提供了簡單的網路時鐘。CANopen裝置透過時間戳物件來校準本地時間。
- 傳輸6個位元組的時間戳
EMCY
- 當裝置內部出現致命錯誤將觸發應急(EMCY)報文
- 由應用裝置以最高優先順序傳送到其他裝置。任何具備緊急事件監控與處理能力的從站會接收並處理緊急報文。