2、从站硬件架构总览:从站硬件组成框图、核心芯片选型(ESC、MCU、PHY)、电源架构规划

好,咱们正式开始聊硬件架构。这一节是整个课程的地基,你把它吃透了,后面画原理图、Layout 心里就有底了。

很多刚入行的朋友,一上来就盯着芯片手册看,结果越看越懵。我个人的习惯是——先画框图。把大框架搭好,再往里面填细节。这样不容易跑偏。

2.1 从站硬件组成框图

一个标准的 EtherCAT 从站,硬件上可以拆成这么几大块:

  • ESC(EtherCAT Slave Controller):这是核心,负责处理 EtherCAT 数据帧。说白了,它就是个专用硬件引擎,帮你把协议栈的苦活累活干了。
  • MCU(微控制器):负责应用层逻辑。比如读取传感器数据、控制电机、跑你的用户程序。
  • PHY(物理层芯片):负责把数字信号变成差分信号,扔到网线上。每个端口配一颗。
  • 电源模块:给上述所有芯片供电。别小看它,我见过太多板子因为电源纹波大,导致 EtherCAT 通信断断续续。
  • 其他外围:比如 EEPROM(存配置)、晶振、隔离器件、接口连接器。

它们之间的连接关系,我简单描述一下:

PHY 通过 MII/RMII 总线连到 ESC。ESC 通过并行总线或 SPI 连到 MCU。ESC 自己还挂一个 EEPROM,用来存从站配置信息。电源模块给所有芯片供电,同时做好隔离。

嗯,这里要注意:ESC 和 MCU 之间的通信接口,决定了你的数据吞吐上限。如果你做的是 16 轴伺服驱动器,建议用并行总线。如果只是 IO 模块,SPI 就够了。

2.2 核心芯片选型

选型这件事,我踩过不少坑。下面说说我的经验。

2.2.1 ESC 选型

ESC 是 EtherCAT 从站的灵魂。目前主流方案就两家:Beckhoff 的 ET1100/ET1200,或者 AX58100(国产替代)。

型号 接口 端口数 适用场景
ET1100 并行/SPI 4 端口 高性能伺服、驱动器
ET1200 SPI 为主 3 端口 IO 模块、简单传感器
AX58100 并行/SPI 2 端口 国产化替代、成本敏感

我个人建议:如果你做的是通用型从站,直接上 ET1100。它皮实、资料多、社区活跃。我曾经在一个项目里用了 ET1200,结果发现端口不够用,后面改板子浪费了两周。所以,端口数一定要留余量。

小提示:ESC 的晶振精度要求比较高,建议用 25MHz 有源晶振,精度 ±25ppm 以内。别为了省几毛钱用无源晶振,我吃过这个亏,通信偶尔丢帧,查了三天才发现是晶振起振不稳。

2.2.2 MCU 选型

MCU 的选择,主要看你的应用层复杂度。记住一个原则:ESC 负责通信,MCU 负责干活

  • 简单 IO 从站:STM32F103 级别就够了。跑个简单的状态机,读读 GPIO。
  • 中等复杂度:比如带编码器接口的驱动器,建议 STM32F4 或 GD32F4 系列。带 FPU,做 PID 运算方便。
  • 高性能伺服:得上 Cortex-M7 或者双核芯片,比如 STM32H7 或者国产的 AT32F437。

我遇到过不少工程师,MCU 选得太强,结果大部分算力都闲置了。其实 EtherCAT 从站对 MCU 的要求没那么高,因为协议栈是 ESC 硬件处理的。MCU 主要跑你的应用代码。

注意:MCU 和 ESC 之间的通信,一定要做电平匹配。ET1100 是 3.3V 电平,如果你的 MCU 是 5V 的,必须加电平转换。我曾经直接连,烧了一片 ET1100,心疼了好几天。

2.2.3 PHY 选型

PHY 芯片,说白了就是网卡的物理层。EtherCAT 对 PHY 有特殊要求:必须支持 100BASE-TX,且延迟要低。

常用的型号:

  • KSZ8081RNB:Microchip 的,便宜、稳定,我大部分项目都用它。
  • LAN8720A:Microchip 的,RMII 接口,适合引脚少的方案。
  • DP83822:TI 的,工业级,抗干扰能力强。

我个人更推荐 KSZ8081。为什么?因为它内部集成终端电阻,外围电路简单。你想想看,少焊几个电阻电容,BOM 成本降了,可靠性还高了。

每个 EtherCAT 端口需要一颗 PHY。如果是两端口从站(IN/OUT),就需要两颗 PHY。注意 PHY 的地址不能冲突,一般通过引脚拉高拉低来配置。

2.3 电源架构规划

电源架构,是很多新手容易忽略的地方。我见过最夸张的案例:一个从站板子,3.3V 纹波 200mV,结果 EtherCAT 通信死活连不上。

标准的电源架构是这样的:

  1. 输入电源:一般是 24V DC(工业现场标准)。
  2. 一级降压:24V -> 5V。用 DC-DC,比如 TPS5430 或国产的 MP2451。
  3. 二级降压:5V -> 3.3V。用 LDO,比如 AMS1117-3.3。为什么这里用 LDO?因为 PHY 和 ESC 对电源噪声敏感,LDO 的纹波抑制比好。
  4. 特殊电压:如果 MCU 需要 1.8V 内核电压,再加一路 LDO。
关键点:PHY 的 3.3V 和 ESC 的 3.3V,建议分开供电。或者至少用磁珠隔离。因为 PHY 工作时会产生高频噪声,会通过电源耦合到 ESC,影响通信质量。我之前的做法是:PHY 用一路 LDO,ESC 用另一路 LDO,两路之间用磁珠隔离。

另外,别忘了隔离。工业现场,地电位差是常事。建议在 24V 输入侧加隔离 DC-DC 模块,比如 B2405S。这样你的从站和主站之间,电气上是隔离的,不容易烧设备。

嗯,最后说一句:电源架构的规划,一定要在画原理图之前想清楚。等你 Layout 都画完了,发现少一路电压,那改起来就痛苦了。我早期一个项目,就是因为电源规划没做好,改了三版 PCB,被领导骂得狗血淋头。

好,这一节就到这里。下一节我们开始讲 ESC 的具体电路设计,包括晶振、复位、EEPROM 这些细节。到时候我会把踩过的坑一个一个说给你听。