第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了。
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米 |
2.2 网线制作与测试:T568A / T568B
网线制作,这是每个工控人必须会的基本功。我见过太多「网线通就行」的工程师,结果现场各种奇怪问题。其实标准就两个:T568A和T568B。说白了就是8根线的排列顺序不同。
线序标准
T568B是目前最常用的,线序是:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕。T568A是:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕。区别就是1、2和3、6两对线互换。
你可能会问:为什么非要按这个顺序?我刚开始也这么想,直到有一次我图省事,随便压了一根线,结果100M死活协商不上。后来才知道,1、2和3、6这两对线必须用同一绞线对——因为双绞线的绞距是专门为差分信号设计的。你乱接,共模抑制就没了。
制作步骤
- 剥线:用剥线钳剥掉外皮约2厘米,别伤到内部铜线
- 理线:按T568B顺序排好,把线捋直
- 剪齐:用剪刀把线头剪齐,留约1.2厘米
- 插线:把线插入水晶头,确保每根线都顶到头
- 压接:用压线钳用力压到底,听到「咔嗒」一声
嗯,这里有个细节:插线的时候,水晶头的弹片朝下,从左到右是第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芯片推荐
- TI DP83822: 低功耗,10/100M,支持RMII,适合电池供电设备
- Microchip LAN8720: 性价比高,10/100M,RMII接口,工业级
- Broadcom BCM89811: 千兆,支持IEEE 1588,适合运动控制
- Marvell 88E1512: 千兆,支持RGMII,带光纤接口
嗯,选型时还要注意晶振频率。有些PHY芯片需要25MHz晶振,有些需要50MHz。我习惯用25MHz的,因为很多MCU也共用这个频率,可以省一个晶振。
好了,这一章就到这里。下一章咱们聊聊数据链路层,也就是MAC层和交换机的工作原理。到时候我会分享一个我在现场调试环网冗余的案例,挺有意思的。