CAN笔记(22) 特殊协议

  • 1. 同步协议
  • 2. 时间戳协议
  • 3. 紧急报文协议

1. 同步协议

同步(SYNC), 该报文对象主要实现整个网络的同步传输
就像阅兵分列式上的方阵, 所有士兵迈着整齐的步伐行进

每个节点都以该同步报文作为 PDO 触发参数
因此该同步报文的 COB-ID 具有比较高的优先级以及最短的传输时间
一般选用 80h 作为同步报文的 CAN-ID

一般同步报文由 NMT 主机发出, CAN 报文的数据为 0 字节

但如果一个网络内有 2 个同步机制, 就需要设置不同的同步节拍
比如某些节点按 1 个同步帧发送 1 次 PDO, 其他的节点收到2个同步帧才发送1此PDO
所以这里PDO参数中的同步起始值就起了作用

在同步协议中, 有 2 个约束条件:

  • 同步窗口时间
    索引 1007h 约束了同步帧发送后, 从节点发送 PDO 的时效
    即在这个时间内发送的 PDO 才有效, 超过时间的 PDO 将被丢弃
  • 通讯循环周期
    索引 1006h 规定了同步帧的循环周期

2. 时间戳协议

时间标记对象(Time Stamp), NMT 主机发送自身的时钟
为网络各个节点提供公共的时间参考, 即网络对时

这在故障诊断中非常需要
比如列车中火灾报警, 检修人员需要准确获知报警的时刻
然后关联查看其它设备在这个时刻的工作状态

时间戳协议采用广播方式, 无需节点应答, CAN-ID 为 100h, 数据长度为 6
数据为当前时刻与 1984 年 1 月 1 日 0 时的时间差

节点将此时间存储在对象字典 1012h 的索引中
由于时间换算起来非常费劲, 所以会有专门的换算函数


3. 紧急报文协议

紧急事件对象(Emergency):当设备内部发生错误, 触发该对象, 发送设备内部错误代码, 提示 NMT主站
紧急报文属于诊断性报文, 一般不会影响 CANopen 通讯
其 CAN-ID存储在 1014h 的索引中, 一般会定义为 080h + node-ID, 数据包含 8 个字节

其中包括:
EEC: 紧急时间错误代码, ER: 错误寄存器, MEF: 厂商自定义的错误代码

当然这些都需要查表才能获知, 进行诊断:


与 PDO 的生产禁止时间类似, 紧急报文也有生产禁止时间
存储在对象字典的 1015h 中, 为了限制节点不断发送紧急报文, 导致总线负载过大


参考:

《CANopen 轻松入门》


相关推荐:

CAN笔记(21) 服务数据对象
CAN笔记(20) 过程数据对象
CAN笔记(19) 网络管理
CAN笔记(18) 对象字典
CAN笔记(17) 预定义报文ID


谢谢!

CAN笔记(22) 特殊协议相关推荐

  1. 网络安全笔记1——Internet协议的安全性

    网络安全笔记1--Internet协议的安全性 参考课程:中国大学MOOC<网络安全>--北京航空航天大学 文章目录 网络安全笔记1--Internet协议的安全性 <font co ...

  2. 网络协议学习笔记-IGMP协议

     网络协议学习笔记-IGMP协议 http://hi.baidu.com/clxye/item/3db870336d86c0c11a969614 IGMP协议(Internet Group Man ...

  3. Ext.Net学习笔记22:Ext.Net Tree 用法详解

    上面的图片是一个简单的树,使用Ext.Net来创建这样的树结构非常简单,代码如下: <ext:TreePanel runat="server"><Root> ...

  4. JAVA自学笔记22

    JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可 ...

  5. IOS之学习笔记十五(协议和委托的使用)

    1.协议和委托的使用 1).协议可以看下我的这篇博客 IOS之学习笔记十四(协议的定义和实现) https://blog.csdn.net/u011068702/article/details/809 ...

  6. 【转】:TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute

    TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute 分类:            TCP/IP详解学习笔记计算机网络2006-04-20 18:147970人阅读评论(1)收 ...

  7. 网络协议 22 - RPC 协议(下)- 二进制类 RPC 协议

    网络协议 22 - RPC 协议(下)- 二进制类 RPC 协议 原文:网络协议 22 - RPC 协议(下)- 二进制类 RPC 协议     前面我们认识了两个常用文本类的 RPC 协议,对于陌生 ...

  8. Java学习笔记22:并发(2)

    Java学习笔记22:并发(2) 图源:PHP中文网 终止任务 终止线程有一种非常简单的方式:设置一个多线程共享的标记位,子线程用轮询的方式检查这个标记位,如果该标记位显示取消状态,就让子线程退出执行 ...

  9. [编译原理学习笔记2-2] 程序语言的语法描述

    [编译原理学习笔记2-2] 程序语言的语法描述 文章目录 [编译原理学习笔记2-2] 程序语言的语法描述 [2.3.1] 上下文无关文法 [2.3.2] 语法分析树与二义性 [2.3.3] 形式语言鸟 ...

  10. 【嵌入式硬件芯片开发笔记】HART协议调制解调芯片AD5700配置流程

    [嵌入式硬件芯片开发笔记]HART协议调制解调芯片AD5700配置流程 XTAL_EN接地,CLK_CFG的两个引脚由同一个GPIO控制 初始时HART_CLK_CFG输出低电平 由RTS引脚控制调制 ...

最新文章

  1. 包邮送 36 本书,已全部打包好!
  2. 贝叶斯分类器_python机器学习API介绍10:多项式贝叶斯分类器
  3. 量子纠缠背后的故事(三):维格纳的朋友 精选
  4. 妙啊,小米11保护壳先小米11一步上市了...
  5. git commit之后后面的操作步骤
  6. springboot使用Freemarker继承
  7. 二十年前的电脑配置单,大家见过吗?
  8. ubuntu15.04源失效问题修复
  9. 函数参数约定、传递顺序、传递方式
  10. php获取时间(系统时间和网络时间)
  11. 通过关键词采集百度网址脚本
  12. 《Lost》大结局最权威最彻底解读
  13. 别做被大公司毁掉的年轻人
  14. 国庆中秋福利篇:视频资料免费大派送,总有你想要的那款
  15. 格式工厂——难得一见的强大免费格式转换工具
  16. IBM SPSS Statistics 26.0 for Linux Ubuntu 英/中文安装教程
  17. Java栈——操作数栈
  18. PDF转换成Word后乱码怎么办?
  19. 虚拟机运行一段时间后 自动挂起解决方法
  20. 普遍化的混合云架构,为何再一次被行业“重点关注”?

热门文章

  1. C的|、||、、、异或、~、!运算(转)
  2. Asp.net中关于上传文件的各项基本操作
  3. golang杀死java_用Golang来保护Java程序-Go语言中文社区
  4. Winsock编程补遗
  5. webservice学习01:wsdl文档结构
  6. 轻松上云系列之二:其他云数据迁移至阿里云
  7. [网络流24题-6]孤岛营救问题
  8. C#绘制立体三维饼状图(超酷)
  9. json_encode 注意点
  10. php软件开发--nginx服务器(待补充)