CANopen实时总线的要点解析,看完你就明白了

李肖遥 2021-10-30 22:13

关注、星标公众号,直达精彩内容

来源:整理与网络素材

第一部分CAN和CANopen的概念
一、 CAN和CANopen简介

CAN总线全称为 Controller AreaNetwork 即控制器局域网是国际上应用最广泛的现场总线之一,已经在汽车制造、机械制造、包装机械、烟草等行业得到了广泛的应 用 。


CAN 总线是德国 BOSCH 公司从 80 年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达 1MBPS 。CAN 总线通信接口中集成了 CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。


CAN 协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由 11 位或 29 位二进制数组成,因此可以定义 211 或 229 个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为 8 个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8 个字节不会占用总线时间过长,从而保证了通信的实时性。CAN 协议采用 CRC 检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN 卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。


另外,CAN 总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN 总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN 总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN 总线插卡可以任意插在 PC、 AT 、XT 兼容机上,方便地构成分布式监控系统。


而 CANopen 是基于 CAN 总线的应用层协议,在开放的现场总线标准中CANopen是最著名和成功的一种,已经在欧洲和美国获得广泛的认可和大量应用。1992 年在德国成立了“自动化 CAN 用户和制造商协会”(CiA,CANinAutomation),开始着手制定自动化CAN 的应用层协议CANopen。此后,协会成员开发出一系列 CANopen 产品,在机械制造、铁路、车辆、船舶、制药、食品加工等领域获得大量应用。目前 CANopen 协议已经成为了一种新的工业现场总线标准 EN-50325-4。CANopen 协议是 CAN-in-Automation(CiA)定义的标准之一,在欧洲,CANopen 协议被认为是在基于 CAN 的工业系统中占领导地位的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述”的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。依靠 CANopen 协议的支持,可以对不同厂商的设备通过总线进行配置。



二、CANopen的基本知识

EDS文件

EDS (Electronic Data Sheet)

EDS 文件描述了 CAN 网络上设备通信属性(波特率、输出类型、I/O 提供…)。它由设备制造商提供,用于在配置工具中配置节点(就像 Windows 里的设备驱动程序)。


PDO

PDO (过程数据对象)

CANopen 帧包含 I/O 数据

区分在:

1、 传送 PDO:TXPDO 带有节点提供给其他节点的数据


2、 接收 PDO:RXPDO 节点消耗的数据

传送的方向从节点的观点看总是可见的。PDO 没有必要包含所有节点映象。通常模拟量和数字量被分成不同的 PDO 进行传送。对输出也是同样如此!


SDO

SDO (服务数据对象)

CANopen 帧包含参数

SDO 主要用于在程序运行时,从设备读参数或者向设备写参数


COB-ID

COB-ID(通讯对象标识符)

每个 CAN 帧以一个 COB-ID 开头,COB-ID 作为 CAN 帧的标识符。

在配置阶段,每个节点在接收 COB-ID 时,对帧来说,他是提供者或者消费者。


三、关于CANopen

介绍

CANopen 是一个标准的工业控制系统现场总线协议。它特别适合实时控制的 PLC ,因为它为集成的和可传输的工业应用提供了一个高效、低成本的解决方案。


CANopen协议

CANopen 协议是建立在 CAL 协议基础上的一个子协议。通过定义设备规范,它甚至更加适合于标准工业组件。CANopen 是一个 CIA (CAN inAutomation)标准,投入市场之初,它就迅速被推广。在欧洲,CANopen现在已经被公认为基于 CAN 设计的工业系统的工业标准。


物理层

CAN 使用差分驱动两总线(公共回路)。CAN 信号是 CAN-high 和CAN-low 线之间的电压差值。


1:CAN-high 线

2:CAN-low 线

3:终端电阻:120Ω

4:节点

根据电磁兼容要求,总线可以使用平行、双绞或者屏蔽走线方式。线结构使反射最小化。


CANopen规范文件

通讯规范文件

CANopen 规范文件时基于“通信规范文件”的,用来规定主要通讯机制和它们的描述(DS301 )。


设备规范文件

在设备规范文件中描述了工业自动化领域最重要的设备类型,同时也定义了设备功能类型。


标准设备描述例子为:

◆ 数字量和模拟量输入/输出模块(DS401)

◆ 电机(DS402)

◆ 控制设备(DS4P403)

◆ 闭环控制器(DSP404)

◆ PLC (DS405)

◆ 编码器(DS406)


通过CAN总线配置设备

通过 CAN 总线配置设备的可能性是制造商要求自治的基本原则之一。


CANopen规范文件的通用规格

CANopen 是符合以下规定文件的,用于 CAN 系统的一套规范:

◆ 开发的总线系统

◆ 无协议超负荷的实时数据交换

◆ 可重新定义尺寸的模块化设计

◆ 设备互用性和交换性

◆ 被大量国际制造商支持

◆ 标准的网络配置

◆ 访问所有的参数设备

◆ 同步和循环过程数据/事件驱动数据


CANopen产品认证

在市场上提供CANopen 认证产品的制造商都是 CiA 组织成员。


CAN标准

CANopen 协议被 CIA 组织定义并且可访问该组织(须遵守某些限制 )站点:http://www.can-cia.com.对主从设备的源代码可以从不同的供应商得

到。


CANopen网络通讯

通讯协议文件基于 CAL 服务和协议。

它提供用户对两种交换类型的访问:SDO、PDO。

在上电时,设备进入一个初始化阶段,接着进入预处理阶段。在这个阶段,只有SDO 可以通讯。在接到一个启动命令后,设备进入工作状态 ,在这个阶段 PDO 可以进行通讯,SDO 通讯仍然有效。


CANopen启动Boot-up

启动过程 最小设备配置指定了简化的启动程序。这个过程描述如下:




详细步骤介绍:

1、模块上电

2、模块初始化,进入预处理状态

3、NMT 服务:启动远程节点

4、NMT 服务:预处理

5、NMT 服务:停止远程节点

6、NMT 服务:重启节点

7、NMT 服务:重启节点通讯


初始

进入“重新启动通讯”后,设备进入初始模式。

该状态允许的操作有:

◆ 定义要求的通讯对象(SDO、PDO、紧急事件处理)

◆ 安装相关的 CAL 服务

◆ 配置 CAN 控制器

初始化完成后设备自动进入预处理模式。


预处理

进入预处理的条件:

◆ 在初始化完成后

◆ 在正常工作模式下,接收到“进入预处理”NMT 命令


在这种情况下,设备的配置可以被修改。然而只有 SDO 可以用来读或写设备的参数。


当配置完成后,通过接收相关的命令,设备进入以下的工作状态:

◆ 停止 ,当接收到“停止远程节点”NMT 命令

◆ 运行 ,当接收到“启动远程节点”NMT 命令


停止

如果设备处于“预处理 ” 或者“正常工作 ” 状态,接收到“节点停止 ” 命令(NMT 服务),设备进入 “停止状态 ” 。


在这种情况下,设备不能被配置。不能读写设备相关参数(SDO ),只有从设备的监视功能(即节点保护)有效。


操作

当设备处于“预处理”状态,接收到“启动远程节点 ” ,设备进入操作状态。在“运行 ” 状态,当使用“节点启动 ” NMT 服务启动 CANopen 网络,所有的设备功能性被使用,PDO、SDO 均可进行通讯。


过程数据对象(PDO)

PDO定义

PDO 是过程数据通信相关的通信对象,它能保证过程数据的实时交换。

一个 CANopen 设备的 PDO 对象定义了它与网络上其他 CANopen 设备之间的

隐式数据交换。

当设备运行时,PDO 交换被激活。


PDO类型

有两种 PDO 类型:

◆ TXPDO/TPDO:PDO 被设备传送

◆ RXPDO/RPDO:PDO 被设备接收


PDO的供给者与消费者

PDO 基于“供给者/消费者 ” 模型。传送的叫“供给者 ” ,接收的叫“消费者 ” 。


PDO的传送模式

◆ 同步(通过接收SYNC对象实现同步)

非周期:由远程帧预触发传送,或者由设备子协议中规定的对象特定事件预触发传送。

周期:传送在每1到240个SYNC消息后触发。


◆ 异步

由远程帧触发传送。

由设备子协议中规定的对象特定事件触发传送。


服务数据对象(SDO)

SDO定义

服务数据对象 SDO 允许使用显示请求交换数据。

当设备处于预处理、工作状态,SDO 服务是有效的 。


SDO的类型

有两种 SDO 类型:

◆ 读 SDO(上传)

写 SDO(下载)


客户端/ 服务器模型

SDO 协议是基于“客户端/服务器”模型。

对于下载 SDO

客户端发送一个标示被写对象的请求,服务器返回一个确认信息。


对于上传 SDO

客户端发送一个标示被读对象的请求,服务器返回被读对象的数据。


对于一个未处理的 SDO

对于以上的两种情况,如果一个 SDO 不能被处理,服务器返回一个错误

代码。


节点保护”和“寿命保护”

使用期限的定义

“使用期限”参数是按以下来计算的:

使用期限=保护时间(看门狗时间)*使用期限系数;

保护时间的典型值在 250ms 到 2S 之间。对象 0X100CH 含有以毫秒时间定义的保护时间,对象 0X100DH 含有“使用期限系数 ” 。


监控机制:

1、节点保护

2、心跳报文


监控激活

如果两个参数中有一个为零,那么模块不执行监控,即无寿命保护。为了激活监控,必须在两个对象中输入非零的数值。


保证可靠工作

为了保证可靠工作,建议设置“使用期限系数 ” 为 2。如果不是只样,主模块会产生延时(例如,在“节点保护 ” 时高优先级信息的处理或者内部处理时),模块会转入预处理模式而不产生错误。


监控的重要性

这两种保护机制对 CANopen 系统的安全运行特别重要,特别是对不工作于事件-被控模式的设备。


从设备的监控

监控按以下的方法执行:


◆ 主设备发送远程帧,来读取从设备的状态;


从设备答复:


◆ 从设备可以被配置为产生周期性的被称着 “心跳报文” 的报文,周期性的发送从设备的状态。

主设备的监控

如果主设备基于严格循环请求“保护 ” 信息,从设备可以检测主设备的状态。如果从设备在也定义的使用期限内没有收到主设备的请求(保护错误),它会认为主设备故障。这种情况下相应输出进入出错状态并且从设备进入预处理状态。


“保护”协议

在第一个“保护”信息里,“锁住位”(t)的值是0,然后在每个后来的保护信息里,该位都会改变,只有可以显示信息是否丢失。总线头部用7个剩余的位来指示网络状态:

四、CANopen设备

CAN 总线网络中有如下几类设备:

(1)PLC:PLC 做 CAN 上的一个主站,起到中央控制器的作用,对整个系统的工作起安排、调度、执行各个操作等作用。作为 CAN 网络中的主站,PLC 可以访问网络中任何节点的任何可以访问的数据,并起总线监控作用,实时监控总线上各个节点的工作状态,如果出现错误并执行相应的处理程序;


(2)分散式I/O:通常由电源部分、通信适配器部分、接线端子部分组成。分散式I/O 不具有程序存储和程序执行,通信适配器部分接收主站指令,按主站指令驱动 I/O ,并将 I/O 输入及故障诊断等信息返回给主站。


(3)驱动器、传感器、执行机构等现场设备:即带 CAN 接口的现场设备,可由主站在线完成系统配置、参数修改、数据交换等功能。至于哪些参数可进行通信及参数格式由 CANopen 行规决定。

版权归原作者所有,如有侵权,请联系删除。

关注我的微信公众号,回复“加群”按规则加入技术交流群。

欢迎关注我的视频号:


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

李肖遥 公众号“技术让梦想更伟大”,作者:李肖遥,专注嵌入式,只推荐适合你的博文,干货,技术心得,与君共勉。
评论
  • 艾迈斯欧司朗全新“样片申请”小程序,逾160种LED、传感器、多芯片组合等产品样片一触即达。轻松3步完成申请,境内免费包邮到家!本期热荐性能显著提升的OSLON® Optimal,GF CSSRML.24ams OSRAM 基于最新芯片技术推出全新LED产品OSLON® Optimal系列,实现了显著的性能升级。该系列提供五种不同颜色的光源选项,包括Hyper Red(660 nm,PDN)、Red(640 nm)、Deep Blue(450 nm,PDN)、Far Red(730 nm)及Ho
    艾迈斯欧司朗 2024-11-29 16:55 174浏览
  • 国产光耦合器正以其创新性和多样性引领行业发展。凭借强大的研发能力,国内制造商推出了适应汽车、电信等领域独特需求的专业化光耦合器,为各行业的技术进步提供了重要支持。本文将重点探讨国产光耦合器的技术创新与产品多样性,以及它们在推动产业升级中的重要作用。国产光耦合器创新的作用满足现代需求的创新模式新设计正在满足不断变化的市场需求。例如,高速光耦合器满足了电信和数据处理系统中快速信号传输的需求。同时,栅极驱动光耦合器支持电动汽车(EV)和工业电机驱动器等大功率应用中的精确高效控制。先进材料和设计将碳化硅
    克里雅半导体科技 2024-11-29 16:18 175浏览
  • 《高速PCB设计经验规则应用实践》+PCB绘制学习与验证读书首先看目录,我感兴趣的是这一节;作者在书中列举了一条经典规则,然后进行详细分析,通过公式推导图表列举说明了传统的这一规则是受到电容加工特点影响的,在使用了MLCC陶瓷电容后这一条规则已经不再实用了。图书还列举了高速PCB设计需要的专业工具和仿真软件,当然由于篇幅所限,只是介绍了一点点设计步骤;我最感兴趣的部分还是元件布局的经验规则,在这里列举如下:在这里,演示一下,我根据书本知识进行电机驱动的布局:这也算知行合一吧。对于布局书中有一句:
    wuyu2009 2024-11-30 20:30 116浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 107浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 93浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 86浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 53浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 88浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 118浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 66浏览
  • 在电子技术快速发展的今天,KLV15002光耦固态继电器以高性能和强可靠性完美解决行业需求。该光继电器旨在提供无与伦比的电气隔离和无缝切换,是现代系统的终极选择。无论是在电信、工业自动化还是测试环境中,KLV15002光耦合器固态继电器都完美融合了效率和耐用性,可满足当今苛刻的应用需求。为什么选择KLV15002光耦合器固态继电器?不妥协的电压隔离从本质上讲,KLV15002优先考虑安全性。输入到输出隔离达到3750Vrms(后缀为V的型号为5000Vrms),确保即使在高压情况下,敏感的低功耗
    克里雅半导体科技 2024-11-29 16:15 134浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 59浏览
  • 学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&
    youyeye 2024-11-30 14:30 75浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 97浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 91浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦