第二章 从站硬件架构:MCU选型要点、ESC芯片介绍、PHY芯片与变压器选型

好,咱们进入正题。硬件选型这事儿,说简单也简单,说复杂也复杂。我见过不少工程师,上来就盯着主频和RAM看,结果板子画出来,EtherCAT跑不起来,或者跑起来各种丢帧。嗯,这里面的坑,我今天给你掰扯清楚。

2.1 MCU选型要点:别光看主频

MCU是EtherCAT从站的大脑。但说实话,EtherCAT对MCU的算力要求,并没有你想象中那么高。为什么?因为实时性要求最高的数据链路层,已经被ESC芯片(咱们下一节讲)接管了。MCU主要干的是应用层的活儿。

我个人习惯,选MCU先看三点:

  • SPI接口速度:MCU和ESC芯片之间,通常走SPI通信。SPI时钟至少得能跑到20MHz以上,最好是50MHz。我遇到过用10MHz SPI的项目,结果数据吞吐量死活上不去,后来换了颗主频更高的MCU,问题才解决。
  • DMA支持:SPI收发一定要支持DMA。你想想看,如果每次SPI中断都进CPU,那CPU就别干别的了。DMA可以把数据从SPI直接搬到内存,CPU只管处理就行。
  • 定时器资源:EtherCAT的分布式时钟(DC)同步,需要MCU有高精度定时器来配合。至少需要一个32位定时器,能产生微秒级的中断。

核心建议:不要盲目追求高主频MCU。我见过用STM32F103(72MHz)跑EtherCAT从站,跑得稳稳当当的。反倒是有人用400MHz的MCU,因为SPI和DMA配置不当,导致丢帧。选型时,把SPI速度和DMA能力放在第一位。

另外,RAM大小也得注意。EtherCAT的PDO映射需要一定的缓冲区。一般来说,至少64KB RAM起步。如果要做复杂的运动控制或者数据采集,建议128KB以上。

我的小技巧:选MCU时,可以看看它的SPI FIFO深度。FIFO深度越大,CPU干预越少。比如有些MCU的SPI FIFO有16级,有些只有4级。我一般选16级以上的,省心。

2.2 ESC芯片介绍:LAN9252与SSC

ESC(EtherCAT Slave Controller)是从站的核心。它负责处理EtherCAT数据帧,提取和插入过程数据。说白了,MCU只管跟ESC要数据或者给数据,ESC负责跟总线打交道。

市面上主流的ESC芯片,我接触过的有两类:

特性 LAN9252(Microchip) SSC(Beckhoff IP Core)
接口 SPI / 并行 通常走并行总线或内部总线
集成度 内置PHY(2个) 需要外接PHY
灵活性 固定功能,配置寄存器 可定制,可集成到FPGA
成本 中等 取决于FPGA方案
开发难度 低,有现成驱动 高,需要FPGA开发经验

LAN9252:我最常用的方案。它内置了两个PHY,所以外围电路很简单。我记得第一次用LAN9252时,照着数据手册的参考设计画板子,一次点亮。它的SPI接口最高能跑到50MHz,配合DMA,数据吞吐量完全够用。

SSC(Slave Stack Code):这是Beckhoff提供的IP Core,可以烧录到FPGA里。好处是灵活,你可以定制ESC的功能。坏处是开发周期长,而且FPGA的成本比MCU+LAN9252高。我一般只在需要特殊功能(比如超多PDO通道)时才用SSC方案。

避坑指南:我曾经在一个项目里,为了省成本,选了某国产的ESC兼容芯片。结果EtherCAT一致性测试死活过不了,后来还是换回了LAN9252。嗯,有些钱不能省,尤其是通信芯片。

2.3 PHY芯片与变压器选型

PHY芯片负责把数字信号转换成差分信号,通过网线传输。变压器则提供电气隔离。这两个选不好,你的EtherCAT从站可能连不上网,或者连上了但丢包严重。

PHY芯片选型要点

  • 支持100BASE-TX:EtherCAT用的是百兆以太网物理层,所以PHY必须支持100Mbps。
  • RMII接口:LAN9252内置的PHY用的是RMII接口,如果你外接PHY,也得选RMII接口的。
  • 低延迟:EtherCAT对延迟敏感。PHY的收发延迟最好在100ns以内。我常用的PHY是KSZ8081或DP83822,延迟都在50ns左右。

变压器选型要点

  • 匝数比:标准是1:1,中心抽头接电源。
  • 共模扼流圈:变压器内部最好集成共模扼流圈,能抑制共模干扰。
  • 隔离电压:至少1500Vrms,工业环境建议2000Vrms以上。

我的经验:PHY和变压器最好用同一家厂商的参考设计。比如Microchip的LAN9252评估板,用的就是KSZ8081和HX1188NL变压器。照着抄,基本不会出问题。我自己第一次设计时,就是照着参考设计画的,一次通过EMC测试。

另外,布局布线也很关键。PHY和变压器之间的距离要尽量短,差分信号线要等长,阻抗控制在100欧姆。嗯,这些是硬件工程师的基本功,我就不多说了。

一个小建议:如果你用的是LAN9252,它内置了PHY,所以不需要外接PHY芯片。但变压器还是需要的。我一般选Pulse的HX1188NL或者TDK的ALT4532,性价比高,货源也稳定。

好了,硬件架构这部分就聊到这儿。下一章咱们讲软件,EtherCAT从站协议栈的移植和配置。到时候我会分享一些调试技巧,保证让你少走弯路。