logo资料库

CANopen轻松入门.pdf

第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
资料共39页,剩余部分请下载后查看
Technical Note CANopen 轻松入门 入门教程 TN01010101 V1.00 Date:2015/10/01 工程技术笔记 类别 关键词 摘 要 内容 CANopen DS301 用于初次接触 CANopen 的用户,主要以 CANopen DS301 为主要教授方向 广州致远电子股份有限公司
广州致远电子股份有限公司 CANopen 轻松入门 入门教程 修订历史 版本 V1.00 日期 2015/10/01 原因 创建文档 工程技术笔记 ©2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. i
广州致远电子股份有限公司 CANopen 轻松入门 入门教程 目 录 4.1 4.2 5.1 5.2 5.3 5.4 5.5 5.6 1. 前言 ........................................................................................................................... 1 2. CANopen 在 ISO 层级中的位置 .............................................................................. 2 3. CANopen 协议诞生和发展 ...................................................................................... 3 4. CANopen 的预定义报文 ID 分类 ............................................................................ 5 网络管理(NMT)与特殊协议(Special protocols)报文 ID 分类 .................... 5 过程数据对象(PDO)和服务数据对象(SDO)的报文 ID 分类 ..................... 7 5. 对象字典 OD(Object dictionary) ........................................................................... 9 对象字典概述 ......................................................................................................... 10 通讯对象子协议区(Communication profile area) ............................................ 10 通用通讯对象(General communication objects) .............................................. 10 制造商特定子协议(Manufacturer-specific Profile) .......................................... 11 标准化设备子协议(Standardized profile area) ...................................................... 12 对象字典和 EDS 文件实例 ................................................................................... 12 6. 网络管理 NMT(Network management) 与 CANopen 主站 .............................. 16 NMT 节点状态 ....................................................................................................... 16 NMT 节点上线报文 ............................................................................................... 17 NMT 节点状态与心跳报文 ................................................................................... 18 NMT 节点守护 ....................................................................................................... 18 NMT 节点状态切换命令 ....................................................................................... 19 CANopen 主站设备 ................................................................................................ 20 7. 过程数据对象 PDO(Process data object) ............................................................ 22 PDO 的 CAN-ID 定义 ............................................................................................ 22 PDO 的传输形式 .................................................................................................... 23 PDO 的通信参数 .................................................................................................... 24 PDO 的映射参数 .................................................................................................... 24 8. 服务数据对象 SDO(Service data object) ......................................................... 26 通讯原则(communication principle) ................................................................. 26 快速 SDO 协议(Expedited SDO protocol) ....................................................... 27 普通 SDO 协议(Normal SDO protocol) ........................................................... 27 9. 特殊协议(Special protocols) ............................................................................. 30 同步协议(Sync protocol)................................................................................... 30 时间戳协议(Time-stamp protocol) ................................................................... 31 紧急报文协议(Emergency protocol)................................................................. 33 10. 免责声明 ............................................................................................................... 35 8.1 8.2 8.3 6.1 6.2 6.3 6.4 6.5 6.6 7.1 7.2 7.3 7.4 9.1 9.2 9.3 工程技术笔记 ©2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 1
广州致远电子股份有限公司 CANopen 轻松入门 入门教程 1. 前言 本教程适用于 CIA CANopen 协议 DS301 又名 CIA301 标准。用户须已经掌握 CAN2.0A 协议的基本知识。即基本的帧结构、ID、数据、DLC 等知识,本文不再从 CAN 底层开始 叙述。如果读者需要了解 CAN 底层,推荐北京航空航天出版社出版的《项目驱动—— CAN-bus 现场总线基础教程》。 本文由广州致远电子股份有限公司周立功、黄敏思等整理和编撰。文章引用 CANopen 协会 CiA 组织的蔡豪格主席肖像与多篇示意图,再次表示非常感谢! 工程技术笔记 ©2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 1
广州致远电子股份有限公司 CANopen 轻松入门 入门教程 2. CANopen 在 ISO 层级中的位置 从 OSI 的 7 层网络模型的角度来看同,CAN(Controller Area Network)现场总线仅仅 定义了第 1 层(物理层,见 ISO11898-2 标准)、第 2 层(数据链路层,见 ISO11898-1 标准); 而在实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件(Software) 或固件(Firmware),只要了解如何调用相关的接口和寄存器,即可完成对 CAN 的控制。如 图 2.1 所示。 图 2.1 CAN 控制器结构 但 CAN 没有规定应用层。也就是没有规定与实际应用相关的逻辑,比如开关量输入输 出,模拟量输入输出。所以本身对于应用来说,是不完整的。这就像铁矿石(物理层)冶炼 成铁锭(数据链路层),然后针对具体应用,再加工做成汽车、轮船、钢筋、坦克、钢结构 建筑等等。如图 2.2 所示。 图 2.2 从物理层到应用层 因此,基本每个行业的 CAN 应用,都需要一个高层协议来定义 CAN 报文中的 11/29 位标识符、8 字节数据的使用。但在 CAN 总线的工业自动化应用中,由于设备的互通互联 的需求越来越多,所以需要一个开放的、标准化的高层协议:这个协议支持各种 CAN 厂商 设备的互用性、互换性,能够实现在 CAN 网络中提供标准的、统一的系统通讯模式,提供 设备功能描述方式,执行网络管理功能。其中包括:  应用层(Application layer):为网络中每一个有效设备都能够提供一组有用的服务与协议。  通讯描述(Communication profile):提供配置设备、通讯数据的含义,定义数据通讯方式。  设备描述(Device proflile):为设备(类)增加符合规范的行为。 工程技术笔记 ©2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 2
广州致远电子股份有限公司 CANopen 轻松入门 入门教程 3. CANopen 协议诞生和发展 CANopen 协议是在 20 世纪 90 年代末,由总部位于德国纽伦堡的 CiA 组织—— CAN-in-Automation,(http://www.can-cia.org )在 CAL(CAN Application Layer)的基础上 发展而来。 图 3.1 CANopen 与 CiA 由于 CANopen 协议的创始人团队也是 CAN-bus 的创始人团队,此协议充分发挥了 CAN-bus 所具备的所有优势,特别是 CiA 组织的主席蔡豪格(Holger Zeltwanger)先生对于 CANopen 协议坚持开放、免费、非盈利的原则。一经推出便在欧洲得到了广泛的认可与应 用。虽然 CiA 组织背后没有强大的财阀支撑,但时至今日已经成为全世界最为流行的 CAN 应用层协议。让我们记住这位可爱的德国老人,如图 3.2 所示。 图 3.2 CiA 组织蔡豪格主席 经过对 CANopen 协议规范文本的多次修改,使得 CANopen 协议的稳定性、实时性、抗 干扰性都得到了进一步的提高。并且 CiA 在 CANopen 基础协议——CiA 301 之上,对各个 行业不断推出设备子协议,使 CANopen 协议在各个行业得到更快的发展与推广。所谓的子 协议,就是针对不同行业的应用对象,对 CANopen 内部的数据含义进行重新定义,或者添 加新的控制逻辑。 目前 CANopen 协议已经在运动控制、车辆工业、轨道交通、电机驱动、工程机械、船舶 海运等行业得到广泛的应用。比如轨道交通中的城市轻轨车辆(低地板车)中,CiA 联合西 门子、庞巴迪等轨道交通厂商,共同制定了以下轨道交通相关的 CANopen 子协议:  CiA 421 series: Train vehicle control system 列车车辆控制系统  CiA 423 series: Diesel engine control system 柴油机控制系统  CiA 424 series: Door control system 门控制系统  CiA 426 series: Exterior light control system 外部灯控制系统  CiA 430 series: Auxiliary equipment control system 辅助设备控制系统 工程技术笔记 ©2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 3
广州致远电子股份有限公司 CANopen 轻松入门 入门教程  CiA 433 series: Interior light control system 内部灯控制系统 如图 3.3 所示,为 CANopen 在轨道列车中的地位,主干网为列车总线(WTB),每接 车厢采用车辆总线(MVB)来连接与列车行驶相关,对实时性要求高的部件。而 CANopen 主要是连接各种非高安全性的部件。 图 3.3 CANopen 在轨道交通中的应用 图 3.4 所示为 CANopen 设备结构。CANopen 协议通常分为用户应用层、对象字典以及 通信三个部分。 其中最为核心的是对象字典,描述了应用对象和 CANopen 报文之间的关系。 CANopen 通信是本文关键部分,其定义了 CANopen 协议通信规则以及与 CAN 控制器 驱动之间对应关系,熟悉这部分对全面掌握 CANopen 协议至关重要。 用户应用层是用户根据实际的需求编写的应用对象,这部分本入门教程将不作详细。 图 3.4 CANopen 设备结构 工程技术笔记 ©2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 4
广州致远电子股份有限公司 CANopen 轻松入门 入门教程 4. CANopen 的预定义报文 ID 分类 在 CANopen 创立之初,即使在 CAN 总线应用最广泛的汽车电子行业,网络中的 CAN 节点数量和需要通讯的信息都是比较少的。人们使用 CAN 取代 RS485,主要是看重其可以 突发发送的实时性优势,而在多节点、长距离应用中,CAN 总线和 RS485 比起来并无优势, 比如同样的波特率下,CAN 的通信距离只能达到 RS485 的 0.6-0.8 倍,而多节点通信 CAN 无法进行任意的突发发送,不得不遵循 RS485 那样的轮询通信机制,否则会导致拥堵,如 图 4.1 所示。就像这个十字路口的汽车,如果车只有 10 辆,即使没有交通灯,根本不会拥 堵。而如果有 100 辆,如果任意行驶,就会发生严重拥堵。 图 4.1 CAN 的突发优势和多节点拥堵 CANopen 的创始人是非常了解 CAN 总线这个特征,所以在设计 CANopen 时,对其定 义为小网络、控制信号的实时通讯:  报文传输采用 CAN 标准帧格式。即 11bit 的 ID 域,以尽量减小传输时间;  网络控制报文均采用数据最小字节数。比如心跳报文,只有 1 个字节数据;  实时更新的过程数据无需接收方报文应答。即采用生产消费模型,降低总线负载;  需要接收方确认的配置参数一般都是采用快速单字传输。即 1 个报文最多传送 1 个 32 字节的参数变量,避免了分帧引起的实时性降低。 以上这些定义都是为了节约时间开销,最大限度保证实时性。同时为了减小简单网络的 组态工作量,CANopen 定义了强制性的缺省标识符(CAN 帧 ID)分配表,以减少使用者与 维护者的学习时间,快速上手。 4.1 网络管理(NMT)与特殊协议(Special protocols)报文 ID 分类 虽然 CANopen 的通讯发挥了 CAN 的特色,所有节点通信地位平等,运行时允许自行 发送报文,但 CANopen 网络为了稳定可靠可控,都需要设置一个网络管理主机 NMT-Master (Network Management-Master),就像一个交响乐团的指挥家,所有节点的启动、停止都是 有他进行指挥,如图 4.2 所示。 工程技术笔记 ©2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 5
分享到:
收藏