一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

電子設(shè)計 ? 來源:賽靈思 ? 作者:賽靈思 ? 2020-02-03 08:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CANopen是一種架構(gòu)在控制局域網(wǎng)路(Controller Area Network, CAN)上的高層通訊協(xié)定,包括通訊子協(xié)定及設(shè)備子協(xié)定常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種現(xiàn)場總線。CANopen 實現(xiàn)了OSI模型中的網(wǎng)絡(luò)層以上(包括網(wǎng)絡(luò)層)的協(xié)定。CANopen 標準包括尋址方案、數(shù)個小的通訊子協(xié)定及由設(shè)備子協(xié)定所定義的應(yīng)用層。 CANopen 支援網(wǎng)絡(luò)管理、設(shè)備監(jiān)控及節(jié)點間的通訊,其中包括一個簡易的傳輸層,可處理資料的分段傳送及其組合。一般而言數(shù)據(jù)鏈結(jié)層及物理層會用CAN來實作。除了 CANopen 外,也有其他的通訊協(xié)定(如EtherCAT)實作 CANopen 的設(shè)備子協(xié)定。CANopen由非營利組織CiA(CAN in Automaion)進行標準的起草及審核工作,基本的 CANopen 設(shè)備及通訊子協(xié)定定義在 CAN in Automation (CiA) draft standard 301中。針對個別設(shè)備的子協(xié)定以 CiA 301 為基礎(chǔ)再進行擴充。如針對 I/O 模組的 CiA401 及針對運動控制的 CiA402。

本說明是CAN上層協(xié)議CANOpen協(xié)議的嵌入式簡化,較原始CANOpen版本簡單易用,且更適應(yīng)嵌入式模塊通訊的需要,并且兼容CANOpen協(xié)議。

下面按照協(xié)議支持的功能分別進行說明:

NMT網(wǎng)絡(luò)管理服務(wù)

網(wǎng)絡(luò)管理狀態(tài)表:

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

說明:一般終端主節(jié)點是指上位機,如上位用于網(wǎng)絡(luò)管理和監(jiān)控的PC機,從節(jié)點是指被管理的各模塊。

如果節(jié)點ID是0表示命令會被廣播至所有從節(jié)點,從節(jié)點必須執(zhí)行相應(yīng)的命令。

命令說明符功能見下表:

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

網(wǎng)絡(luò)管理狀態(tài)表:

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

根據(jù)節(jié)點的狀態(tài)提供以下服務(wù):

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

過程數(shù)據(jù)對象(PDO)服務(wù)

過程數(shù)據(jù)對象用于在節(jié)點之間傳送過程數(shù)據(jù),如I/O模塊I/O狀態(tài)讀取和設(shè)定,模擬量采集和模擬量輸出等等,本協(xié)議考慮從機硬件限制最多支持4組PDO,每組包含一個RPDO和一個TPDO,現(xiàn)已I/O模塊為例進行說明:

設(shè)I/O模塊有24輸入,24輸出,24輸入通過TPDO傳給監(jiān)控終端或其他節(jié)點,24輸出通過RPDO由控制節(jié)點對其進行設(shè)定,采用發(fā)送和接收PDO1組,即標識符TPDO:0x180+NODE_ID,RPDO:0x200+NODE_ID,用3個字節(jié)就可以表示24個I/O量,因此發(fā)送和接收PDO可以表示如下(假設(shè)NODE_ID=1):

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

如果是8通道的模擬量采集模塊則需要兩個TPDO來傳送采集的數(shù)據(jù),不需要RPDO,因為每個通道產(chǎn)生一個16位數(shù)據(jù),一共是16字節(jié),每個TPDO只能夠傳送8字節(jié)。兩個TPDO標識符分別為:0x180+NODE_ID,0x280+NODE_ID。

每幀數(shù)據(jù)格式如下表(設(shè)NODE_ID=2):

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

I/O節(jié)點←監(jiān)控終端(RPDO)

I/O節(jié)點→監(jiān)控終端(TPDO)

服務(wù)數(shù)據(jù)對象(SDO)服務(wù)

服務(wù)數(shù)據(jù)對象用于讀寫節(jié)點的對象字典,現(xiàn) 只實現(xiàn)SDO下載和上傳的全速模式,不支持正常模式也不支持塊下載和上傳,因為數(shù)據(jù)量不大,實現(xiàn)的功能足夠用,SDO全速下載和上傳采用應(yīng)答式服務(wù),由監(jiān)控終端向節(jié)點發(fā)送服務(wù)請求,由節(jié)點返回應(yīng)答。

現(xiàn)假設(shè)某節(jié)點NODE_ID=3,協(xié)議報文如下:

讀節(jié)點OD

假設(shè),讀SDO index = 0x1018 subindex = 0x00,返回的是1字節(jié)data=0x04

監(jiān)控終端→節(jié)點(終端請求)

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

監(jiān)控終端←節(jié)點(節(jié)點應(yīng)答)

COB-ID0字節(jié)1字節(jié)2字節(jié)3字節(jié)4字節(jié)5字節(jié)6字節(jié)7字節(jié)1411(0x583) 命令index subindex 數(shù)據(jù)湊夠8個字節(jié)0x4F0x18 0x10 0x00 0x04 0x00 0x00 0x00

寫節(jié)點OD

假設(shè),寫SDO index=0x1017,subindex=0x00,寫數(shù)據(jù)為0x07D0

監(jiān)控終端→節(jié)點(終端請求)

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

節(jié)點返回的錯誤代碼如下:

SDO_ABORT_UNSUPPORTED 0x06010000UL 不支持該功能

SDO_ABORT_NOT_EXISTS 0x06020000UL 不存在的索引

SDO_ABORT_READONLY 0x06010002UL 只讀,不可寫

SDO_ABORT_TYPEMISMATCH 0x06070010UL 類型不匹配

SDO_ABORT_UNKNOWN_COMMAND 0x05040001UL 未知命令

SDO_ABORT_UNKNOWNSUB 0x06090011UL 未知子索引

注:命令字節(jié)含義請參考CANOpen協(xié)議文件DS301。

錯誤控制——心跳(或者叫脈動)協(xié)議(heatbeat)

錯誤控制用于了解總線上各節(jié)點的狀態(tài),本文只實現(xiàn)心跳協(xié)議,由各節(jié)點向監(jiān)控終端定期發(fā)送心跳報文,報告本節(jié)點的狀態(tài),報文如下:

設(shè)節(jié)點NODE_ID=2

節(jié)點→監(jiān)控終端

CANOpen協(xié)議的嵌入式簡化分析及功能介紹

節(jié)點在啟動之后發(fā)出BOOTUP心跳,然后按固定頻率發(fā)出脈動消息幀,監(jiān)控終端接收該報文用以檢測該節(jié)點狀態(tài).

責任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5152

    文章

    19675

    瀏覽量

    317680
  • 協(xié)議
    +關(guān)注

    關(guān)注

    2

    文章

    614

    瀏覽量

    40084
  • 現(xiàn)場總線
    +關(guān)注

    關(guān)注

    3

    文章

    526

    瀏覽量

    39126
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    SIP協(xié)議嵌入式Linux中的實現(xiàn)

    嵌入式系統(tǒng)由于本身資源的限制,現(xiàn)有的SIP協(xié)議直接應(yīng)用于嵌入式便攜設(shè)備還有困難。為滿足SIP協(xié)議嵌入式系統(tǒng)中的商用要求,設(shè)計出一個
    發(fā)表于 10-12 12:22 ?2416次閱讀
    SIP<b class='flag-5'>協(xié)議</b>在<b class='flag-5'>嵌入式</b>Linux中的實現(xiàn)

    CAN上層協(xié)議CANOpen協(xié)議嵌入式簡化說明

    CANopen是一種架構(gòu)在控制局域網(wǎng)路(Controller Area Network, CAN)上的高層通訊協(xié)定,包括通訊子協(xié)定及設(shè)備子協(xié)定常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種現(xiàn)場總線
    的頭像 發(fā)表于 12-23 10:11 ?4220次閱讀
    CAN上層<b class='flag-5'>協(xié)議</b><b class='flag-5'>CANOpen</b><b class='flag-5'>協(xié)議</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>簡化</b>說明

    Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議來連接CanOpen伺服驅(qū)動器的應(yīng)用

    局域網(wǎng)(CAN)網(wǎng)絡(luò)的通信協(xié)議,被廣泛應(yīng)用于汽車和其他嵌入式系統(tǒng)中。對于將Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議以鏈接臺達B3系列伺服
    發(fā)表于 01-10 10:29

    CANopen嵌入式模塊的應(yīng)用

    CANopen嵌入式模塊的應(yīng)用CANopen嵌入式模塊中實現(xiàn)了標準的CANopen固件,可以實現(xiàn)數(shù)字輸入/輸出及模擬輸入的應(yīng)用。通過模塊上的
    發(fā)表于 11-27 09:07

    介紹嵌入式網(wǎng)絡(luò)協(xié)議棧基礎(chǔ)知識

    第2章 嵌入式網(wǎng)絡(luò)協(xié)議?;A(chǔ)知識本章教程為大家介紹嵌入式網(wǎng)絡(luò)協(xié)議?;A(chǔ)知識,本章先讓大家有一個全面的認識,后面章節(jié)中會為大家逐一講解用到的
    發(fā)表于 08-03 06:58

    介紹嵌入式網(wǎng)絡(luò)協(xié)議?;A(chǔ)知識

    第2章 嵌入式網(wǎng)絡(luò)協(xié)議棧基礎(chǔ)知識本章教程為大家介紹嵌入式網(wǎng)絡(luò)協(xié)議?;A(chǔ)知識,本章先讓大家有一個全面的認識,后面章節(jié)中會為大家逐一講解用到的
    發(fā)表于 08-04 08:17

    OEM嵌入式通訊模塊介紹

    1OEM嵌入式通訊模塊介紹OEM嵌入式通訊模塊是一款適用于工業(yè)以太網(wǎng)和現(xiàn)場總線協(xié)議嵌入式IC模塊,利用該模塊可快速又輕松地把您的設(shè)備集成到
    發(fā)表于 12-20 07:19

    主流的小型嵌入式網(wǎng)絡(luò)協(xié)議

    新產(chǎn)品、新技術(shù)也是層出不窮,本章節(jié)就為大家介紹當前主流的小型嵌入式網(wǎng)絡(luò)協(xié)議棧。目錄第1章 當前主流的小型嵌入式網(wǎng)絡(luò)協(xié)議棧1.1 當前主流的
    發(fā)表于 12-23 06:18

    嵌入式TCPIP協(xié)議分析與研究

    嵌入式系統(tǒng)中大量存在的是8/16 位低速處理器,在進行Internet 接入時,由于本身 資源的限制,很難實現(xiàn)完整的TCP/IP 協(xié)議。文章闡述了嵌入式系統(tǒng)接入Internet 的方法,
    發(fā)表于 06-13 11:46 ?9次下載

    CANopen通訊協(xié)議介紹

      總述   CANopen是一種架構(gòu)在控制局域網(wǎng)路(Control Area Network, CAN)上的高層通訊協(xié)定,包括通訊子協(xié)定及設(shè)備子協(xié)定常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一
    發(fā)表于 08-05 16:07 ?5411次閱讀

    TCP協(xié)議與基于Nagle算法的嵌入式介紹

    本文提出了一種適用于8/ 16 位低速處理器的簡化TCP 協(xié)議。對其性能進行分析發(fā)現(xiàn),在嵌入式網(wǎng)絡(luò)大量使用小數(shù)據(jù)包,造成網(wǎng)絡(luò)帶寬利用率低下并且容易造成網(wǎng)絡(luò)阻塞。 因此在
    發(fā)表于 09-30 14:16 ?3次下載
    TCP<b class='flag-5'>協(xié)議</b>與基于Nagle算法的<b class='flag-5'>嵌入式</b><b class='flag-5'>介紹</b>

    如何簡化嵌入式開發(fā)項目

    如何簡化嵌入式開發(fā)項目
    發(fā)表于 10-24 10:16 ?13次下載
    如何<b class='flag-5'>簡化</b><b class='flag-5'>嵌入式</b>開發(fā)項目

    一種適用于Nagle算法的簡化嵌入式TCP協(xié)議淺析

    實現(xiàn)TCP/ IP 協(xié)議簇, TCP 協(xié)議的機制比較復(fù)雜,對8/ 16 位嵌入式處理器的存儲能力和運算能力要求較高,必須進行簡化。
    發(fā)表于 11-16 17:40 ?1429次閱讀
    一種適用于Nagle算法的<b class='flag-5'>簡化</b><b class='flag-5'>嵌入式</b>TCP<b class='flag-5'>協(xié)議</b>淺析

    虹科干貨 | CANopen協(xié)議基礎(chǔ)知識——LSS服務(wù)

    CANopen協(xié)議概述CANopen是一種架構(gòu)在CAN串行總線系統(tǒng)上的高層通訊協(xié)議,常被用于嵌入式系統(tǒng)與工業(yè)控制領(lǐng)域,包括電機控制、機器人制
    的頭像 發(fā)表于 01-11 16:45 ?4312次閱讀
    虹科干貨 | <b class='flag-5'>CANopen</b><b class='flag-5'>協(xié)議</b>基礎(chǔ)知識——LSS服務(wù)

    虹科方案 | 輕松實現(xiàn)CANopen設(shè)備開發(fā):虹科CANopen嵌入式通訊模塊與CANopen芯片

    CANopen協(xié)議CANopenProtocolCANopen是一種架構(gòu)在控制局域網(wǎng)絡(luò)(ControllerAreaNetwork,CAN)上的高層通信協(xié)議,包括通信子協(xié)議及設(shè)備子
    的頭像 發(fā)表于 05-05 09:42 ?1843次閱讀
    虹科方案 | 輕松實現(xiàn)<b class='flag-5'>CANopen</b>設(shè)備開發(fā):虹科<b class='flag-5'>CANopen</b><b class='flag-5'>嵌入式</b>通訊模塊與<b class='flag-5'>CANopen</b>芯片