周立功閱讀筆記-CANopen輕鬆入門基於DS301(一)

CANopen閱讀筆記
4.CANopen的預定義報文和ID分類
5.對象字典OD(Object dictionary)
6.網絡管理NMT(Network management)與CANopen主站
7.過程數據對象PDO(Process data object)
8.服務數據對象SDO(Service data object)
9.特殊協議
CAN-OPEN
–NMT主機
—-過程數據對象PDO
——–TPDO(發送PDO):有四種數據對象,詳見表4-2
——–RPDO (接收RPDO):有四種數據對象,詳見表4-2
—-服務數據對象SDO
–CANopen從機
—-過程數據對象PDO
——–TPDO(發送PDO):有四種數據對象,詳見表4-2
——–RPDO (接收RPDO):有四種數據對象,詳見表4-2
—-服務數據對象SDO
——–問SDO的CAN幀的ID:600h+node-ID。這裏Node-ID節點地址
——–被問節點地址Node-ID:答:SDO的CAN幀就是:580h+node-ID。詳見表4-2
【四.CANopen的預定義報文和ID分類】
4_1 報文傳輸採用 CAN 標準幀格式。即 11bit 的 ID 域,以儘量減小傳輸時間。
4_2 需要接收方確認的配置參數一般都是採用快速單字傳輸。即 1 個報文最多傳送 1
個 32 字節的參數變量,避免了分幀引起的實時性降低。
4_3 需要設置一個網絡管理主機,NMT 主機一般是 CANopen 網絡中具備監控的 PLC 或者 PC。
網絡管理中,同一個網絡中只允許有一個主節點、一個或多個從節點,並遵循主從模式。
【STM32需要自己寫一個主機,自己寫一個從機,主機是NMT主機】
NMT 與特殊協議的 CAN-ID 定義,
關鍵是怎麼定義這種結構體,我個人猜測STM32裏面的庫就把這個弄好了。

讀者必須需要記住的是綠色底紋的這些常用的CAN-ID 含義,在研發和應用 CANopen 中,這三類是最爲常用的 NMT 與特殊協議報文。

NMT網絡管理命令: CiA301 CAN-ID
Sync同步報文: CiA301 080h
Emergency緊急報文: CiA301 081h to 0FFh

4_4 過程數據對象(PDO)和服務數據對象(SDO)的報文ID分類
需要傳遞的配置信息和應用信息,兩個重要的對象,即:
【過程數據對象PDO(Process data object)】
【服務數據對象SDO(Service data object)】
這就是CiA301 協議所規定的基礎協議——“籮筐”。
【PDO】屬於過程數據,即單向傳輸,無需接收節點回應CAN 報文來確認,從通訊術語上來說是屬於“生產消費”模型。CAN數據幀0-8字節 CAN-ID:0-2048
【SDO】(需要確認)屬於服務數據,有指定被接收節點的地址(Node-ID),並且需要指定的接收節點回應 CAN 報文來確認已經接收, 如果超時沒有確認,則發送節點將會重新發送原報文。這種通訊方式屬於常見的“服務器客戶端”的通信模型,即我們通常所說的輪詢式。
CAN-ID 稱爲 COB-ID(通信對象編號):COB-ID:通訊對象的報文幀ID,即 CAN 報文的 11 位 ID。
Node-ID:節點 ID 號,即 CANopen 網絡中的節點地址。
每個CANopen節點的輸入和輸出,所以 PDO 分爲 TPDO(發送 PDO)和(接收 RPDO),
發送和接收是以 CANopen 從站節點爲參考(如果 CAN 主站就相反)。TPDO和 RPDO 分別有4個數據對象,每種數據對象就是 1 條 CAN 報文封裝。
CAN-OPEN
–NMT主機
—-過程數據對象PDO
——–TPDO(發送PDO):有四種數據對象,詳見表4-2
——–RPDO (接收RPDO):有四種數據對象,詳見表4-2
—-服務數據對象SDO
–CANopen從機
—-過程數據對象PDO
——–TPDO(發送PDO):有四種數據對象,詳見表4-2
——–RPDO (接收RPDO):有四種數據對象,詳見表4-2
—-服務數據對象SDO
——–問SDO的CAN幀的ID:600h+node-ID。這裏Node-ID節點地址

五.對象字典OD (Object dictionary)CANopen中最核心的概念。
實質:有序的對象組
描述了對應 CANopen 節點的所有參數, 包括通訊數據的存放位置也列入其索引,這個表變成可以傳遞形式就叫做 EDS 文件(電子數據文檔Electronic Data Sheet) 。
對於 CANopen 網絡中的主節點來說,不需要對CANopen 從節點的每個對象字典項都訪問。
CANopen 對象字典中的項由一系列子協議來描述。子協議爲對象字典中的每個對象都描述了它的功能、名字、索引、子索引、數據類型,以及這個對象是否必需、讀寫屬性等等。
5.1 對象字典概述 用戶需要關注的區域是兩個區域:通訊對象子協議區和製造商特定子協議區
5.2 通訊對象子協議區:通用通訊對象必須有:1000h to 1029h
5.3 通用通訊對象(General communication objects)
NMT主站(CANopen 主站) 在啓動時, 通常都全部或者部分讀取所有從站中通用通訊對象中的索引, 所以所有的通用通訊對象都必須在CANopen 從站中實現,使用者也必須熟知這些索引地址與其含義。
5.4 製造商特定子協議(Manufacturer-specific Profile)
RPDO 的通訊參數存放在 1400h to 15FFh
映射參數存放在 1600h to 17FFh 數據存放爲2000h 之後廠商自定義區;
TPDO 的通訊參數存放在 1800h to 19FFh 映射參數存放在 1A00h to 1BFFh 數據存放爲
2000h 之後廠商自定義區。
5.5標準化設備子協議(Standardized profile area)

六.網絡管理NMT(Network management)與CANopen主站
每個 CANopen 從節點的 CANopen 協議棧中,必須具備 NMT 管理的相應代碼,
這是節點具備 CANopen 協議的最基本的要素。
NMT 節點狀態:

發佈了29 篇原創文章 · 獲贊 56 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章