从站控制器硬件:常见ESC芯片(如ET1100、ET1200)介绍、硬件接口设计

EtherCAT从站控制器的核心是ESC(EtherCAT Slave Controller)芯片。它承担着处理EtherCAT数据帧、管理FMMU与SM通道、提供过程数据接口等关键任务。理解ESC芯片的内部架构与硬件接口设计,是从站硬件开发的第一步,也是后续固件与驱动调试的基础。

3.1 核心原理:ESC在从站硬件中的位置与作用

ESC芯片位于从站的物理层PHY与从站应用层MCU(或专用ASIC)之间。从站网络侧接收到的差分信号经PHY解码为MII数据,送入ESC;ESC根据内部配置的FMMU(现场总线内存管理单元)和SM(同步管理器)逻辑,将数据帧中属于本站的数据提取出来,存入DPRAM(双口RAM)的过程数据区。应用层MCU通过并行或SPI接口访问DPRAM,完成数据交换。

ESC芯片的核心价值在于:它将以太网帧处理、CRC校验、环回转发等实时任务固化在硬件中,不占用MCU资源,从而保证EtherCAT的纳秒级同步与微秒级周期通信性能。下图展示了ESC在从站硬件中的典型位置与数据通路。

ESC芯片在EtherCAT从站中的位置与数据通路 EtherCAT 主站帧 PHY 1 100BASE-TX MII接口 ESC 芯片 ET1100 / ET1200 FMMU SM DPRAM 过程数据区 PHY 2 100BASE-TX MII接口 EtherCAT 下一从站 应用层 MCU SPI / 并行接口 从站应用逻辑 PDI接口 EEPROM 配置存储 RUN / ERR LED 3.3V / 1.8V电源

从图中可以看出,ESC芯片对外提供两组MII接口分别连接两个PHY,实现链路的“输入-处理-输出”转发。应用层MCU通过PDI(过程数据接口)访问ESC内部的DPRAM,而EEPROM则用于保存ESC的配置信息(如站地址、FMMU/SM配置等)。

3.2 常见ESC芯片:ET1100与ET1200对比

目前工业领域最常用的ESC芯片是德国Beckhoff公司的ET1100和ET1200。两者在引脚数、接口类型和应用场景上有所差异,选型时需根据从站的功能复杂度与成本要求权衡。

特性 ET1100 ET1200
封装/引脚 BGA128 / QFP128 QFN48 / QFP48
PDI接口 并行(8/16位)、SPI、I²C SPI、I²C(无并行接口)
FMMU数量 8个 3个
SM通道数 8个 4个
过程数据RAM 8 KB 1 KB
PHY接口 2×MII(支持环网) 2×MII(支持环网)
典型应用 伺服驱动器、协议转换网关、复杂IO站 紧凑型IO模块、传感器/阀岛、简单从站

ET1100适合需要较大过程数据量、多SM通道或并行接口的场合,例如伺服驱动器需要实时交换位置、速度、转矩等大量参数。ET1200则面向小型化、低成本从站,其SPI接口足以满足普通数字量IO或简单模拟量采集的需求。

3.3 硬件接口设计要点

ESC芯片的硬件接口设计主要包括网络侧PHY接口、应用侧PDI接口、配置EEPROM接口以及电源与时序电路。以下分别说明各部分的工程要点。

3.3.1 网络侧PHY接口设计

每个从站需要两个PHY芯片(或一个双口PHY)分别连接IN口和OUT口。PHY与ESC之间通过MII接口连接,包括TXD[3:0]、RXD[3:0]、TX_EN、RX_DV、TX_CLK、RX_CLK等信号。设计时需注意:

  • 时钟源选择:PHY的TX_CLK必须与ESC的时钟同源,通常由25MHz晶振经PHY内部PLL产生,ESC侧需配置为从PHY接收时钟。
  • MDIO管理接口:用于读写PHY寄存器,建议将PHY地址配置为不同的值(如IN口PHY地址=0,OUT口PHY地址=1),便于软件区分。
  • 网络变压器:PHY与RJ45之间必须接入1:1网络变压器,用于电气隔离和共模抑制,中心抽头按PHY数据手册要求接电源或电容到地。
// MII接口信号连接示例(ET1100与PHY KS8721BL)
ET1100_MII0_TXD[3:0]  -> PHY1_TXD[3:0]
ET1100_MII0_TX_EN     -> PHY1_TX_EN
ET1100_MII0_RXD[3:0]  <- PHY1_RXD[3:0]
ET1100_MII0_RX_DV     <- PHY1_RX_DV
ET1100_MII0_TX_CLK    <- PHY1_TX_CLK (25MHz)
ET1100_MII0_RX_CLK    <- PHY1_RX_CLK
PHY1_MDIO             -> ET1100_MDIO (通过上拉电阻)
PHY1_MDC              <- ET1100_MDC

3.3.2 应用侧PDI接口设计

PDI接口的选择取决于MCU的资源与数据吞吐需求。ET1100支持并行接口和SPI,ET1200仅支持SPI/I²C。以SPI为例,ESC作为SPI从设备,MCU作为主设备。设计时需注意:

  • SPI模式:ET1100/ET1200的SPI接口支持Mode 0(CPOL=0,CPHA=0)和Mode 3(CPOL=1,CPHA=1),需与MCU的SPI配置一致。
  • 中断信号:ESC的IRQ输出应连接到MCU的外部中断引脚,用于通知MCU有新的过程数据到达或事件发生。
  • 同步信号:若从站需要与主站同步(如DC模式),ESC的SYNC0/SYNC1输出应连接到MCU的定时器输入或PWM触发引脚。
设计提示:当使用SPI接口时,建议将SPI时钟频率设置在10 MHz以下,并确保PCB走线长度尽量短(< 20 mm),以减少信号反射和串扰。对于并行接口,需注意数据线等长布线,避免建立/保持时间违例。

3.3.3 EEPROM配置电路

ESC上电后会自动读取外部EEPROM中的配置数据,包括站地址、FMMU/SM设置、PDI接口类型等。EEPROM通过I²C接口连接,地址通常为0x50(A0=0)。设计时需注意:

  • EEPROM容量建议不小于16 Kbit(如AT24C16),以容纳完整的配置信息。
  • I²C总线上拉电阻取2.2 kΩ~4.7 kΩ,SCL/SDA走线远离高频信号。
  • 若EEPROM内容为空或损坏,ESC将使用默认配置(站地址=0,PDI=SPI),此时从站无法被主站正常识别。

3.4 案例:基于ET1200的8路数字量输入从站设计

以一个典型的8路数字量输入从站为例,说明硬件接口设计的完整流程。该从站采用ET1200作为ESC,MCU选用STM32G0系列,通过SPI接口与ESC通信。

硬件架构如下:

  1. 网络侧:IN口接PHY1(KSZ8081),OUT口接PHY2(KSZ8081),两PHY的MII接口分别连接ET1200的MII0和MII1。
  2. 应用侧:STM32G0的SPI1连接ET1200的PDI接口(SPI从模式),ET1200的IRQ输出接STM32的PA0(外部中断)。
  3. 输入采集:8路24V数字量输入经光耦隔离后,接入STM32的GPIO(如PB0~PB7),MCU轮询读取并映射到过程数据输出缓冲区。
  4. EEPROM:AT24C02连接ET1200的I²C接口,保存站地址和SM配置。

在固件开发中,MCU上电后首先通过SPI读取ESC的AL控制寄存器,确认ESC处于OP状态后,再周期性读取SM2(输出邮箱)和SM3(输入邮箱)的数据。数字量输入状态通过ESC的FMMU映射到过程数据区,主站即可通过EtherCAT帧实时获取8路输入状态。

3.5 常见误区与设计复盘

误区1:PHY时钟配置错误导致链路不通。 很多初学者将ESC的时钟配置为内部自振,而PHY的TX_CLK与RX_CLK不同步,导致MII接口数据采样错误。正确做法是:ESC的MII时钟必须由PHY提供,且两个PHY的时钟频率必须一致(均为25 MHz)。
误区2:忽略EEPROM的I²C地址配置。 ET1100/ET1200的EEPROM地址引脚A0、A1、A2必须正确接高/低电平,否则ESC无法找到EEPROM,导致上电后使用默认配置,站地址为0,无法被主站寻址。

设计复盘要点:

  • 原理图设计完成后,应逐项核对ESC数据手册中的引脚功能表,特别是复用引脚(如PDI接口与配置引脚共用的情况)。
  • PCB布局时,ESC芯片应尽量靠近两个PHY,MII信号线长度差控制在±5 mm以内,避免高速信号时序偏差。
  • 上电调试时,先用示波器测量PHY的TX_CLK和RX_CLK波形,确认时钟正常后再检查ESC的AL状态寄存器,逐步排查链路问题。
  • 建议在硬件调试阶段预留ESC的调试串口或JTAG接口,便于读取内部寄存器状态。

通过以上设计流程,可以构建一个稳定可靠的EtherCAT从站硬件平台。ESC芯片的选型与接口设计直接决定了从站的性能上限和开发复杂度,在实际项目中应结合通信周期、数据量、成本等因素综合决策。