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广播写(初始阶段)到此结束============================

相关推荐
沐芊屿19 小时前
华为交换机配置M-LAG
服务器·网络·华为
会员源码网19 小时前
交易所源码搭建全教程
网络
枷锁—sha19 小时前
【SRC】越权漏洞检测
运维·服务器·网络·安全·网络安全·系统安全
qqssss121dfd19 小时前
STM32H750XBH6的ETH模块移植LWIP
网络·stm32·嵌入式硬件
酣大智20 小时前
参考模型--物理层
网络
B2_Proxy21 小时前
IP 来源合规性,正在成为全球业务的隐性门槛
网络·爬虫·网络协议·安全
MMME~1 天前
Ansible Playbook高效自动化实战指南
网络·自动化·ansible
数据安全科普王1 天前
从 HTTP/1.1 到 HTTP/3:协议演进如何改变 Web 性能?
网络·其他
舰长1151 天前
linux 实现文件共享的实现方式比较
linux·服务器·网络
学***54231 天前
如何轻松避免网络负载过大
开发语言·网络·php