3. EEPROM基础知识
在EtherCAT从站设备中,EEPROM并不是一个可有可无的“配件”,而是设备身份与配置信息的核心载体。从站上电后,主站首先通过ESC(EtherCAT Slave Controller)读取EEPROM中的信息,才能识别设备类型、PDO映射、同步管理器配置以及厂商自定义参数。因此,理解EEPROM的存储原理、I2C总线接口以及EtherCAT从站EEPROM的物理结构与访问方式,是掌握设备配置与故障排查的基础。
一、EEPROM存储原理
EEPROM(Electrically Erasable Programmable Read-Only Memory)即电可擦除可编程只读存储器。其基本存储单元是浮栅MOS管,通过向浮栅注入或移除电荷来表示“0”或“1”。与RAM不同,EEPROM在断电后仍能保持数据,因此适合存放设备出厂参数、序列号、配置字等需要长期保存的信息。
EEPROM的写入过程通常需要先擦除再写入,且擦写次数有限,典型寿命在10万到100万次之间。写入速度远低于读取速度,因此在实际使用中应避免频繁写操作。EtherCAT从站EEPROM一般容量较小,常见为1 Kbit、2 Kbit、4 Kbit或8 Kbit,按字节寻址,支持随机读取和按页写入。
二、I2C总线接口
EtherCAT从站EEPROM通过I2C总线与ESC连接。I2C是一种两线制串行总线,由SCL(串行时钟)和SDA(串行数据)组成,支持多设备挂载。ESC作为I2C主设备,EEPROM作为从设备,通过7位从机地址进行寻址。标准I2C EEPROM的从机地址通常为1010xxx,其中低三位由硬件引脚A2/A1/A0决定。
I2C通信的基本时序包括起始条件、从机地址传输、应答位、数据字节传输和停止条件。EEPROM内部采用字地址寻址,访问时需要先发送字地址,再读取或写入数据。对于容量大于2 Kbit的EEPROM,字地址需要两个字节;小容量器件则使用一个字节。
I2C读EEPROM典型时序:
START → 从机地址+W → ACK → 字地址高字节 → ACK
→ 字地址低字节 → ACK → START → 从机地址+R → ACK
→ 数据字节 → NACK → STOP
ESC内部集成了I2C主控制器,主站通过ESC寄存器接口间接访问EEPROM。这种方式称为“ECAT访问”,不需要主站直接操作I2C引脚,而是由ESC硬件完成时序生成与数据搬运。
三、EtherCAT从站EEPROM的物理结构
EtherCAT从站EEPROM的存储空间按字(Word,16位)组织,前几个字具有固定含义,称为“配置区”或“信息区”。典型结构如下:
| 字地址 | 内容 | 说明 |
|---|---|---|
| 0x0000 | 配置区第一个字 | 包含PDI类型、设备类型等基础信息 |
| 0x0001 | 配置区第二个字 | 包含EEPROM容量、版本等 |
| 0x0002 | 校验和 | 对配置区进行校验 |
| 0x0003 | 厂商ID | 设备制造商标识 |
| 0x0004 | 产品代码 | 设备型号标识 |
| 0x0005 | 版本号 | 设备版本 |
| 0x0006 | 序列号 | 设备唯一编号 |
| 0x0007 | 保留 | — |
| 0x0008起 | SM配置、FMMU配置、PDO映射等 | 由主站读取并配置从站 |
其中,配置区前7个字(0x0000~0x0006)是EtherCAT规范强制定义的,主站必须能够正确读取。若校验和错误或厂商ID、产品代码不匹配,主站可能拒绝该从站进入OP状态。
四、EEPROM的访问方式
EtherCAT从站EEPROM的访问方式主要有三种:
- ESC寄存器访问:主站通过读写ESC的EEPROM控制寄存器(如0x0500~0x050F)发起I2C传输,ESC自动完成对EEPROM的读写。这是最常用的方式。
- PDI访问:部分从站控制器允许PDI(过程数据接口)侧微控制器直接访问EEPROM,用于设备自身读取配置或写入参数。
- 外部编程器访问:在生产或维修阶段,可通过I2C编程器直接连接EEPROM引脚进行烧录,不经过ESC。
主站通过ESC寄存器访问EEPROM时,典型流程为:写EEPROM地址寄存器→写控制寄存器启动读操作→轮询状态寄存器→从数据寄存器读取数据。该过程由ESC硬件自动完成I2C时序,主站只需操作寄存器。
主站读取EEPROM字地址0x0003(厂商ID)示例:
1. 写0x0502 = 0x0003 // EEPROM地址
2. 写0x0500 = 0x0100 // 启动读,1个字
3. 轮询0x0500 bit0 // 等待BUSY清零
4. 读0x0508 // 读取厂商ID低字
5. 读0x050A // 读取厂商ID高字
五、案例与常见误区
某设备在EtherCAT主站扫描时显示“EEPROM校验和错误”,从站无法进入OP状态。排查发现EEPROM为新片,未烧录配置区。使用I2C编程器写入正确的厂商ID、产品代码和校验和后,设备正常识别。这说明EEPROM配置区是EtherCAT从站正常工作的前提。
常见误区包括:认为EEPROM可以随意频繁写入;忽略I2C上拉电阻导致通信失败;将不同容量EEPROM的字地址长度混淆;以及未正确计算校验和。实际调试中,应优先确认EEPROM供电、I2C上拉、从机地址和配置区内容。
总结来看,EEPROM是EtherCAT从站与主站建立信任关系的“身份证”。掌握其存储原理、I2C接口时序、物理结构布局以及ESC寄存器访问方式,才能在设备配置、故障诊断和批量生产中做到心中有数。实际工程中,建议在设备出厂前统一烧录并校验EEPROM配置区,避免现场因校验和错误导致从站无法上线。