canopen協議的核心部分是物件詞典(object dictionary),物件詞典位於通訊層和使用者層之間,如canopen裝置模型圖所示。它的作用主要是為使用者提供服務介面,物件字典是在電子資料文件(eds:electronic data sheet)中描述或者記錄在紙上。不必要也不需要通過can-bus「審問」乙個節點的物件字典中的所有引數。如果乙個節點嚴格按照在紙上的物件字典進行描述其行為,也是可以的。節點本身只需要能夠提供物件字典中必需的物件(而在canopen規定中必需的項實際上是很少的),以及其它可選擇的、構成節點部分可配置功能的物件。
物件字典是一組有序的物件,每個物件通過 16 位的索引來定址。對於陣列和結構型別的物件,可以使用 8 位的子索引來訪問其內部成員,物件字典的索引分配如表1-1所示。
表1-1 canopen物件字典 索引
物件0000 保留
0001~001f
靜態資料型別(標準資料型別,如boolean,integer 16)
0020~003f
複雜資料型別(預定義的結構,由標準資料型別組合而成,如pdocommpar,sdoparameter)
0040~005f
製造商定義的複雜資料型別
0060~007f
裝置規範定義的靜態資料型別
0080~009f
裝置規範定義的複雜資料型別
00a0~0fff 保留
1000~1fff
通訊規範區域(如裝置型別,錯誤暫存器,支援的pdo數目等)
2000~5fff
裝置製造商相關區域
6000~9fff
標準化的裝置規範區域(如dsp402等)
a000~bfff
介面規範說明區域
c000~ffff 保留
CANOpen學習筆記(一)
canopen官方介紹 學習canopen協議主要需要了解五大部分 物件字典,pdo,sdo,nmt,特殊協議。同時需要了解cob id的概念 在sdo和pdo中cob id前四位代表功能碼,後7位是node id.功能碼例如 600h表示問,580h表示答 物件字典是乙個描述了節點所有引數的有序列...
CANopen的相關學習
由於can匯流排只定義了物理層和資料鏈路層,並沒有定義應用層,因此需要canopen通訊協議來統一度量,把各種裝置標準化。canopen 實現了osi模型中的網路層以上 包括網路層 的協定。標準的 canopen 頁框 canopen 將 canbus 的 11 位元 id 稱為通訊物件 id co...
CANopen協議學習筆記一
最近在學習canopen協議,遇到一些小知識點,查閱後作為補充,記錄在此,方便以後查詢,算是讀書筆記吧。一 canopen協議中sync功能和使用 在canopen網路中應用sync要注意以下幾點 1.sync並不是主節點必須的功能,不一定要和nmt放在同一節點上,實際網路應用中可以在網路中找乙個任...