<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 輕松掌握CANOpen最難理解的對象字典

輕松掌握CANOpen最難理解的對象字典

作者:周立功致遠電子 時(shí)間:2016-01-11 來(lái)源:電子產(chǎn)品世界 收藏

  摘要:CANopen是一種架構在控制局域網(wǎng)路(Controller Area Network, CAN)上的高層通訊協(xié)議,其中對象字典是協(xié)議中最為核心的概念,透徹掌握其相關(guān)內容,運用將會(huì )如魚(yú)得水,游刃有余。

本文引用地址:http://dyxdggzs.com/article/201601/285569.htm

  CANopen對象字典(OD: Object Dictionary)是CANopen協(xié)議最為核心的概念。所謂的對象字典就是一個(gè)有序的對象組,描述了對應CANopen節點(diǎn)的所有參數,包括通訊數據的存放位置也列入其索引,這個(gè)表變成可以傳遞形式就叫做EDS文件(電子數據文檔Electronic Data Sheet)。對象字典,就像體檢表,具備這個(gè)人每個(gè)功能的參數,便于用人單位(主站)進(jìn)行合理分配工作。如圖 1所示。

  圖 1 對象字典與體檢表

  每個(gè)對象采用一個(gè)16位的索引值來(lái)尋址,這個(gè)索引值通常被稱(chēng)為索引,其范圍在0x0000到0xFFFF之間。為了避免數據大量時(shí)無(wú)索引可分配,所以在某些索引下也定義了一個(gè)8 位的索引值,這個(gè)索引值通常被稱(chēng)為子索引,其范圍是0x00到0xFF之間。

  每個(gè)索引內具體的參數,最大用32位的變量來(lái)表示,即Unsigned32,四個(gè)字節。

  每個(gè)CANopen設備都有一個(gè)對象字典,使用電子數據文檔(EDS文件)來(lái)記錄這些參數,而不需要把這些參數記錄在紙上。對于CANopen網(wǎng)絡(luò )中的主節點(diǎn)來(lái)說(shuō),不需要對CANopen從節點(diǎn)的每個(gè)對象字典項都訪(fǎng)問(wèn)。

  CANopen對象字典中的項由一系列子協(xié)議來(lái)描述。子協(xié)議為對象字典中的每個(gè)對象都描述了它的功能、名字、索引、子索引、數據類(lèi)型,以及這個(gè)對象是否必需、讀寫(xiě)屬性等等,這樣可保證不同廠(chǎng)商的同類(lèi)型設備兼容。

  CANopen協(xié)議的核心描述子協(xié)議是DS301,其包括了CANopen協(xié)議應用層及通信結構描述,其它的協(xié)議子協(xié)議都是對DS301 協(xié)議描述文本的補充與擴展。在不同的應用行業(yè)都會(huì )起草一份CANopen設備子協(xié)議,子協(xié)議編號一般是DS4xx 。

  對象字典概述

  如表 1所示,為對象字典索引區域定義,其中標綠色底紋的通訊對象子協(xié)議區和制造商特定子協(xié)議區是用戶(hù)需要關(guān)注的區域。

  表 1 對象字典概述

  通訊對象子協(xié)議區(Communication profile area)

  通訊對象子協(xié)議區(Communication profile area)定義了所有和通信有關(guān)的對象參數,如表 2所示,標綠色底紋的索引范圍1000h to 1029h為通用通訊對象,所有CANopen節點(diǎn)都必須具備這些索引,否則將無(wú)法加入CANopen網(wǎng)絡(luò )。其他索引根據實(shí)際情況進(jìn)行分配與定義。

  表 2 通訊對象子協(xié)議區

  1F80h to 1F89hNMT master objects網(wǎng)絡(luò )管理主機對象

  通用通訊對象(General communication objects)

  由于通用通訊對象十分重要,NMT主站(CANopen主站)在啟動(dòng)時(shí),通常都全部或者部分讀取所有從站中通用通訊對象中的索引,所以所有的通用通訊對象都必須在CANopen從站中實(shí)現,使用者也必須熟知這些索引地址與其含義。如表 3所示。

  表 3 通用通訊對象

  制造商特定子協(xié)議(Manufacturer-specific Profile)

  對象字典索引2000h to 5FFFh為制造商特定子協(xié)議,通常是存放所應用子協(xié)議的應用數據。而上文所描述的通訊對象子協(xié)議區(Communication profile area)是存放這些應用數據的通信參數。比如廣州致遠電子的XGate-COP10從站模塊規定了:

   RPDO的通訊參數存放在1400h to 15FFh 映射參數存放在1600h to 17FFh 數據存放為2000h 之后廠(chǎng)商自定義區;

   TPDO的通訊參數存放在1800h to 19FFh 映射參數存放在1A00h to 1BFFh 數據存放為2000h 之后廠(chǎng)商自定義區。

  對于在設備子協(xié)議中未定義的特殊功能,制造商也可以在此區域根據需求定義對象字典對象。因此這個(gè)區域對于不同的廠(chǎng)商來(lái)說(shuō),相同的對象字典項其定義不一定相同。

  標準化設備子協(xié)議(Standardized profile area)

  標準化設備子協(xié)議,為各種行業(yè)不同類(lèi)型的標準設備定義對象字典中的對象。目前已有十幾種為不同類(lèi)型的設備定義的子協(xié)議,例如 DS401、DS402、DS406等,其索引值范圍為0x6000~0x9FFF。同樣,這個(gè)區域對于不同的標準化設備子協(xié)議來(lái)說(shuō),相同的對象字典項其定義不一定相同。



關(guān)鍵詞: CANOpen

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>