嵌入式网络Canopen协议答案.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
由于其高可靠性和实时性的特点 ,CAN总线能够满足系统高性能的要求 ,已经深入到各个行业 ,例如专业车辆、工业控制、医辽器械、海事应用等。CAN的标准协议?CAN2.0协议和国际标准?ISO11898是设计?CAN应用系统的基本依据 ,但它们只是定义了物理层和数据链路层 ,没有对应用层进一步规范 ,本身并不完善 ,需要一个更开放的、标准化的高层协议来定义?CAN报文中的标识符和字节数据。在此背景下 ,由?CiA(CANin Automation)组织监督开发了CANOpen高层协议。在?2002年,已经形成欧洲标准?EN50325-4。 CANOpen的最大优点之一就是实现较为简单。CANOpen协议是基于?CAN串行总线系统和应用层?CAL的高层协议 ,也是一种针对于行业的标准化的协议。CANOpen协议为分布式控制及嵌入式系统的应用提供了必要的实现方法 ,主要提供 :(1)不同?CAN设备间的互操作性、互换性。(2)标准化、统一的系统通讯模式。(3)设备描述方式和网络功能。(4)网络节点功能的任意扩展。CANOpen协议以通讯规范?CiA DS-301为基础 ,规定了一系列的设备规范 ,如?CiA DSP-401,CiA DSP-404等,从而提供了配置通讯参数和数据的方王俊波 :博士研究生本工作得到国家自然科学基金重点项目 ,国家自然科学基金项目 高等学校博士学科点专项基金项目 (20030561013)以及广东省自然科学基金项目 (31406)的资助 法,规定了设备间的通讯及特定设备间的特定行为 (如数字?I/O、模拟?I/O、RS485通讯等 ),并定义了标准化的应用对象、基本功能以及网络功能。CANOpen协议采用对象字典 (OD)、电子数据文档 (EDS)等一系列概念来描述设备和协议的相关信息 ,还规定了服务数据对象 (SDO)、过程数据对象?PDO、网络管理等多种通讯机制。在本文中 ,主要是对对象字典、服务数据对象 (SDO)、过程数据对象 (PDO)进行了简要的分析。1对象字典 (OD)对象字典是设备规范中最重要的部分。实际上 ,它是一组参数和变量的有序集合 ,包含了设备描述及设备网络状态的所有参数 ,也就是说 ,通过网络可以采用有序的预定义的方式来访问的一组对象。CANOpen协议采用了带有?16位索引和?8位子索引的对象字典 ,对象字典的结构如表?1所示。一个主节点或配置工具能够访问从节点的对象字典中的所有值。表?1对象字典结构对象字典的实现是整个?canopen协议的关键。所--:82-946以,在使用对象字典来建立对象的描述时 ,要能够正确描述所建立的对象含义。例如 ,一个节点的两个模拟通道的对象字典的描述 ,如表?2所示。对于这样的描述 ,可以通过建立包含所有对象信息的库文件来实现,以类似于?C语言的方式来实现。表?2对象字典的描述用于实现上述对象字典的?C语言结构 :typedefstruct {UNSIGNED8 Entries_Number;UNSIGNED32 An_Input1;UNSIGNED32 An_Input2;}Analog_Input;2服务数据对象 (SDO)SDO用于建立客户?/服务器关系 ,客户设备具有读写访问 ,且一个?canopen设备必须至少实现一个服务器的?SDO,基于?CAL的通讯报文规范来访问设备的对象字典。通过?SDO服务 ,可以访问对象字典的条目 ,这些条目可能包含有任意长度的数据和数据类型。所以?SDO服务可以用于在服务器和客户间互相传送多个数据集合。SDO的传送机制有三种 :(1)分段传送 :大于?4个字节的数据 ,如果设备支持大于?4个字节传送时,则此项是必需的。(2)加速传送 :数据长度小于或等于?4个字节 ,此项是必需的。(3)分块传送 :用于较长数据的传送 ,此项是可选的。为了进行标准的分段?/加速传送 ,SDO定义了?6个确认服务 (SDO下载 ,SDO上传 ,启动?SDO上传 ,启动?SDO下载 ,下载?SDO段和上传?SDO段)和一个非确认服务 (中止?SDO传送 )。对于启动?SDO下载协议。由客户向服务器发出请求,我们可以看看是如何来访问?CANOpen设备中的对象字典的。启动?SDO下载协议与对象字典的关系 ,如图?1所示。注意 :对象字典中的文本描述或数据类型是不能够被传送的。图?1启动?SDO下载协议与对象字典的关系一个节点向其它节点发送?SDO时,所使用报文?CAN-ID为 600h+Node-ID。例如 ,将值?0x31FF写入节点?0x01的索引为?0x6012,子索引为?2的对象字典中 ,对应的字节赋值 ,如图?2所示。根据?SDO协议 ,连接对象报文的标识符 (COB-ID)为?

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档