中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 604查看
  • 0回复

[车身电子] CANopen通信系统

[复制链接]
  • TA的每日心情
    奋斗
    29-5-2022 14:32
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 29-5-2022 17:01:32 | 显示全部楼层 |阅读模式

    汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


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



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



    微信图片_20220515143607.png



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



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

    1652596609(1).jpg



    尽管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 的内部设备结构有三个主要的逻辑部分:



    1652596690(1).jpg


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

    的COB-ID 均不相同。



    微信图片_20220515143723.png





    CANopen 协议:

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



    ▶ 数据对象服务协议(SDO)



    微信图片_20220515143727.png

    ● SDO服务使CANopen节点能够通过CAN网络读取、编辑、更改或访问另一节点对象字典的值
    ● 这是一种确认的通信服务,由两个具有不同CAN标识符的CAN数据帧组成
    ● 在以CAN为传播媒介上建立两个CANopen设备之间的对等“客户端-服务器”的通信
    Server(服务端): 访问对象字典的所有者
    Client(客户端):  访问对象字典并启动与专用SDO“服务器”通信的设备


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



    ▶ 进程数据对象协议(PDO)



    微信图片_20220515143735.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 网络中出现错误情况的标志

    补充内容 (1-6-2022 14:35):
    欢迎致电交流学习:15911801108

    快速发帖

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

    本版积分规则

    QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

    GMT+8, 20-4-2024 12:07 , Processed in 0.392024 second(s), 30 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.