EtherCAT EEPROM详解

一、EEPROM功能

在这里插入图片描述

EtherCAT从站控制器(EtherCAT Slave Controller,ESC)使用EEPROM(带电可擦可编程只读存储器)来存储设备相关信息,这个存储器也称为从站信息接口(Slave Information Interface,SII)。
EEPROM中存储的信息是由厂商写入的,用于描述从站设备。EEPROM的容量为1Kbit-4Mbit,取决于ESC规格。在用户使用时,可以通过ESC中的EEPROM控制寄存器来读写其中的信息。此外,在设备上电或复位时,ESC会自动从EEPROM中的ESC寄存器配置区读取数据写入相应寄存器完成ESC配置。

二、EEPROM信息存储结构

EEPROM中存储的信息组织结构如下图所示。

在这里插入图片描述

下图展示的是一个EtherCAT电机设备的EEPROM信息,不同色块区分不同类型的信息。
EEPROM使用字地址。需要注意的是,EEPROM存储数据使用的是小端字节序,即低地址存放低字节。因此图中第一个字的数据应为0x0c08,其他同理。

在这里插入图片描述

接下来具体介绍各部分信息。

1、基本信息

EEPROM中字0-64是必须的基本信息,具体如下:

(1)ESC寄存器配置区

字0-7,由ESC在上电或复位后自动读取后写入相应寄存器,并检查校验和。

在这里插入图片描述

(2)产品标识区

字8-15,包括厂商标识(VendorID)、产品码(ProductCode)、版本号(RevisionNo)和序列号(SerialNo),各占两个字。

在这里插入图片描述

(3)硬件延时

字16-19,描述端口时延和处理时延等信息。

(4)引导状态下邮箱配置

字20-23。

在这里插入图片描述

(5)标准邮箱通信SM配置

字24-27。

在这里插入图片描述

(6)邮箱协议类型

字28。

在这里插入图片描述

该字段可设置的值如下,用于表示支持的协议类型。

在这里插入图片描述

(7)保留字段

字29-61,全置0。

在这里插入图片描述

(8.)EEPROM容量及版本

字62、63。

在这里插入图片描述

2、分类附加信息

基本信息后面的部分是分类附加信息,包含可选的从站信息。
不同于上面基本信息的固定信息长度,分类附加信息的长度是不固定的。因此每类信息开头的第一个字都用来表示信息类型,第二个字用来表示信息长度。
下表列出了用来表示不同信息类型的值。因为是可选信息,所以EEPROM中不一定含有下表中的所有类型。

在这里插入图片描述

例如下图截取了EtherCAT电机设备EEPROM的文本字符串信息部分,第一个字0x000a对应上表中的STRINGS类型,第二个字0x011e表示文本字符串信息长度为286字(不包括第一、二个字)。

在这里插入图片描述

(1)字符串信息

字符串信息表示方法如下表。

在这里插入图片描述

例如下面截取的文本字符串信息,从第三个字开始是信息内容。第三个字的第一个字节用于表示字符串数量,0x24即一共有36个字符串,之后一个字节表示第一个字符串的长度,0x09即第一个字符串长度为9,再往后9个字节用于表示第一个字符串内容,即“2DM522-EC”。后面的内容以此类推。

在这里插入图片描述

字符串信息中的字符串会在其他类型的信息中被引用,例如在设备信息中就会引用某个字符串来表示某个信息。

(2)设备信息

设备信息表示方法如下表。

在这里插入图片描述
在这里插入图片描述

例如下图截取的设备信息。从第三个字开始的第一个字节数据为0x02,意为引用字符串信息中的第二个字符串“2DM Slave”来表示Group Information。

在这里插入图片描述

(3)FMMU信息

FMMU信息表示方法如下表。

在这里插入图片描述

每个字节描述一个FMMU,例如下面截取的FMMU信息,一共包含三个FMMU。FMMU0用于输出,FMMU1用于输入,FMMU2用于同步管理器状态。最后一个字节0xff用于填充空余位。

在这里插入图片描述

(4)同步管理器信息

同步管理器信息表示方法如下表。

在这里插入图片描述

例如下图截取的同步管理器信息,从第三个字开始每四个字描述一个同步管理器信息,一共有四个同步管理器SM0、SM1、SM2、SM3。
以SM0为例,物理起始地址为0x1000,长度为0x80,控制寄存器为0x26,用于邮箱输出。

在这里插入图片描述

(5)PDO信息

PDO信息描述了所有的PDO映射对象信息,以及PDO映射对象中包含的PDO信息。
PDO映射对象信息描述方式如下方第一个表,PDO信息描述方式如下方第二个表。

在这里插入图片描述
在这里插入图片描述

例如下图截取的TxPDO信息,按照上面两个表对其进行解析标注。

在这里插入图片描述

(6)分布时钟信息

分布时钟信息表示方法如下表。

在这里插入图片描述

例如下图截取的分布时钟信息。

在这里插入图片描述

该设备的EEPROM中不涉及FMMUX信息和SyncUnit信息,故本文只放出官方文档中描述这两类信息的表格。

(7)FMMUX信息

在这里插入图片描述

(8)SyncUnit信息

在这里插入图片描述

三、EEPROM信息读取过程

一般在EtherCAT主站开启后,就会开始读取连接的从站设备的EEPROM。主站会发送FPWR类型数据帧来操作从站设备的寄存器,从而控制ESC读取EEPROM信息并写入寄存器中,然后主站再发送FPRD类型数据帧来读取寄存器中的信息。

在这里插入图片描述

需要使用的寄存器地址如上表,读取的具体过程如下所述。

(1) 主站首先发送FPWR数据帧,向寄存器0x0500地址写入数据0x00

在这里插入图片描述

0x0500地址的第0位和第1位的用途如下图,写入数据0x00后表示取消PDI对EEPROM的控制,由主站对EEPROM控制。

在这里插入图片描述

(2) 然后发送FPWR数据帧,向寄存器0x0502:0x0503地址设置参数,向寄存器0x0504:0x0507地址写入需要读取的EEPROM字地址。本文以读取EEPROM中的版本号信息为例描述读取过程,版本号信息在EEPROM中的起始字地址为0x0c。
(需要注意的是主站开启后会将从站设备的EEPROM信息从字地址0x00开始依次全部读取一遍,直到读取到数据是结束标志0xffff才停止读取。)

在这里插入图片描述

上图中,对0x0502:0x0503地址写入数据为0x0180,转换为二进制是0000 0001 1000 0000,第15位到第0位的顺序是从左到右,该地址段的各个数据位的作用如下表。第6位写入0,表示读取EEPROM信息时连续读取4个字节,即两个字;第10-8位分别写入0、0、1,表示读取EEPROM信息。向0x0504地址写入数据为0x000c,表示要从EEPROM信息的第12个字开始读取,且读取时会连续读取四个字节,所以会读取第12、13个字,即版本号信息。

在这里插入图片描述
在这里插入图片描述

(3) 连续向从站设备发送FPRD数据帧,读取寄存器0x0502:0x050b地址数据,根据0x0502:0x0503地址数据判断ESC是否已读取到所需的EEPROM信息并写入了寄存器0x0508:0x050b地址中。
如下图中,从0x0502:0x0503地址读取到的数据是0x8160,转换为二进制是1000 0001 0110 0000。因此当前EEPROM接口状态忙,EEPROM信息还未装载完成,主站还需要继续发送FPRD数据帧直到状态改变。

在这里插入图片描述

下图是上图的后一个帧,在该帧中从0x0502:0x0503地址读取到的数据是0x0060,转换为二进制是0000 0000 0110 0000。因此得知当前EEPROM接口状态空闲,EEPROM信息装载完成,并且能够看到从寄存器0x0508:0x050b地址读取的数据相对上一个帧发生了变化。

在这里插入图片描述

到此完成了对EEPROM第12个、第13个字的读取,得到了版本号信息0x20190620。
之后会继续重复步骤(2)和(3),将EEPROM中的所有设备信息全读取一遍,直到读到结束标志0xffff。

  • 23
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
EtherCAT (Ethernet for Control Automation Technology)是一种高性能的实时以太网通信协议,用于自动化控制系统中的实时数据传输。EtherCAT是一种开放的标准,它基于以太网技术,具有低延迟、高实时性、高带宽和高可靠性等特点。 EtherCAT使用专有的通信协议,称为SOEM (Simple Open EtherCAT Master)。SOEM是一个用于EtherCAT主站(也称为主控设备)开发的开源库。它提供了一套简单易用的API,使得开发人员能够轻松地实现EtherCAT设备的主动驱动和控制。 SOEM库提供了与EtherCAT从站(也称为从控设备)进行通信的功能。它能够检测和自动配置连接在EtherCAT总线上的所有从站设备,并且可以实时地传输数据。通过SOEM,主站可以控制和监视从站设备,以实现自动化系统的高效运行。 EtherCAT和SOEM的组合为实时控制系统的设计和开发提供了许多优势。首先,EtherCAT具有低延迟和高实时性,可以在毫秒级的延迟下传输实时数据。这使得实时控制系统能够快速响应变化,并实现高精度的运动控制。 其次,EtherCAT具有高带宽,能够同时传输多个数据流。这使得多个设备可以并行进行通信,提高了系统的整体性能。此外,EtherCAT支持热插拔功能,从而可以动态添加或删除从站设备,而无需停机。 最后,SOEM作为一个开源库,提供了灵活和可扩展的开发平台。开发人员可以根据实际需求自定义和扩展SOEM库的功能,并与其他开源工具和库进行整合。这为自动化控制领域的研究和创新提供了更多的可能性。 综上所述,EtherCAT和SOEM是一对强大的工具,可用于实现高性能和实时性的自动化控制系统。它们的特性使得工程师和开发人员能够更加灵活地设计和部署控制系统,提高系统的可靠性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值