CANopen基础学习笔记

1.概述

CANopen协议是在20世纪90年代末,由总部位于德国纽伦堡的CiA组织—一CAN-in-Automation,(http://www.can-cia.org )在CAL (CAN Application Layer)的基础上发展而来。
CANopen是一种架构在控制局域网络(Controller Area Network, CAN)上的高层通信协议,包括通信子协议及设备子协议,常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。

CANopen优势
首先是布线简单,只需要CAN_H和CAN_L信号即可,更少出错,减少布线成本和后期维护成本。
采用多主工作方式,采用可靠的错误处理和检错机制。CAN报文通常只有8个字节,非常短的数据帧,这样也相对减少了干扰。
成本低廉,CAN外设基本在现在主流的嵌入式芯片都可以找到,如stm32

CANopen与CAN的关系
首先看一下CAN协议和OSI的参照模型
在这里插入图片描述

根据OSI 网络模型的角度来看,CAN总线只是定义了OSI网络模型的第一层(物理层〉和第二层(链路数据层)。现场总线通常只包括一个网段,在总共7层的OSI协议中,一般只需要第一层(物理层)、第二层(数据链路层)和第七层(应用层)。CANopen建立在CAN总线的基础上,利用CAN提供的物理层和数据链路层服务来实现高层通信。
换句话说,CANopen协议使用CAN总线作为传输媒介,但增加了应用层的定义和规范,以实现更复杂的功能和互操作性。
因此,CANopen可以被视为CAN总线的一个扩展或增强版本,提供了更高级别的通信服务。总结来说,CAN是一种物理层和数据链路层的通信协议,而CANopen是一种基于CAN总线的高层通信协议。CANopen利用CAN总线的基础功能,并增加了应用层的定义和规范,以实现更复杂的数据传输和控制任务

CANopen协议分层
在这里插入图片描述

根据上图所示,CANopen协议通常分为用户应用层、对象字典以及通信三个部分。其中核心是对象字典,描述了应用对象和 CANopen报文之间的关系。另外通讯接口也是本文的关键部分,定义了CANopen 协议通信规则以及与CAN控制器驱动之间对应关系。

在这里插入图片描述
关于对象字典,之后详解。

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值