二、物理层基础:EIA/TIA 568A/B线序标准、RJ45连接器规范、以太网物理层芯片选型

好,咱们进入第二章。物理层,说白了就是信号从设备A的芯片管脚,跑到设备B的芯片管脚,中间经过的那一整套东西。很多工程师觉得这层简单,不就是压个水晶头嘛。但我告诉你,现场80%的通讯故障,根源都在物理层。我见过太多人拿着万用表量通断,量出来全通,但EtherCAT就是跑不起来。为什么?因为物理层不只是通断,它讲究的是信号完整性。

2.1 EIA/TIA 568A与568B线序标准

先讲线序。这是基本功,但也是翻车重灾区。

EIA/TIA 568A和568B,定义了8根芯线在RJ45接头里的排列顺序。说白了就是规定了哪根颜色线对应哪个引脚。两者唯一的区别,就是第1、2对和第3、6对的线对颜色互换了一下。

引脚 568A线序 568B线序 信号(10/100M) 信号(1000M)
1白绿白橙TX+BI_DA+
2绿TX-BI_DA-
3白橙白绿RX+BI_DB+
4未用BI_DC+
5白蓝白蓝未用BI_DC-
6绿RX-BI_DB-
7白棕白棕未用BI_DD+
8未用BI_DD-

我个人习惯,在EtherCAT项目里统一用568B。为什么?因为市面上绝大多数成品跳线都是568B,你现场维护时随便找根网线就能替换。如果你用568A,万一现场急用,手边只有568B的线,你还得重新压头,耽误事。

⚠ 警告: 同一个EtherCAT网段内,必须全部采用同一种线序标准。不要A和B混用。虽然现在的网卡和交换机大多支持自动翻转(Auto MDI/MDI-X),但EtherCAT从站芯片不一定都支持。我曾经在一个项目里,就因为一根线用了A,其他都是B,导致那个从站间歇性断网,排查了整整一个下午。

2.2 RJ45连接器规范

RJ45连接器,就是咱们常说的水晶头。这东西看着简单,但坑特别多。

首先,RJ45连接器分为屏蔽(STP)和非屏蔽(UTP)两种。EtherCAT推荐使用屏蔽连接器,尤其是工业现场。为什么?因为变频器、电机、焊机这些设备产生的电磁干扰,会通过非屏蔽的接口耦合进信号线,导致CRC校验错误。

其次,RJ45的金属外壳必须接地。我见过有人买了屏蔽水晶头,但没接地,结果干扰比非屏蔽还严重。因为屏蔽层没接地,反而成了一个巨大的天线。

💡 我的经验: 现场压水晶头时,我建议用两件式或三件式的屏蔽头。那种一体式的便宜货,压接时容易把芯线挤断,或者屏蔽层接触不良。另外,剥线长度控制在12-13mm,太长的话,芯线裸露过多,容易串扰;太短的话,压接不到位。

RJ45的插拔寿命,标称一般是750次。但在工业现场,频繁插拔很容易导致弹片疲劳断裂。所以,我建议在设备端使用带锁紧装置的RJ45连接器,或者干脆用M12的D-coded连接器。M12的抗震性和防护等级都比RJ45好很多。

2.3 以太网物理层芯片选型

物理层芯片,也就是PHY。它负责把数字信号转换成模拟信号,通过网线发出去,再把收到的模拟信号转回数字信号。EtherCAT对PHY有特殊要求,不是随便拿个以太网PHY就能用的。

选型时,我主要看以下几点:

  • 支持EtherCAT协议: 必须支持100BASE-TX全双工,且延迟要低。普通PHY的延迟可能在几百纳秒,但EtherCAT要求PHY的往返延迟(RTT)要稳定且可预测。我个人常用的是Microchip的LAN8720A、TI的DP83822,还有瑞昱的RTL8201。这些芯片在EtherCAT从站方案里经过大量验证。
  • MII/RMII接口: PHY与主控芯片(比如FPGA或专用ESC芯片)之间通过MII或RMII接口连接。MII需要16根线,RMII只需要9根。如果对PCB面积敏感,我建议用RMII,但要注意时钟同步问题。
  • 自动协商: EtherCAT要求关闭自动协商,强制设为100M全双工。因为自动协商过程会引入不确定的延迟,而且一旦协商失败,设备会降速到10M,导致整个网络崩溃。所以选PHY时,要确认它支持通过寄存器强制设置速度和双工模式。
  • 工作温度范围: 工业现场至少选-40℃到85℃的工业级芯片。商业级(0℃到70℃)的芯片在夏天车间里很容易死机。
🔧 避坑指南: 我曾经在一个项目中,选了一款很便宜的PHY芯片,手册上写着支持EtherCAT。结果一上电,从站能link up,但数据就是跑不通。后来用示波器抓波形,发现它的时钟抖动太大,导致ESC芯片无法正确采样。所以,选PHY时,一定要看它的时钟抖动指标,最好控制在±50ppm以内。另外,PCB布局时,PHY芯片要尽量靠近RJ45连接器,差分走线要等长,阻抗控制在100Ω±10%。

最后,说一个很多人忽略的点:PHY芯片的复位电路。复位时间太短,芯片可能初始化不完整;复位时间太长,会影响上电启动速度。我一般用RC复位,时间常数设在10ms左右。如果主控有GPIO,最好用主控控制复位,这样可以在需要时强制复位PHY。

嗯,物理层就讲这么多。记住一句话:物理层稳了,上层协议才能跑得顺。下一章咱们聊数据链路层,也就是EtherCAT的数据帧结构,那才是EtherCAT的精髓所在。