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

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

3天内不再提示

CANopen通信系统基础知识科普

jf_13721959 来源:jf_13721959 作者:jf_13721959 2022-04-25 08:48 次阅读

在阅读有关CAN总线的文章时,你肯定会遇到“CANopen”这个词,它其实是一个基于CAN 的通信系统。CANopen 在基本术语中可以定义为在CAN 总线传输数据时使用的通信语言。发送者和接收者对数据信息的定义需要遵循共同的标准。

与CAN 总线底层协议包含物理层和数据链路层相比,CANopen 则是包含网络层、传输层、会话层、表示层、应用层这五个层次的高层协议。

poYBAGJlKfWAXcFbAAA9yUwCEcw163.png

在CAN总线上这些协议层之间都是独立的。

在CAN总线上这些协议的功能描述如下:

分层定义 功能
网络层 路由和寻址
传输层 可靠的端到端传输
会话层 同步
表示层 编码与表示
应用层 描述如何配置、传输和同步
CANopen设备

尽管CAN 总线已经成功的应用在很多行业,但是为了让它能够应用在更多的领域,CANopen 被设计出来。最初CANopen 是为面向运动的机器控制系统设计的,如今它在各个领域都得到了应用,例如:

Robotics(机器人

Medical equipment(医疗设备)

Stepper and servo motors(步进电机伺服电机

Food processing(食品加工)

Automation(自动化)

Off-road vehicles(非公路车辆)

Marine electronics(船用电子设备)

Railway application(铁路应用)

Building automation(建筑自动化)

Mechanical manufacturing(机械制造

Industrial machinery(工业机械

Security monitoring(安防)

CANopen 使设计人员能够执行各种功能,使CAN 总线更适合于嵌入式网络应用,如车内网络。它提供了高度灵活的配置功能。使用CAN-open,能够做到:

实现设备网络行为

影响和控制网络行为

沟通和处理数据

设备内部故障提示

设备能够点对点通信

定义内部设备结构

允许数据速率在10kbps-1000kbps 间调整

CANopen 的内部设备结构有三个主要的逻辑部分:

协议栈 ●通过CAN n/w处理通信
应用软件 ●支持内部控制功能
●为硬件提供接口
对象字典 ●CANopen设备的配置和诊断是最重要的
●接口协议以及应用软件
●涵盖所有的使用数据类型
●存储所有的交流参数和申请参数

CANopen 消息帧格式: CANopen 的消息帧格式和CAN总线的相似。它包含了的COB-ID 和控制位,为了避免和CAN 总线的COB-ID 冲突,所有的COB-ID 均不相同。

pYYBAGJlKi6AFEe4AABTYwHCVbE700.png

CANopen 协议:

一个CANopen协议栈实现几个CANopen COB与对应速率的CANopen 通信。CANopen 协议由以下部分组成:

数据对象服务协议(SDO)

pYYBAGJlKkCAL6KeAAAP1NGG7E4840.png

SDO服务使CANopen节点能够通过CAN网络读取、编辑、更改或访问另一节点对象字典的值

这是一种确认的通信服务,由两个具有不同CAN标识符的CAN数据帧组成

在以CAN为传播媒介上建立两个CANopen设备之间的对等“客户端-服务器”的通信Server(服务端): 访问对象字典的所有者Client(客户端): 访问对象字典并启动与专用SDO“服务器”通信的设备

尽管SDO 非常灵活,但OVERHEAD 的存在使其不太适合实时数据操作。为了解决这个问题,使用了进程数据对象协议。

进程数据对象协议(PDO)

poYBAGJlKl-AMwTMAAALysH8KII049.png

PDO 通常被视为一个重要的CANopen 协议,因为它承载了大量的信息

CANopen 使用进程数据对象(PDO)跨CANopen 节点在实时操作数据中传播高优先级控制和状态信息

PDO 由单个CAN 帧组成,可在单个帧内仅传送多达8字节的应用程序数据,其中包含多个对象参数值Producer(生产者): 它产生要传输到主机的数据Consumer(消费者):这里的主机就是消费者。它从生产者那里接收数据

网络管理协议(NMT)

NMT 服务定义CANopen 设备的通信方式。在接收到NMT 协议时,CANopen 设备被迫转换到命令的NMT 状态。NMT 状态机包括:

初始化状态(设备在通电或复位后进入初始化状态)

预运行状态

运行状态

停止状态

NMT 协议发送单个CAN 帧,数据长度为2字节,CAN ID为0。它包含命令标识符/功能代码(第一位),它代表请求状态,对于NMT,如果将其设置为显性状态0,则所有节点都必须执行该命令。节点ID——作为指定的名字,包含需要遵守状态转换命令的模块ID。

在NMT中,模块需要使用SDO协议操作,因为PDO仅在操作状态下才可运作。

特殊功能协议

为了产生特定的网络行为,CANopen提供了三种特定的协议:

Synchronisation Protocol(同步协议):该协议允许同步多个设备。同步生成器或应用程序主机定期传输同步协议。根据预定义的连接设置,同步消息映射到单个CAN 帧,COB ID 为80h。(它不携带数据(DLC=0))

Emergency Protocol(应急协议):任何内部设备错误都会触发应急协议。在这种情况下,紧急消息由故障设备发送。每个错误事件只传输一次。故障设备使用将CAN标识符COB ID 80h+(节点ID)分配给紧急消息的功能。如果CAN总线上的设备没有新的错误,则不会继续传输此类消息

Time-stamp protocol(时间戳协议):允许CANopen系统的用户调整特定的网络时间,该时间戳映射到一个CAN帧,该帧具有6字节的数据。这6个字节中最初的4个字节代表“一天之中的时间”信息,4个字节存储的都为毫秒信息,接下来的2个字节则为1984年1月1日0点这个数据信息。默认情况下,关联的CAN帧预设值为CAN标识符100h。

错误控制协议:监听CANopen 网络

Heartbeat Protocol(防断连协议):防断连协议验证其可用性及NMT 有限状态自动化(FSA)。对于CANopen 中的所有网络。防断连信号循环传输,以确认防断连发生器的可用性。

Boot up protocol(启动协议):这表示一种独特类型的错误控制协议。在进入NMT FSA 预运行状态之前,它将作为NMT FSA 状态初始化中的最终操作进行传输。接收到此消息表示

新设备已注册到CANopen 网络

更改网络设置(当有新设备添加到CANopen 时)

它可以被认为是CANopen 网络中出现错误情况的标志

审核编辑:汤梓红

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

    关注

    145

    文章

    1812

    浏览量

    129608
  • 通信系统
    +关注

    关注

    6

    文章

    1066

    浏览量

    53066
  • CANopen
    +关注

    关注

    6

    文章

    201

    浏览量

    42893
收藏 人收藏

    评论

    相关推荐

    光纤通信技术基础知识

    电子发烧友网站提供《光纤通信技术基础知识.ppt》资料免费下载
    发表于 03-06 15:53 0次下载

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

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

    耐用通信Ethercat转canopen网关在钢铁行业的应用案例

    河北某钢厂的 PLC 控制系统改造项目。在该系统中,客户的国产plc作为Ethercat主站,用户的伺服是采用canopen通信的设备,耐用通信
    的头像 发表于 12-25 10:19 219次阅读
    耐用<b class='flag-5'>通信</b>Ethercat转<b class='flag-5'>canopen</b>网关在钢铁行业的应用案例

    网络视频监控系统相关知识科普

    今天发一篇基本的知识,一些网络视频监控基础知识,非常适合新手学习,也可做公司培训资料。
    的头像 发表于 11-20 10:29 602次阅读
    网络视频监控<b class='flag-5'>系统</b>相关<b class='flag-5'>知识</b><b class='flag-5'>科普</b>

    嵌入式开发系统基础知识

    电子发烧友网站提供《嵌入式开发系统基础知识.pdf》资料免费下载
    发表于 11-17 10:59 0次下载
    嵌入式开发<b class='flag-5'>系统</b><b class='flag-5'>基础知识</b>

    传感器网络通信基础知识

    电子发烧友网站提供《传感器网络通信基础知识.pdf》资料免费下载
    发表于 11-15 11:50 0次下载
    传感器网络<b class='flag-5'>通信</b><b class='flag-5'>基础知识</b>

    科普|电源管理知识

    科普|电源管理知识
    的头像 发表于 10-17 16:31 346次阅读
    <b class='flag-5'>科普</b>|电源管理<b class='flag-5'>知识</b>

    LDO基础知识:噪声-降噪引脚如何提高系统性能

    LDO基础知识:噪声-降噪引脚如何提高系统性能
    的头像 发表于 09-18 10:58 785次阅读
    LDO<b class='flag-5'>基础知识</b>:噪声-降噪引脚如何提高<b class='flag-5'>系统</b>性能

    电气基本知识科普

    电气基本知识科普
    的头像 发表于 09-09 10:23 4663次阅读
    电气基本<b class='flag-5'>知识</b><b class='flag-5'>科普</b>

    运放-2. 基础知识

    运放基础知识
    的头像 发表于 08-18 10:59 1853次阅读
    运放-2. <b class='flag-5'>基础知识</b>

    CANopen通信系统基础知识分享

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

    CAN总线通信协议的基础知识

    本文将介绍CAN总线通信协议的基础知识,目前的内容仅为通用的协议部分,暂不涉及具体的外设模块的用法。研究通信协议的具体内容,主要是看建立通信的物理环境(信号与总线拓扑结构),
    的头像 发表于 06-16 10:58 4813次阅读
    CAN总线<b class='flag-5'>通信</b>协议的<b class='flag-5'>基础知识</b>

    弱电系统基础知识培训

    弱电系统基础知识培训弱电系统简图如下:
    发表于 05-18 09:37 3次下载

    通信基础知识大全

    和小编一起学习一下光通信相关的基础知识吧。 Part1.光传播基础知识 认识光波 光波实际上是一种电磁波,在自由空间中电磁波的波长与频率成反比,两者乘积等于光速,即: 将电磁波的波长或频率按顺序排列组成电磁波
    发表于 05-17 11:13 0次下载
    光<b class='flag-5'>通信</b><b class='flag-5'>基础知识</b>大全

    科普一下CAN总线的基础知识

    CAN总线是一种常用的总线,对于刚开始接触CAN总线的,面对着各式各样的资料,可能不知道从何看起,今天科普一下CAN总线的基础知识。CAN2.0协议分为A版本和B版本,A版本协议为11位标识符(标准帧),B版本在兼容11位ID标识符的同时,向上扩展到29位ID标识符。
    发表于 05-16 09:49 2610次阅读
    <b class='flag-5'>科普</b>一下CAN总线的<b class='flag-5'>基础知识</b>