EtherCAT 逐帧解析状态机切换过程(初始清零阶段)

第一阶段总结:主站通过一系列广播写(BWR) 和广播读(BRD) 操作,完成从站通信基础配置与状态校准。

下面逐帧解析初始化报文:

1、BWR 报文向地址101(对应 DL control 寄存器)发送设置端口 AUTO LOOP模式,随后通过 BRD 报文读取从站状态:

BWR发:

回:

BRD发:

回:

101地址对应DL control寄存器:

2、BWR 报文发送指令,要求所有从站状态统一设置为 Init:

BWR 发:

回:

120是AL状态控制寄存器地址:

3、BWR 报文写 0x500 寄存器,全部置位为 0,配置 ECAT 帧访问 EEPROM 权限:

BWR 发:

回:

对应寄存器:地址 0x500(功能:开放 EtherCAT 帧对 EEPROM 的访问权限)

4、BWR 报文写 0x200 系列寄存器,0x201(ECAT 中断屏蔽寄存器)写入数据 0004,开放 DL 状态中断:

BWR 发:

回:

对应寄存器:地址 0x201 → ECAT 中断屏蔽寄存器(功能:仅启用 DL 状态中断)

5、BWR 报文写 0x10 寄存器,配置从站节点地址:

BWR 发:

回:

对应寄存器:地址 0x10(功能:分配从站唯一通信节点地址)

6、BWR 报文写 0x300 寄存器,清零 RX ERR(接收错误)寄存器:

BWR 发:

回:

对应寄存器:地址 0x300 → RX ERR 寄存器(功能:清除接收错误计数)

7、BWR 报文写 0x600 寄存器(FMMU 配置)、0x800 寄存器(SM 配置):

BWR 发:

回:

对应寄存器:地址 0x600 → FMMU 配置寄存器;地址 0x800 → SM 配置寄存器(功能:初始化 FMMU 内存映射、SM 同步管理器参数)

8、BWR 报文写 0x910 寄存器,清零 DC(分布式时钟)同步寄存器:

BWR 发:

回:

对应寄存器:地址 0x910 → DC 同步寄存器(功能:清除 DC 同步相关初始偏差)

9、BWR 报文写 0x990 寄存器(sync0、sync1 时间同步控制器清零)、0x981 寄存器(时间同步辅助配置):

BWR 发:

回:

对应寄存器:地址 0x990 → sync0/sync1 时间同步控制器;地址 0x981 → 时间同步辅助寄存器(功能:初始化时间同步控制参数)

10、BWR 报文写 0x930 寄存器,调节通信带宽:

BWR 发:

回:

对应寄存器:地址 0x930(功能:配置 EtherCAT 通信带宽参数)

11、BWR 报文写 934 寄存器,调节时钟偏差平均寄存器:

BWR 发:

回:

对应寄存器:地址 934 → 时钟偏差平均寄存器(功能:优化时钟同步精度)

12、BWR 报文写 103 寄存器,设置忽略站点别名:

BWR 发:

回:

===================BWR广播写(初始阶段)到此结束============================

相关推荐
zyu678 小时前
03-Docker存储和网络
网络·docker·容器
Arciab10 小时前
51单片机_LCD1602液晶显示
网络·嵌入式硬件·51单片机
DX_水位流量监测11 小时前
大坝安全监测之渗流渗压位移监测设备技术解析
大数据·运维·服务器·网络·人工智能·安全
电商API&Tina11 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
童话的守望者11 小时前
dc8靶场通关
网络
寂寞恋上夜12 小时前
异步任务怎么设计:轮询/WebSocket/回调(附PRD写法)
网络·人工智能·websocket·网络协议·markdown转xmind·deepseek思维导图
Tao____12 小时前
基于Ruoyi开发的IOT物联网平台
java·网络·物联网·mqtt·网络协议
chao_66666613 小时前
解决 PowerShell 中文乱码问题
网络·学习·powershell
喵了meme13 小时前
Linux学习日记24:Linux网络编程基础
linux·网络·学习
Yan-英杰14 小时前
BoostKit OmniAdaptor 源码深度解析
网络·人工智能·网络协议·tcp/ip·http