COE协议报文解析

参考1:https://blog.csdn.net/ethercat_i7/article/details/53186941
参考2:https://blog.csdn.net/qq923433160/article/details/83781812
参考3: 工业以太网现场总线EtherCAT驱动程序设计及应用

1 COE协议报文总体结构


以COE(CANopen over EtherCAT)的SDO服务为例,EtherCAT帧格式如下图所示:


从图中可看出CANopen、EtherCAT和Ethernet这几个协议的大致关系。



2 EtherNET头解析

在这里插入图片描述

2.1 前同步信号

1、大小:7个字节,56位;
2、作用:用来使接收端的适配器在接收 MAC 帧时能够迅速调整时钟频率,使它和发送端的频率相同。前同步码为 7 个字节,1 和 0 交替,101010…1010。

2.2 帧开始定界符(SFD)

1、大小:1个字节,8位;
2、作用: 帧的起始符,为 1 个字节。前 6 位 1 和 0 交替,最后的两个连续的 1 表示告诉接收端适配器:“帧信息要来了,准备接收”。

2.3 目标地址

1、大小:6个字节,48位;
2、作用:接收帧的网络适配器的物理地址(MAC 地址),为 6 个字节(48 比特)。作用是当网卡接收到一个数据帧时,首先会检查该帧的目的地址,是否与当前适配器的物理地址相同,如果相同,就会进一步处理;如果不同,则直接丢弃。

2.4 源地址

1、大小:6个字节,48位;
2、作用:发送帧的网络适配器的物理地址(MAC 地址),为 6 个字节(48 比特)。

2.5 类型

1、大小:2个字节,16位;
2、作用:上层协议的类型。由于上层协议众多,所以在处理数据的时候必须设置该字段,标识数据交付哪个协议处理。例如,字段为 0x0800 时,表示将数据交付给 IP 协议;字段位0x88a4时,表示将数据交付给EtherCAT协议。

3 EtherCAT帧头解析(Frame Header)

在这里插入图片描述

3.1 EtherCAT报文长度(Lenth)

1、大小:11位;
2、作用:EtherCAT所有子报文数据长度总和。

3.2 保留位

1、大小:1位;
2、作用:保留位;

3.3 数据类型

1、大小:4位;
2、作用:标识“EtherCAT头”后面数据的类型:
0x01:EtherCAT DLPDU;
0x04:network veriable;
0x05:mailbox。
显然,在EtherCAT模式下“数据类型”值为0x01;

4 EtherCAT子报文解析(Datagram Header)

在这里插入图片描述

4.1 寻址及读写方式(cmd)

1、大小:1个字节,8位;
2、意义:命令;
3、作用:确定寻址方式及读写方式。参数具体意思,见下图。
在这里插入图片描述

4.2 索引(idx)

1、大小:一个字节,8位;
2、意义:索引;
3、作用:索引编码。

4.3 从站地址区(Addres)

1、大小:4个字节,32位;
2、意义:地址区;
3、作用:从站地址。

4.4 报文数据长度(Lenth)

1、大小:2个字节,16位,其中11位表示报文数据长度,4位保留,1位表示后续报文标识,如下图。
在这里插入图片描述
2、意义:长度;
3、作用:表示报文数据长度。

4.5 中断表示(IRQ)

1、大小:2个字节,16位;
2、意义:表示;
3、作用:中断到来标志。

5 邮箱头文件(Mailbox Header)

在这里插入图片描述

5.1 数据长度

1、大小:2个字节,16位;
2、作用:后面报文数据的长度;

5.2 地址

1、大小:2个字节,16位;
2、作用:主站到从站通讯时,为从站地址;从站到从站通讯时,为目的从站地址;

5.3 通道

1、大小:6位;
2、作用:保留;

5.4 优先级

1、大小:2位
2、作用:保留;

5.5 类型

1、大小:4位:
2、作用:邮箱类型,即后续数据的应用层类型。参数具体意义,如下图。
在这里插入图片描述

5.6 计数器 (Ctr)

1、大小:4位;
2、作用:用于重复检测的顺序编号,每个新的邮箱服务将加1(为了兼容老版本而只使用1~7)。

注意:实际应用中“5.5类型”和“5.6计数器”位置互换。

6 CoE帧头

在这里插入图片描述
如果应用协议是CoE,就是CoE帧头;协议是SoE,就是SoE帧头…(应用程类型参考5.5类型)。本文使用CoE协议,只介绍CoE帧头。

6.1 PDO 编号

1、大小:9位;
2、PDO 发送时的PDO序号;

6.2 保留

1、大小:3位;
2、作用:保留;

6.3 CoE 服务类型

1、大小:4位;
2、作用:标识CoE服务类型,具体参数含义,如下图。
在这里插入图片描述

7 标准CANopen数据帧

在这里插入图片描述

7.1 SDO 控制

1、大小:1个字节,8位;
2、作用:CANopen数据传输控制,具体参数意义如下图。
在这里插入图片描述

7.2 索引

1、大小:2个字节,16位;
2、作用:数据对象索引号;

7.3 子索引

1、大小:1个字节,8位;
2、作用:操作参数体子索引;

7.4 CANopen 数据(千呼万唤始出来啊)

1、大小:4个字节,32位;
2、作用:如果是快速传输,本部分内容为数据;如果是常规传输,本部分为传输数据对象的总字节数,如果本次传输的有效数据数目小于总数据长度,则后续有分段传输数据。

7.4 可选扩展数据

1、大小:1~1470个字节;
2、作用:常规传输的扩展数据,传输有效数据。

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值