第2章:物理层基础

各位同学,咱们今天聊聊物理层。说实话,很多做软件出身的朋友,一听到「物理层」三个字就头大。我刚开始搞工业通信那会儿,也觉得这玩意儿太硬核了。但后来发现,物理层恰恰是整个系统最关键的根基——你协议栈写得再好,网线一断全白搭。

2.1 以太网物理层标准:10Base-T / 100Base-TX / 1000Base-T

这三个标准,说白了就是以太网在不同时期的「速度版本」。我习惯把它们比作公路:10Base-T是乡间小道,100Base-TX是省道,1000Base-T是高速公路。它们都跑在双绞线上,但信号处理方式完全不同。

10Base-T

这是最古老的标准,10Mbps,用两对线。我记得2003年第一次调试一个PLC系统,用的就是10Base-T。当时觉得10M够快了,现在想想,连看个高清视频都卡。它用曼彻斯特编码,说白了就是每个比特中间有一次电平跳变,用来同步时钟。嗯,这个编码方式现在基本淘汰了,但理解它对后面学习100Base-TX有帮助。

100Base-TX

100Mbps,用两对线,但编码方式换成了4B/5B + MLT-3。什么意思呢?就是把4位数据变成5位,再通过三电平方式传输。我在项目中遇到过一个问题:明明网线没问题,但就是协商不到100M。后来发现是交换机端口只支持10M半双工——你想想看,一个100M网卡连到10M交换机上,它俩得先「握手」协商,协商失败就只能跑10M了。

避坑指南: 我曾经在一条老旧生产线上,发现100Base-TX链路频繁丢包。排查了两天,最后发现是网线有一段被叉车压过,虽然外表看不出,但内部绞距变了。100Base-TX对线对绞距非常敏感,别问我怎么知道的。

1000Base-T

千兆以太网,用四对线,每对线同时收发。这技术挺牛的——它用PAM-5编码,每个符号可以表示5种电平,相当于一根线上同时传2比特信息。我刚开始学的时候也觉得复杂,但你可以这么理解:它把四对线当成了四条「双向车道」,每根车道同时跑两个方向的车,靠回声消除技术来区分。

标准 速率 线对数 编码方式 最大距离
10Base-T 10 Mbps 2对 曼彻斯特 100米
100Base-TX 100 Mbps 2对 4B/5B + MLT-3 100米
1000Base-T 1000 Mbps 4对 PAM-5 100米
注意: 工业现场经常有人把1000Base-T的100米距离当成「绝对保证」。实际上,如果现场有强电磁干扰,或者网线质量差,50米就可能丢包。我个人习惯在工业环境留30%的余量,也就是最长70米。

2.2 网线制作与测试:T568A / T568B

网线制作,这是每个工控人必须会的基本功。我见过太多「网线通就行」的工程师,结果现场各种奇怪问题。其实标准就两个:T568A和T568B。说白了就是8根线的排列顺序不同。

线序标准

T568B是目前最常用的,线序是:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕。T568A是:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕。区别就是1、2和3、6两对线互换。

你可能会问:为什么非要按这个顺序?我刚开始也这么想,直到有一次我图省事,随便压了一根线,结果100M死活协商不上。后来才知道,1、2和3、6这两对线必须用同一绞线对——因为双绞线的绞距是专门为差分信号设计的。你乱接,共模抑制就没了。

关键点: 直通线两端都用T568B,交叉线一端T568A一端T568B。但现在大多数设备都支持Auto MDI/MDIX,交叉线基本用不上了。不过我个人习惯,在PLC和交换机之间还是用直通线,省得出问题。

制作步骤

  1. 剥线:用剥线钳剥掉外皮约2厘米,别伤到内部铜线
  2. 理线:按T568B顺序排好,把线捋直
  3. 剪齐:用剪刀把线头剪齐,留约1.2厘米
  4. 插线:把线插入水晶头,确保每根线都顶到头
  5. 压接:用压线钳用力压到底,听到「咔嗒」一声

嗯,这里有个细节:插线的时候,水晶头的弹片朝下,从左到右是第1到第8脚。我见过有人插反了,压完才发现——那根线只能报废了。

测试方法

做好的网线,别直接上设备。我建议用网线测试仪测一下。便宜的几十块钱,能测通断和线序。高级点的可以测串扰和回波损耗。我在项目上吃过亏:一根网线测试仪显示全通,但插到工业相机上就是丢包。后来用专业测试仪一测,发现3、6这对线的串扰超标——因为压接时线没完全到位。

我的习惯: 每做一根网线,我都会用测试仪测两遍:一遍测通断,一遍测线序。如果条件允许,再用网络分析仪测一下回波损耗。工业现场环境恶劣,网线质量直接影响通信可靠性。

2.3 物理层芯片选型

物理层芯片,也就是PHY芯片,它负责把MAC层的数字信号转换成模拟信号,通过网线发出去。选型时,我主要看这几个方面:

速率支持

现在主流PHY芯片都支持10/100/1000M自适应。但工业现场有些老设备只支持10M,所以芯片最好能向下兼容。我选型时,会优先选支持Auto-Negotiation的芯片,这样能自动协商到最佳速率。

接口类型

PHY芯片和MAC层之间的接口,常见的有MII、RMII、GMII、RGMII。MII是4位数据线,25MHz时钟,支持100M。RMII是2位数据线,50MHz时钟,引脚少。我个人习惯用RMII,因为布线方便,但要注意时钟抖动。

接口 数据位宽 时钟频率 引脚数 适用场景
MII 4位 25 MHz 16 100M,布线空间充足
RMII 2位 50 MHz 9 100M,引脚紧张
GMII 8位 125 MHz 24 1000M,高速设计
RGMII 4位 125 MHz (DDR) 12 1000M,引脚少

工业级特性

工业环境温度范围宽,一般要求-40°C到85°C。另外,ESD防护也很重要。我选型时,会看芯片的ESD等级,至少8kV接触放电。还有,有些PHY芯片支持IEEE 1588时间同步,这对运动控制场景很关键。

选型陷阱: 我曾经选了一款便宜的PHY芯片,手册上写支持工业温度,但实际在高温高湿环境下,芯片的时钟抖动会变大,导致链路不稳定。后来换成了Broadcom的BCM89811,问题才解决。所以,别只看手册参数,最好做一下环境测试。

常用PHY芯片推荐

  • TI DP83822: 低功耗,10/100M,支持RMII,适合电池供电设备
  • Microchip LAN8720: 性价比高,10/100M,RMII接口,工业级
  • Broadcom BCM89811: 千兆,支持IEEE 1588,适合运动控制
  • Marvell 88E1512: 千兆,支持RGMII,带光纤接口

嗯,选型时还要注意晶振频率。有些PHY芯片需要25MHz晶振,有些需要50MHz。我习惯用25MHz的,因为很多MCU也共用这个频率,可以省一个晶振。

总结一下: 物理层是通信系统的地基。标准选对了,网线做好了,芯片选型合理了,上层协议才能稳定运行。我见过太多人花大价钱买高端交换机,结果网线是地摊货——那还不如用便宜交换机配好网线呢。

好了,这一章就到这里。下一章咱们聊聊数据链路层,也就是MAC层和交换机的工作原理。到时候我会分享一个我在现场调试环网冗余的案例,挺有意思的。