CANopen轻松入门一

[复制链接]
查看21841 | 回复0 | 2024-1-15 16:05:47 | 显示全部楼层 |阅读模式
1、CANopen在ISO层级中的位置

从OSI的7层网络模型的角度来看同, CAN(Controller Area Network)现场总线仅定义了第 1层(物理层,见 ISO11898-2标准)、第 2层(数据链路层,见ISO11898 -1标准) ;而在 实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件(software)或固件(firmware),只要了解如何调用相关的接口和寄存器即可完成对CAN的控制 的控制 。如图所示。



CAN控制器结构

但 CAN没有规定应用层。也就是没有规定与实际应用相关的逻辑,比如开关量输入输出,模拟量输入输出。所以本身对于应用来说,是不完整的。

这就像铁矿石(物理层)冶炼成铁锭(数据链路层), 然后针对具体应用,再加工做成汽车、轮船钢筋坦克结构建筑等。



物理层到应用层

因此,基本每个行业的CAN应用,都需要一个高层协议来定义CAN报文中的11/29位标识符、8字节数据的使用。但在CAN总线的工业自动化应用中,由于设备的互通互联的需求越来越多,所以需要一个开放的、标准化的高层协议:这个协议支持各种CAN厂商设备的互用性、互换性,能够实现在CAN网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。其中包括:

1.应用层(Application layer):为网络中每一个有效设备都能够提供一组有用的服务与协议。

2.通讯描述.(Communicationprofile):提供配置设备、通讯数据的含义,定义数据通讯方式。

3.设备描述(Device proflile):为设备(类)增加符合规范的行为。

2、CANopen协议诞生和发展

CANopen协议是在20世纪90年代末,由总部位于德国纽伦堡的CiA组织——CAN-in-Automation,(http://www.can-cia.org)在CAL(CAN Application Layer)的基础上发展而来。



CANopen与CiA

由于CANopen协议的创始人团队也是CAN-bus的创始人团队,此协议充分发挥了CAN-bus所具备的所有优势,特别是CiA组织的主席蔡豪格(Holger Zeltwanger)先生对于CANopen协议坚持开放、免费、非盈利的原则。一经推出便在欧洲得到了广泛的认可与应用。虽然CiA组织背后没有强大的财阀支撑,但时至今日已经成为全世界最为流行的CAN应用层协议。让我们记住这位可爱的德国老人,如图



主席

经过对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 辅助设备控制系统

 CiA 433 series: Interior light control system 内部灯控制系统

如图所示,为CANopen在轨道列车中的地位,主干网为列车总线(WTB),每接车厢采用车辆总线(MVB)来连接与列车行驶相关,对实时性要求高的部件。而CANopen主要是连接各种非高安全性的部件。



CANopen在轨道交通的应用

图所示为CANopen设备结构。CANopen协议通常分为用户应用层、对象字典以及通信三个部分。

其中最为核心的是对象字典,描述了应用对象和CANopen报文之间的关系。

CANopen通信是本文关键部分,其定义了CANopen协议通信规则以及与CAN控制器驱动之间对应关系,熟悉这部分对全面掌握CANopen协议至关重要。

用户应用层是用户根据实际的需求编写的应用对象,这部分本入门教程将不作详细



CANopen设备结构

                 本文章转载自广州致远(原文作者周立功、黄敏思)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则