0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CANOpen系列教程01_ 初识CAN与CANOpen及相关内容

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-07 16:15 次阅读

1写在前面

我之前学习CANOpen的时候,网上有用的资料极少,走了不少弯路。到目前为止,网上关于CANOpen的资料依然很少。所以,特地写下该系列教程,帮助初学者跨过这道坎。

从我个人学习CANOpen的经历来看,学会使用CANOpen难度其实不大。难点在于需要掌握的基础知识很多,而且许多都有关联性,容易把人绕晕。

那么,我希望通过结合之前我的学习经历,以及工作经验,站在小白的角度写下该系列教程。当然,该教程由我个人编辑并整理,难免有些废话,或者错误,还请谅解。

2

初识CAN与CANOpen

2.1 什么是CAN?

CAN:是Controller Area Network的缩写,即控制器局域网络,属于工业现场总线,是ISO国际标准化的串行通信协议。

从OSI(Open System Interconnection开放系统互联)7层网络模型的角度来看,CAN现场总线仅仅定义了第 1 层(物理层)和第 2 层(数据链路层)。

而在实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件或固件(Firmware),只要了解如何调用相关的接口寄存器,即可完成对CAN的控制。

上面介绍的内容可能太官方,初学者可能看了之后还是不明白。简单的说:CAN总线就是一层硬件协议。比如:差分信号电平的定义、数据帧的定义等等。

PS:初学者可以结合UART来理解,比如UART串口发送一个字符’A’,它就是一种串行通信的方式。

2.2 什么是CANOpen?

CANopen是一种架构在CAN控制局域网上的高层软件通信协议,包括通信子协议及设备子协议,常在嵌入式系统中使用,也是工业控制常用到的一种现场总线协议。

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

所以,关于CANOpen协议内容请参看:http://www.can-cia.org

由于CAN总线只定义了OSI中的物理层和数据链路层,因此对于不同的应用出现了不同的【应用层协议】,为了使不同厂商产品能够相互兼容,世界范围内需要通用的CAN应用层通信协议。

在过去的二三十年中涌现出许多的协议,不过到现在为止能够广泛被承认的协议却不多,现在应用较广的CAN应用层协议主要有以下三种:

CANopen协议:主要应用在汽车、工业控制、自动化仪表等领域,目前由 CIA 负责管理和维护;

J1939协议:CAN总线在商用车领域占有绝大部分市场份额的应用层协议,由美国机动车工程师学会发起,现已在全球范围内得到广泛的应用;

DeviceNet协议:在美国等地占有相当大的市场份额,主要用于工业通信及控制和仪器仪表等领域。

而本文说的CANOpen也是目前应用较广的一种协议。简单的说,CANOpen就是CAN总线应用层协议。

PS:学习CANOpen应用层协议之前请务必先了解CAN总线协议。

3

CAN总线特点

CAN总线采用差分信号传输,通常情况下只需要两根信号线(CAN-H和CAN-L)就可以进行正常的通信。在干扰比较强的场合,还需要用到屏蔽地即CAN-G(主要功能是屏蔽干扰信号), CAN协议推荐用户使用屏蔽双绞线作为CAN总线的传输线。

CAN总线通信的优势和特点:

A.CAN总线上任意节点,均可在任意时刻主动的向其它节点发起通信,但在同一时刻优先级高的节点能获得总线的使用权。

B.标准CAN总线传输波特率可达到1Mbps。在5Kbps的通信波特率下最远传输距离可以达到 10Km,即使在1Mbps的波特率下也能传输40m的距离。

C.CAN总线定义使用了硬件报文滤波,可实现点对点及点对多点的通信方式,不需要软件来控制。

D.CAN 总线所挂接的节点数量主要取决于CAN总线收发器或驱动器,目前的驱动器一般都可以使同一网络容量达到110个节点。

E.CAN总线通信介质可采用双绞线、同轴电缆或光纤,选择极为灵活。可大大节约组网成本。

当然,CAN总线的优势还有许多,当你掌握之后就会明白为什么CAN总线应用得如此广泛了。

4

教程规划

CAN总线及CANOpen协议相关的内容相对比较多,如果每一个细节知识点都写出来,可能花掉我业余时间写一年也写不完。

我写该教程目的在于引导初学者入门,我会结合实例代码让大家边学边理解,至于实际项目编程应用不一定讲述的很多(这个看后面情况)。

首先从CAN底层讲起,再到CANOpen协议相关基础知识,最后实际应用。当然,中间每一个环节内容相对可能较多,也有可能会遗漏部分内容。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15132

    浏览量

    170831
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2451

    浏览量

    458959
  • CANopen
    +关注

    关注

    6

    文章

    200

    浏览量

    42824
收藏 人收藏

    评论

    相关推荐

    CANopen以太网网关怎么用?

    CANopen以太网网关怎么用? CANopen以太网网关是一种连接CANopen总线和以太网的设备,它提供了在CANopen网络和以太网之间传输数据的功能。本文将详细介绍
    的头像 发表于 02-02 16:59 220次阅读

    EtherCAT转CANopen网关在工业领域的应用方法

    CANopen网关进行配置。配置内容包括EtherCAT转CANopen网关的IP地址、端口号、转换规则等。 4.连接设备:将需要通讯的设备连接到EtherCAT转CANopen网关上
    发表于 01-31 14:54

    Profinet协议转换为CanOpen协议来连接CanOpen伺服驱动器的应用

    局域网(CAN)网络的通信协议,被广泛应用于汽车和其他嵌入式系统中。对于将Profinet协议转换为CanOpen协议以链接台达B3系列伺服驱动器的应用,以下是一些运用的基本步骤:系列
    发表于 01-10 10:29

    通过CANopen转Modbus TCP网关的伺服系统

    CANopen协议与伺服电机进行通讯。CANopen协议是一种先进的、高效的通讯协议,它基于CAN总线技术,能够实现设备之间的快速、稳定通讯。在CANopen协议中,从站设备需要配置控
    发表于 01-02 16:51

    ModbusTCP转CANopen网关在楼宇消防中的应用

    Modbus TCP,而楼宇自动化系统则通常采用CANopen协议。Modbus TCP是一种串行通信协议,被广泛应用于工业自动化领域,而CANopen是一种基于控制器局域网(CAN)协议的开放式标准
    发表于 12-25 16:29

    工业通讯中CANOPEN转EtherCAT的转换

    EtherCAT控制系统中,实现EtherCAT网络与CANOPEN网络的数据交互。它支持标准的CAN2.0A接口,符合CANOPEN CiA 401标准,同时具有2个RJ45以太网接口,支持100BASE-TX
    发表于 12-12 11:31

    Modbus转CANopen协议相互转换在工业中的作用

    在工业自动化领域,Modbus和CANopen协议都是非常常见的通信协议。Modbus是一种串行通信协议,常用于连接PLC和传感器/执行器。而CANopen是一种基于CAN总线的应用层协议,广泛应用
    发表于 12-08 17:02

    LDO相关内容介绍

    在电压转换电路中,LDO和DC-DC电路是最常用的两种方式,本篇主要介绍LDO相关内容。 LDO是线性电源的一种,它可以实现电源电压的转换,不过主要用在降压领域。它的全称是Low Dropout
    的头像 发表于 11-06 11:09 285次阅读
    LDO<b class='flag-5'>相关内容</b>介绍

    CANOPEN 转 Modbus 协议网关

    YC-COP-RTU网关可通过自带的配置软件设置成两种不同的通信网关,CANopen 做主站/Modbus 做从站网关:CANopen 主站协议与 Modbus 从站协议之间的转换,可实现单个 CANopen 从站设备与 Mod
    的头像 发表于 09-19 17:55 370次阅读
    <b class='flag-5'>CANOPEN</b> 转 Modbus 协议网关

    CANopen通信系统基础知识分享

    在阅读有关CAN总线的文章时,你肯定会遇到“CANopen”这个词,它其实是一个基于CAN 的通信系统。CANopen 在基本术语中可以定义为在CA
    发表于 08-14 15:28 782次阅读
    <b class='flag-5'>CANopen</b>通信系统基础知识分享

    虹科CANopen设备开发方案

    6月13日晚2000,虹科技术工程师张工为大家分享了“虹科CANopen设备开发方案”主题直播课程,课程的主要内容包括CANopen协议概述、对象字典、NMT、PDO、SDO等干货内容
    的头像 发表于 07-31 17:51 388次阅读
    虹科<b class='flag-5'>CANopen</b>设备开发方案

    在 I/O 看未来 | 多设备相关内容三大更新

    作者 / 开发者关系工程师 Sara Hamilton 您是否错过了今年 Google I/O 大会上多设备相关内容的最新动态?别担心,我们将在本文为您介绍作为开发者不容错过的 Android
    的头像 发表于 07-12 17:40 236次阅读
    在 I/O 看未来 | 多设备<b class='flag-5'>相关内容</b>三大更新

    一个CANopen的应用样例(上)

    在基本的运行CANopen框架的演示项目中,除了一个已经运行CANopenNode组件程序的CANopen节点,还需要一台运行PCAN-View软件的PC机和USB-CAN转换器PEAK-CA
    的头像 发表于 06-23 15:57 1415次阅读
    一个<b class='flag-5'>CANopen</b>的应用样例(上)

    虹科方案 | 轻松实现CANopen设备开发:虹科CANopen嵌入式通讯模块与CANopen芯片

    CANopen协议CANopenProtocolCANopen是一种架构在控制局域网络(ControllerAreaNetwork,CAN)上的高层通信协议,包括通信子协议及设备子协议,常在嵌入式
    的头像 发表于 05-05 09:42 857次阅读
    虹科方案 | 轻松实现<b class='flag-5'>CANopen</b>设备开发:虹科<b class='flag-5'>CANopen</b>嵌入式通讯模块与<b class='flag-5'>CANopen</b>芯片

    Profinet转canopen连接磁轨道

    该项目是通过Profinet转CanOpen网关连接西门子1200plc与磁轨道的配置案例,使用设备为西门子1200PLC,耐用通信Profinet转CanOpen网关,磁轨道MPMGS201-FX
    发表于 04-18 14:27