EtherCAT从入门到精通(7)

接前一篇文章:EtherCAT从入门到精通(6)

本文内容参考:

《工业以太网现场总线EtherCAT驱动程序设计与应用》 郇极 刘艳强 编著 北京航空航天大学出版社

工业以太网现场总线 EtherCAT 驱动程序设计及应用学习笔记_ethercat总线-CSDN博客

特此致谢!

三、EtherCAT协议详解

2. EtherCAT数据帧结构

前文书曾经讲过,EtherCAT数据直接使用以太网数据帧传输,数据帧使用帧类型0x88A4 。EtherCAT数据包括2个字节的数据头 和44~1498字节的数据 。数据区由一个或多个EtherCAT子报文 组成,每个子报文对应独立的设备或从站存储区域。如下图所示:

EtherCAT报文嵌入以太网数据帧

EtherCAT数据帧结构定义如下表:

名称 含义
目的地址 接收方MAC地址
源地址 发送方MAC地址
帧类型 0x88A4
EtherCAT头:长度 EtherCAT数据区长度,即所有子报文长度总和
EtherCAT头:类型 1 --- 表示与从站通信;其余保留
EtherCAT数据 各个子报文数据
FCS(Frame Check Sequence) 帧校验序列

EtherCAT子报文结构定义如下表:

名称 含义
命令 寻址方式及读写方式
索引 帧编码
地址区 从站地址
长度 报文数据区长度
R 保留位
M 后续报文标志
状态位 中断到来标志
数据区 子报文数据结构,用户定义
WKC 工作计数器

每个EtherCAT子报文包括子报文头、数据域和相应的工作计数器(WKC,Working Counter)。WKC记录了子报文被从站操作的次数,主站为每个通信服务子报文设置预期的WKC。发送子报文中的工作计数器初值为0,子报文被从站正确处理后,工作计数器的值将增加一个增量,主站比较返回子报文中的WKC和预期WKC来判断子报文是否被正确处理。WKC由ESC在处理数据帧的同时进行处理,不同的通信服务对WKC的增加方式不同。

也可以使用UDP/IP协议格式传输EtherCAT数据,使用UDP端口0x88A4(34980)。具体帧格式如下图所示:


EtherCAT数据帧嵌入UDP数据帧

更多内容请看下回。

相关推荐
蓝天居士2 小时前
EtherCAT从入门到精通(10)
机器人·嵌入式·ethercat
敢敢のwings4 小时前
Long-WAM 深度解析:机器人怎样记住过去、预测未来,并及时完成下一段动作
机器人
不脱发的程序猿6 小时前
GD32串口数据收进内存之后DMA如何处理?
单片机·嵌入式硬件·dma·嵌入式·串口通信·gd32
敢敢のwings8 小时前
从 VPP 到 VPP2:让机器人看懂未来,再把未来变成动作
机器人
小lo想吃棒棒糖9 小时前
把机器人训练从 GPU 搬到昇腾 NPU:启元 Q1 起身动作 PPO 训练全记录
python·机器人·昇腾·启元机器人
天树星智源10 小时前
机器人 VLA 一个模型同时动手和动脑:动作参数只占 0.21%,万级扰动任务 85.9%
论文阅读·机器人·vla·全身控制
lisw0510 小时前
基于神经网络的机器人导航系统的设计与执行!
神经网络·机器人·自动化
敢敢のwings12 小时前
机器人如何通过触觉认识物体:从材质分类到接触状态判断
分类·机器人·材质
lishen220 小时前
06 · 我把开发流程拆成了 AI 能执行的技能
嵌入式