这一节来学习一下以太网的物理层,IEEE802.3标准就给出了以太网的物理层结构,如下图所示红色框内所标注的。
我们可以看到物理大致可以分为: GMII介质无关接口、 PCS物理编码子层,PMA物理介质连接层,PMD物理介质相关层、MDI接口 、MEDIUM物理介质。
我们从下往上看,首先看物理介质层。
1、物理介质层
这里所谓的物理介质,我们最常见的就是我们的网线,这就是一种以太网传输的物理介质。常见的物理介质还有同轴电缆、光纤等,现在基本没人用同轴电缆了。
看下表,其中10-100-1000表示以太网的速度10M-100M-1000M。而BASE后的字母数字,则表示了当前介质的类型。
其中最后几个是千兆网的传输介质,千兆以太网可以在下列四种媒质上运行:单模光纤(LX),最大连接距离至少可达5公里;多模光纤(SX),最大连接距离至少550米;同轴电缆(CX),最大连接距离至少25米;超五类/六类线(T),最大连接距离为100米 。
10BASE2: 采用细同轴电缆接口的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 10.) |
10BASE5: 采用粗同轴电缆接口的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 8.) |
10BASE-F:采用光纤电缆接口的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 15.) |
10BASE-T:采用电话双绞线的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 14.) |
100BASE-FX: 采用两个光纤的IEEE 802.3 100Mb/s 物理层规格 (参见 IEEE 802.3 Clauses 24 and 26.) |
100BASE-T2: 采用两对3类线或更好的平衡线缆的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 32.) |
100BASE-T4: 采用四对3、4、5类线非屏蔽双绞线的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 23.) |
100BASE-TX: 采用两对5类非屏蔽双绞线或屏蔽双绞线的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clauses 24 and 25.) |
1000BASE-CX: 1000BASE-X 在特制的屏蔽电缆传输的接口规格(参见 IEEE 802.3 Clause 39.) |
1000BASE-LX: 1000BASE-X 采用单模或多模长波激光器的规格(参见 IEEE 802.3 Clause 38.) |
1000BASE-SX: 1000BASE-X 采用多模短波激光器的规格(参见 IEEE 802.3 Clause 38.) |
1000BASE-T: 采用四对五类平衡电缆的1000 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 40.) |
这里提到了各种规范,其实每一种规范对应的物理层都是不一样的。
我们看一下1000BASE-X的物理层。
下面是1000BASE-T的物理层。可以看到1000BASE-T的自协商与1000BASE-X位置不一样。
2、MDI接口
MDI就是连接PHY芯片和物理介质的接口,常见的是RJ45接口。
百兆网时,MDI四根线,两对差分信号,只用了RJ45的 1,2,3,6线,。
千兆网时, MDI一共8根线,四对差分信号, 用了RJ45的8根线
再说一下RJ45上的两个灯—— 绿灯:长亮,表示链路完整。 黄灯:闪烁,表示有数据收发。
3、PMD \PMA\PCS 层
原本想介绍一下这三个层,但最后还是放弃了,因为不同规范下,每一层都不一样,很难统一介绍。笔者也未深入研究。这里简述一下这三次完成的大致功能。
PCS: 物理编码子层。
对于1000BASE-X采用了8B/10B编码.
而对于1000BASE-T,则采用了PAM5编码转换方式。
PMA: 如上图可以看出PMA层主要实现了串并转换。
PMD: PMD层主要负责将串行信号转到相应的物理介质上。
如下补充4D-PAM5编码方式的解释:
在通信网络中,接收端需要从接收数据中恢复时钟信息来保证同步,这就需要线路中所传输的二进制码流有足够多的跳变,即不能有过多连续的高电平或低电平,否则无法提取时钟信息。百兆以太网100BASE-T用的4B/5B编码与MLT-3编码组合方式,发送码流先进行4B/5B编码,再NRZ-I,最后进行MLT-3编码,最后再上线路传输;千兆以太网中1000BASE-X用的是8B/10B编码与NRZ编码组合方式;万兆以太网用的是64B/66B编码;PCIE 3.0用的是128B/130B编码。说到底这些编码都是为了从数据中恢复时钟。
4、自协商 Auto_negotiation
自协商一般是在物理层完成的。但是具体在PHY的哪一层完成,由具体物理介质规范决定。基本原理就是将 自协商的信息通过一串脉冲序列发送出去,这串脉冲称为FLP。这串脉冲的特点如下。脉冲中分为时钟脉冲和数据脉冲,数据脉冲夹在时钟脉冲中间,第一个脉冲为时钟脉冲,数据脉冲中正脉冲表示1,无脉冲表示0.一个FLP脉冲序列包含17个时钟脉冲,16个数据脉冲。时钟脉冲每个125us出现一次。
以下摘自华为《以太网标准和物理层、数据链路层专题》其中主要是百兆网的自协商。千兆网也类似差不多,相当于增加了一些位定义。
快速连接脉冲(FLP)的信息编码可以分为两类,一类是基本连接码字(基本页),支持基本的信息的交换。另一类是下一页码字,以支持附加信息页的交换。
基本页的信息编码可由下图表示。
图 1-1 基本页的信息编码图
选择域(Selector Field)
S[0:4]用于标识自协商消息的类型。已定义的类型如下表所示,所有未列出的组合的意义均保留,保留的编码组合目前不应在传输中出现。
自协商的类型含义
S4 |
S3 |
S2 |
S1 |
S0 |
Selector description |
0 |
0 |
0 |
0 |
0 |
Reserved for future Auto-Negotiation development |
0 |
0 |
0 |
0 |
1 |
IEEE Std 802.3 |
0 |
0 |
0 |
1 |
0 |
IEEE Std 802.9 ISLAN-16T |
1 |
1 |
1 |
1 |
1 |
Reseerved for future Auto-Negotiation development |
技术能力域(Technology Ability Field)
A[0:7]用于描述本端网络接口所支持的各种工作模式。不同的选择域类型对应不同的技术能力域定义。下面表格给出IEEE 802.3标准下定义的各种技术能力及其编码。
自协商的技术支持域的含义。
Bit |
Technology |
Minimum cabling requirement |
A0 |
10BASE-T |
Two-pair Category 3 |
A1 |
10BASE-T FULL DUPLEX |
Two-pair Category 3 |
A2 |
100BASE-TX |
Two-pair Category 5 |
A3 |
100BASE-TX FULL DUPLEX |
Two-pair Category 5 |
A4 |
100BASE-T4 |
Four-pair Category 3 |
A[5:7] |
Reserved for furure technology |
5、RGMII接口
这里我主要介绍一下RGMII接口。因为我的开发板是这个接口的。RGMII(Reduced Gigabit Media Independent Interface)是Reduced GMII(吉比特介质独立接口)。RGMII均采用4位数据接口,工作时钟125MHz,并且在上升沿和下降沿同时传输数据,因此传输速率可达1000Mbps。
一般用于MAC和PHY之间的通信。
发送器:
- GTX_CLK——吉比特TX..信号的时钟(125MHz)
- TXD[3..0]——被发送数据
- TX_CTL——发送控制
注:在千兆速率下,向PHY提供GTX_CLK信号,TXD、TXEN、TXER信号与此时钟信号同步。否则,在10/100M速率下,PHY提供 TXCLK时钟信号,其它信号与此信号同步。其工作频率为25MHz(100M网络)或2.5MHz(10M网络)。
接收器:
- RX_CLK——接收时钟频率(从收到的数据中提取,因此与GTXCLK无关联)
- RXD[3..0]——接收数据
- RX_CTL——接收控制
- COL——冲突检测(仅用于半双工状态)
- CRS——载波监听
管理配置(控制和状态信息):
- MDC——配置接口时钟
- MDIO——配置接口I/O
RGMII接口相对于GMII接口,在TXD和RXD上总共减少8根数据线。
RGMII时序
如下图