CANopen學習筆記(二)通訊物件PDO和SDO等

小兜兜me發表於2024-08-27

通訊物件

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編號 強制
資料 強制

image

PDO讀

引數 請求/執行 響應/確認
PDO編號 強制
資料 強制

image

物件描述
  • 通訊引數:定義了PDO的基本特性,如COB-ID、傳輸型別、禁止時間和事件定時器等,它決定了PDO是以何種方式傳送和接收資料。

    • COB-ID:透過COB-ID可以唯一識別一個PDO訊息

      • TPDO和RPDO的COB-ID是不同的
      • COB-ID的最高位設定為1時,表示該PDO被禁用
    • 傳輸型別(Transmission Type):PDO訊息的傳輸方式

      • 同步傳輸
      • 非同步傳輸

image

  • 抑制時間(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 強制
資料 強制

image

SDO

特點

大而慢

傳輸模式
傳輸模式 概述 應答模式
快速傳輸 因資料小於等於4個位元組,一幀足夠傳送完,無需分段 一幀一答
段傳輸 把資料分割成若干個段,每一段透過單獨的幀傳送 每幀每答
塊傳輸 把多個段組合成一個子塊,每一子塊傳送完才接受應答訊號,所有子塊組成塊 每子塊每答

快速傳輸模式:只需要一次資料的傳送和應答就可以完成資料傳輸,效率高,但是傳輸的資料量少。

段傳輸:資料被分成多個段(segment)來傳輸,每個段最多可以包含7個位元組的資料。這種模式的實現較為簡單,適合中等長度的資料傳輸。

塊傳輸:相比段傳輸模式,塊傳輸模式能夠處理更大的資料量並且提高了傳輸效率。資料被分為多個塊(block),每個塊可以包含多個段。塊傳輸還具有校驗機制,能夠確保資料的完整性和可靠性。

協議詳解見 Or CiA301中文手冊43頁

SYNC

  • 同步生產者定期廣播同步物件(SYNC)。
  • SYNC提供基本的網路同步機制,遵循生產消費模型,該服務無應答。
  • 傳輸1個位元組的計數器(可選)

TIME

  • TIME生產者定期廣播時間戳物件(TIME)。
  • TIME提供了簡單的網路時鐘。CANopen裝置透過時間戳物件來校準本地時間。
  • 傳輸6個位元組的時間戳

EMCY

  • 當裝置內部出現致命錯誤將觸發應急(EMCY)報文
  • 由應用裝置以最高優先順序傳送到其他裝置。任何具備緊急事件監控與處理能力的從站會接收並處理緊急報文。

相關文章