EtherCAT主站写从站EEPROM抓包分析

编程入门 行业动态 更新时间:2024-10-26 18:19:35

EtherCAT<a href=https://www.elefans.com/category/jswz/34/1721321.html style=主站写从站EEPROM抓包分析"/>

EtherCAT主站写从站EEPROM抓包分析

0 工具准备

1.EtherCAT主站
2.EtherCAT从站(本文使用步进电机驱动器)
3.Wireshark

1 抓包分析

1.1 报文总览

本文主站设置从站1字地址为0的EEPROM数据为0x3C00(设置完毕后请还原字0的EEPROM数据),使用Wireshark抓取到的报文如下:

1.2 EEPROM写入阶段1:将EEPROM访问控制权设置为主站


这一阶段涉及的寄存器包括0x0500、0x0501,有关这2个寄存器的描述如下:
将EEPROM访问控制权设置为主站的操作分为2步:
(1)强制PDI释放EEPROM访问控制权

主站通过FPWR配置写报文设置0x0500.1为1,该位设置为1时将复位0x0501.0为0。这一操作可以强制清除0x0501.0为0,从PDI手中夺取EEPROM访问控制权。
(2)主站接管EEPROM访问控制权

主站通过FPWR配置写报文设置0x0500.0为0,由主站接管EEPROM的访问控制权。

1.3 EEPROM写入阶段2:等待EEPROM接口空闲


这一阶段涉及的寄存器为0x0502的bit15:

主站不断发送FPRD配置读报文查看0x0502寄存器bit15状态,一直等到EEPROM接口空闲。

1.4 EEPROM写入阶段3:将数据写入到EEPROM数据寄存器


这一阶段涉及的寄存器是0x0508:

主站通过FPWR设置写报文设置0x0508EEPROM数据寄存器值为0x3C00:

1.4 EEPROM写入阶段4:发送写入EEPROM命令(包括写入地址)


这一阶段涉及的寄存器为0x0502的bit0、bit9以及0x0504-0x0507寄存器:



主站通过FPWR配置写报文设置0x0502.0=1、0x0502.9=1,这2位必须由一个数据帧写完成,表示主站要进行写操作。设置寄存器0x0504-0x0507为0x0表示EEPROM要写入的字地址为0x0:

1.6 EEPROM读取阶段5:等待EEPROM接口空闲(等待ESC完成EEPROM写入操作)


这一阶段涉及的寄存器为0x0502的bit13、bit15:


主站不断发送FPRD配置读报文,读取0x0502寄存器bit15查看EEPROM接口是否空闲,等待ESC完成EEPROM数据写入工作:

当EEPROM接口空闲时主站会检查0x0502寄存器bit13是否为置位,如果置位则表示EEPROM无应答或命令无效,否则表示写入成功。

2 总结

EtherCAT主站写从站EEPROM数据可以分为以下5个步骤:
(1)主站夺取EEPROM访问控制权
(2)等待EEPROM接口空闲
(3)将数据写入到EEPROM数据寄存器
(4)发送写入EEPROM命令(包括写入地址)
(5)等待EEPROM接口空闲(等待ESC完成EEPROM写入操作)

更多推荐

EtherCAT主站写从站EEPROM抓包分析

本文发布于:2023-11-16 14:31:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1625041.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:主站   EtherCAT   EEPROM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!