EtherCAT数据包分析

安装EtherCAT数据包抓取环境

安装tshark

$ sudo apt-get install tshark

抓取数据包

$ sudo tshark -i eth1 -f "ether proto 0x88a4" -w ./ethercat.pcap

数据包解析

EtherCAT报文数据帧结构

在这里插入图片描述

  1. 目的地址: ff ff ff ff ff ff 6个ff说明主从站采用直连模式,如果是开放模式,即EtherCAT网段连接到一个标志的以太网交换机上,那这个地址为第一个从站的ISO/IEC 8802.3的MAC地址。
  2. 源地址: 01:01:01:01:01:01 ?eth1的MAC地址并不是
  3. 帧类型: 88a4 固定为0x88A4,如果使用UDP/IP协议有传输EtherCAT数据,需开放UDP端口0x88A4,如下图所示:
    在这里插入图片描述
  4. EtherCAT数据长度: 0x00d所有子报文长度总和,该数据长度为11位,发过来是完整的两字节小段模式,正确的排序是0x100d。Type: EtherCAT command(0x1)表示与从站通讯
    在这里插入图片描述

在这里插入图片描述

命令列表

寻址方式读写模式命令名称和编号解释WKC
空指令----NOP(0) No Operation没有操作0
顺序寻址读数据APRD(1) Auto Increment Read主站使用顺序寻址从从站读取一定长度数据,从站对地址加11
顺序寻址写数据APWR(2) Auto Increment Write主站使用顺序寻址向从站写入一定长度的数据,从站对地址加11
顺序寻址读写APWR(3) Auto Increment Write主站使用顺序寻址与从站交换数据,从站对地址加13
设置寻址读数据FPRD(4) Configured Address Read主站使用设置寻址从从站读取一定长度的数据1
设置寻址写数据FPWR(5) Configured Address Write主站使用设置寻址向从站写入一定长度的数据1
设置寻址读写FPRW(6) Configured Address Read Write主站使用设置寻址与从站交换数据3
广播寻址读数据BRD(7) Broadcast Read主站从所有从站的物理地址读取数据并做逻辑或操作,每个从站对地址加1与寻址到从站个数相关
广播寻址写数据BWR(8) Broadcast Write主站广播写入所有从站,每个从站对地址加1与寻址到从站个数相关
广播寻址读写BRW(9) Broadcast Read Write主站与所有从站交换数据,对读取的数据做逻辑或操作,每个从站对地址加1,一般不使用该命令与寻址到从站个数相关
逻辑寻址读数据LRD(10) Logical Memory Read读取的逻辑地址和从站设置FMMU一致时,读取一定长度的数据与寻址到从站个数相关
逻辑寻址写数据LWR(11) Logical Memory Write写入的逻辑地址和从站设置FMMU一致时,写入一定长度的数据与寻址到从站个数相关
逻辑寻址读写LRW(12) Logical Memory Read Write逻辑地址和从站设置FMMU一致时从站交换数据与寻址到从站个数相关
顺序寻址读,多重写ARMW(13) Auto Increment Read Multiple Write由从站读取数据,并写入以后所有从站相同的地址与寻址到从站个数相关
设置寻址读,多重写FRMW(14) Configured Read Multiple Write由从站读取数据,并写入以后所有从站相同的地址与寻址到从站个数相关

EtherCAT 寻址方式

在这里插入图片描述

顺序寻址:自动增量寻址

  • 从站地址由物理连接位置确定
  • 每个从站地址自动加1
  • 一般用于启动阶段,主站扫描硬件配置时
  • 主站为从站设定地址,从站无需手动设置地址
    在这里插入图片描述

设置寻址:固定寻址

  • 通常在硬件扫描配置阶段指定
  • 通过从站配置数据存储区加载,然后主站通过顺序寻址方式读取从站
  • 从站地址跟物理连接位置无关
  • 在掉电以后,固定地址会丢失

逻辑寻址

  • 前面介绍的顺序地址和设置寻址并不常用
  • 最常用的时逻辑寻址
  • 逻辑寻址模式下,整个32位地址空间都将作为地址值。整个网段内有4GB的地址空间可以被寻址
    在这里插入图片描述

逻辑寻址和FMMU

FMMU = 现场总线存储器管理单元

  • 用于映射本地地址空间和全局地址空间之间的地址空间
  • FMMU将逻辑地址转换为物理地址,逻辑地址最大4GB
  • FMMU寄存器的地址空间在EtherCAT规范中定义
  • 95%的应用,3各FMMU已经可以满足需求, MBoxState,Outputs,Inputs
  • 仅存在于从站,从而消除了主站中存储管理负担
  • 通常用于将过程数据映射到主站
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值