二、物理层基础: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的线,你还得重新压头,耽误事。
2.2 RJ45连接器规范
RJ45连接器,就是咱们常说的水晶头。这东西看着简单,但坑特别多。
首先,RJ45连接器分为屏蔽(STP)和非屏蔽(UTP)两种。EtherCAT推荐使用屏蔽连接器,尤其是工业现场。为什么?因为变频器、电机、焊机这些设备产生的电磁干扰,会通过非屏蔽的接口耦合进信号线,导致CRC校验错误。
其次,RJ45的金属外壳必须接地。我见过有人买了屏蔽水晶头,但没接地,结果干扰比非屏蔽还严重。因为屏蔽层没接地,反而成了一个巨大的天线。
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芯片的复位电路。复位时间太短,芯片可能初始化不完整;复位时间太长,会影响上电启动速度。我一般用RC复位,时间常数设在10ms左右。如果主控有GPIO,最好用主控控制复位,这样可以在需要时强制复位PHY。
嗯,物理层就讲这么多。记住一句话:物理层稳了,上层协议才能跑得顺。下一章咱们聊数据链路层,也就是EtherCAT的数据帧结构,那才是EtherCAT的精髓所在。