从站控制器硬件:常见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芯片对外提供两组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触发引脚。
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通信。
硬件架构如下:
- 网络侧:IN口接PHY1(KSZ8081),OUT口接PHY2(KSZ8081),两PHY的MII接口分别连接ET1200的MII0和MII1。
- 应用侧:STM32G0的SPI1连接ET1200的PDI接口(SPI从模式),ET1200的IRQ输出接STM32的PA0(外部中断)。
- 输入采集:8路24V数字量输入经光耦隔离后,接入STM32的GPIO(如PB0~PB7),MCU轮询读取并映射到过程数据输出缓冲区。
- EEPROM:AT24C02连接ET1200的I²C接口,保存站地址和SM配置。
在固件开发中,MCU上电后首先通过SPI读取ESC的AL控制寄存器,确认ESC处于OP状态后,再周期性读取SM2(输出邮箱)和SM3(输入邮箱)的数据。数字量输入状态通过ESC的FMMU映射到过程数据区,主站即可通过EtherCAT帧实时获取8路输入状态。
3.5 常见误区与设计复盘
设计复盘要点:
- 原理图设计完成后,应逐项核对ESC数据手册中的引脚功能表,特别是复用引脚(如PDI接口与配置引脚共用的情况)。
- PCB布局时,ESC芯片应尽量靠近两个PHY,MII信号线长度差控制在±5 mm以内,避免高速信号时序偏差。
- 上电调试时,先用示波器测量PHY的TX_CLK和RX_CLK波形,确认时钟正常后再检查ESC的AL状态寄存器,逐步排查链路问题。
- 建议在硬件调试阶段预留ESC的调试串口或JTAG接口,便于读取内部寄存器状态。
通过以上设计流程,可以构建一个稳定可靠的EtherCAT从站硬件平台。ESC芯片的选型与接口设计直接决定了从站的性能上限和开发复杂度,在实际项目中应结合通信周期、数据量、成本等因素综合决策。