CANopen NWT,SDO,HeartBeat报文协议

  1. 什么是CANopen?

CANopen是一个基于CAN总线的“高层协议”,这意味着CAN总线(ISO 11898)就像集装箱的卡车一般作为CANopen信息的“运输工具”。 CAN只是实现了带有11位CAN ID、远程传输(RTR)位和64个数据位(与更高层的协议相关)的字段的帧的传输。CAN总线在CANopen中的作用与在J1939协议相同。而CANopen则实现了OSI模型的第七层,并能够适应除CAN以外的其他数据链路层协议。

  1. CANopen 设备结构

下图为 CANopen 设备结构。 CANopen 协议通常分为用户应用层、对象字典以及通信三个部分。其中最为核心的是对象字典,描述了应用对象和 CANopen 报文之间的关系。CANopen 通信其定义了 CANopen 协议通信规则以及与 CAN 控制器驱动之间对应关系。用户应用层是用户根据实际的需求编写的应用对象,

3.对象字典 OD

所谓的对象字典就是一个有序的对象组, 描述了对应 CANopen 节点和它的网络行为的所有参数。每个对象采用一个 16 位的索引值来寻址,为了避免数据大量时无索引可分配,所以在某些索引下也定义了一个 8 位子索引值。对象字典索引区域定义如下:

4.CANopen报文

CANOpen协议报文分类:

NMT 网络管理报文,作用是管理网络,切换节点的状态。一般由主站发送NMT网络管理报文。

SDO 服务数据对象报文,作用是设置设备参数,或者是一些关键数据的传输。一般由主站发起SDO报文,从站应答SDO报文。从站也可以发起SDO,主站响应,比如关键数据的传输。

PDO 过程数据对象报文,作用是传输一些设备的过程数据,比如传输温度,速度等等。主站和从站都会发送。

EMCY 紧急报文,作用是传输设备的故障信息。主站和从站都会发送。

SYNC 同步报文,作用是同步数据,用来同步从站的TPDO数据。一般由主站发送。比如从站的TPDO传输类型是在同步模式下,当从站收到设定次数的SYNC报文后,从站会发送TPDO。这个在后续的文章中详细阐述。

NODE GUARDING 节点保护报文,作用是主站请求从站的状态,主站询问,从站应答。这种模式逐渐已被淘汰,因为太占CAN总线网络带宽。

HeartBeat 心跳报文,作用是设备主动发送心跳,表示自己在线。主站和从站都可以发送。

我们今天主要讨论网络管理报文、SDO报文、心跳包文.

 CANopen 预定义了强制性的缺省标识符(CAN-ID)分配表。 11

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值