基于STM32的CANopen通讯协议的实现.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于STM32的CANopen通讯协议的实现

理论研究 基于STM32的CANopen通讯协议的实现 王海燕 湘潭大学信息工程学院电气工程系 龙辛 湘潭湘电风能有限公司 摘 要:CANopen作为CAN网络的一种开放的应用层协议,在工厂自动化系统中得到广泛应用。其应用可以提高系统的可靠性、通讯效率及灵活性。 本文采用CANopen通讯协议实现了基于STM32单片机的I/O从站与上位机CAN卡之间的通讯,并通过测试实验,验证了系统信息传递的可靠性、准确性 和实时性,具有一定的应用价值。 关键词:STM32 CANopen CAN网络 CAN是我国应用已经比较广泛的一种现场总线。但其只定义 互。 了物理层和数据链路层,而没有规定应用层,并非一个完整的协 一、CANopen 标识符。为了减 小简单网络的组 态 工作量, 议。所以在高级应用中,需要一个高层协议来定义CAN报文中的 CANopen定义了强制性的缺省标识符(COB-ID)分配表。它是基 11/29位标识符、8字节数据的使用,于是CANopen应运而生。 于11位的CAN-ID,包含4位功能码(Function Code)和7位节点ID CANopen是CAN网络的一种开放的应用层协议,是目前应 (Node-ID),如图2所示。 用最广泛的嵌入式网络。它是自动化CAN 用户和制造商协会 二、CANopen通讯机制 (CiA,CAN-in-Automation)定义的。CANopen 主要用于分布 CANopen通讯模型定义了四种报文(通讯对象): 式控制及嵌入式系统为基础的工业控制系统,其协议精炼透 第一,管理报文NMT(Network Management)。用于网络 明、便于理解,具有较高的实时性和可靠性、数据传输速率高等 特点,而且支持不同CAN设备间的互操作性、互换性,具有标准 化、统一的系统通讯模式和设备描述方式,能够实现网络节点 功能的任意扩展。 图2 CAN标识符 本文提出了基于STM32的I/O从站的实现,通过上位机CAN 中主节点对从节点监控和管理,控制从节点的状态改变。此消息 卡与之建立通信,通过测试实验,验证了系统信息传递的可靠 不需要应答。NMT消息格式见表1。 性、准确性和实时性,很好地满足了全数字网络化伺服驱动系 表1 NMT报文 COB-ID Byte0 Byte1 统系统的要求。 0x000 CS(命令字) Node-ID CANopen通信协议简介 第二,务数据对象SDO(Service Data Object)。通过使 用索引和子索引,SDO是客

文档评论(0)

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

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

1亿VIP精品文档

相关文档