1.對象字典OD
對象字典是每個CANopen設備必須具有的功能,它包含了設備所有可以被訪問的參數,客戶端使用索引(Index)和子索引(Sub-index)來讀寫對象字典里的參數。
對象字典主要用來設定設備組態及進行非即時的通訊。每個對象采用16位索引的方式來尋址,為了尋訪數據結構中的單個元素,又定義了8位的子索引。同時對象字典也對數據類型做出了定義。
索引(hex) | 對象 |
0000 | 保留 |
0001-001F | 基本數據類型 |
0020-003F | 復雜數據類型 |
0040-005F | 制造商規定的數據類型 |
0060-007F | 設備子協議的基本數據類型 |
0080-009F | 設備子協議的復雜數據類型 |
00A0-0FFF | 保留 |
1000-1FFF | 通信子協議區域 |
2000-5FFF | 制造商特定子協議區域 |
6000-9FFF | 標準設備子協議區域 |
A000-BFFF | 標準接口子協議區域 |
C000-FFFF | 保留 |
CANopen網絡中每個節點都有一個對象字典。對象字典包含了描述這個設備和它的網絡行為的所有參數。一個節點的對象字典是在電子數據文檔(EDS:Electronic Data Sheet)中描述或者記錄在紙上。節點本身只需要能夠提供對象字典中必需的對象,以及其它可選擇的、構成節點部分可配置功能的對象。
2.CANopen通訊
CANopen 的物理層 CANbus 每次傳送的數據量不大,其中包括 11 位元的 ID、遠端傳輸請求(RTR)位元及大小不超過8字節的數據。CANopen 將 CANbus 的 11 位元 ID 稱為通訊對象 ID (COB-ID)。當傳輸數據發生沖突時,CANbus 的仲裁機制會使 COB-ID 最小的訊息繼續傳送,不用等待或重傳。不同通訊對象對8字節數據的使用及各字節代表的意義不同。
不同通訊對象對8字節數據的使用及各字節代表的意義不同,以下是一個標準的 CANopen頁框:
功能碼 | 節點ID | RTR | 數據長度 | 數據 | |
長度 | 4位元 | 7位元 | 1位元 | 4位元 | 0-8位字節 |
CANopen通訊模型主要定義3種通訊協議,分別為NMT協定,服務數據對象SDO協定,過程數據對象PDO協定。
NMT協定
網絡管理訊息NM遵循了主站/從站的架構進行NMT通訊。在這架構之下只有一個主站,而此主站可以搭配多個從站。所有的CANopen節點都有自己專屬的NMT狀態,而主站可以藉由NMT的訊息去控制從站的狀態。
NMT通訊數據主要用于對CANopen網絡的管理,NMT在數據字節中只使用了兩字節,如圖:
功能碼 | 節點ID | RTR | 數據長度 | 標識符 | 字節0 | 字節1 | |
長度 | 4位元 | 7位元 | 1位元 | 4位元 | 0x000 | 命令字 | 從節點ID |
服務數據對象SDO
服務數據對象SDO用來讀寫CANopen設備的對象字典。提供對象字典的節點稱為SDO server,存取對象字典的節點稱為SDO client。SDO 通訊一定由SDO client 開始,并提供初始化相關的參數。
在CANopen的術語中,上傳是指由 SDO server 中讀取數據,而下載是指設定 SDO server 的數據。
SDO通訊數據主要用于非時間關鍵數據,比如通訊參數。SDO在數據字節的使用:
功能碼 | 節點ID | RTR | 數據長度 | 字節0 | 字節1 | 字節2 | 字節3-7 | |
長度 | 4位元 | 7位元 | 1位元 | 4位元 | SDO命令 | 索引 | 子索引 | 數據 |
過程數據對象PDO
PDO用于傳輸實時數據,從一個生產者到一個或多個消費者??捎脕碓谠S多節點之間交換即時的數據。
PDO分為兩種:傳送用的TPDO及接收用的RPDO。一個節點的TPDO是將資料由此節點傳輸到其他節點,而RPDO則是接收由其他節點傳輸的資料。本產品一個節點分別有4個TPDO及4個RPDO。
每個 PDO 在對象字典中由兩個對象描述:通信參數和映射參數。PDO 通信參數指明使用哪個 COB-ID,傳輸類型,禁用時間和定時時間;PDO 映射參數用于設定 PDO報文中的數據的映射關系,確定要傳輸的數據在 CAN 報文數據域中的定位。該參數允許 PDO 的生產者和消費者知道正在傳輸什么信息,而不需要在 CAN 報文中增加額外的協議控制信息,使傳輸的效率達到最高。一個 PDO 最多可以映射 64 個對象。
PDO在數據字節的使用:
功能碼 | 節點ID | RTR | 數據長度 | 數據 | |
長度 | 4位元 | 7位元 | 1位元 | 4位元 | 過程數據對象(PDO)的8個字節全部用來傳輸實時數據。 |
審核編輯:湯梓紅
-
通訊
+關注
關注
9文章
911瀏覽量
34985 -
CANopen
+關注
關注
8文章
267瀏覽量
43625 -
IO模塊
+關注
關注
0文章
149瀏覽量
12857
發布評論請先 登錄
相關推薦
評論