自协商功能原理及工作过程

本文详细阐述了自协商原理及其在物理线路传输中的应用,特别是针对千兆光口自协商的过程与机制。介绍了自协商如何通过快速连接脉冲(FLP)在不具备自协商能力的端口间建立连接,并解释了并行检测机制在自协商不支持情况下的作用。此外,文章还特别探讨了千兆光口自协商的不同模式和过程,包括自协商、强制和混合模式下的连接行为。
自协商原理:
           自协商是通过一种叫做快速连接脉冲(Fast Link Pulse)的信号实现的,简称FLP。自协商的双方通过FLP来交换数据。

       在具备自协商能力的端口没有Link的情况下,端口一直发送FLP,在FLP中包含着自己的连接能力信息,包括支持的速率能力、双工能力、流控能力等。这个连接能力是从自协商能力寄存器中得到的(Auto-Negotiation Advertisement Register ,PHY标准寄存器地址4 )。FLP中的编码方式如图。依靠脉冲位置编码携带数据。一个FLP突发包含33个脉冲位置。17个奇数位置脉冲为时钟脉冲,时钟脉冲总是存在的;16个偶数位置脉冲用来表示数据:此位置有脉冲表示1,此位置没有脉冲表示0。这样1个FPL的突发就可以传输16bit的数据。自协商交互数据就这样通过物理线路被传输。

       如果两端都支持自协商,则都会接收到对方的FLP,并且把FLP中的信息解码出来。得到对方的连接能力。并且把对端的自协商能力值记录在自协商对端能力寄存器中(Auto-Negotiation Link Partner Ability Register , PHY标准寄存器地址5 )。同时把状态寄存器(PHY标准寄存器地址1)的自协商完成bit(bit5)置成1。在自协商未完成的情况下,这个bit一直为0。然后各自根据自己和对方的最大连接能力,选择最好的连接方式Link。比如,如果双方都即支持10M也支持100M,则速率按照100M连接;双方都即支持全双工也支持半双工,则按照全双工连接。一定连接建立后,FLP就停止发送。直到链路中断,或者得到自协商Restart命令时,才会再次发送FLP。
并行检测
为了保证在对端不能支持自协商的情况下也能连接,引入了被称为并行检测(Parallel Detection)的机制。在一端打开自协商,另一端关闭自协商的情况下,连接的建立就依靠并行检测功能实现。
并行检测机制是这样的:在具有自协商能力的设备端口上,如果接收不到FLP,则检测是否有10M链路的特征信号或100M链路的特征信号。
       1) 如果设备是10M设备,不支持自协商,则在链路上发送普通连接脉冲(Normal Link Pulse)简称NLP。NLP仅仅表示设备在位,不包含其它的额外信息。
       2) 如果是100M设备,不支持自协商,则在没有数据的情况下,在链路上一直发送4B/5B编码的Idle符号。
并行检测机制如果检测到NLP,则知道对方支持10M速率;如果检测到4B/5B编码的Idle符号,则知道对方支持100M速率。但是对方是否支持全双工、是否支持流控帧这些信息是无法得到的。因此在这种情况下,认为对方只支持半双工,不支持全双工,且不支持流控帧。

       基于以上原理,在对端不打开自协商时,打开自协商的一方只能协商成半双工模式。


       802.3协议规定,通过并行检测建立连接后,PHY的状态寄存器(PHY标准寄存器地址1)的自协商完成bit(bit5)依然要置位成1,尽管链路上并非使用了真正的自协商操作。同时规定在自协商完成bit为1的情况下,本地自协商能力寄存器(PHY标准寄存器地址4)和对端自协商能力寄存器(PHY标准寄存器地址5)是有意义的。所以,要把寄存器5中的数据更新。如果建立的连接为10M,则寄存器5的10M能力bit(bit5)置1,其它bit置0,表示对端只能支持10M半双工;如果建立的连接为100M,则寄存器5的100M能力bit(bit7)置1,其它bit置0,表示对端只能支持100M半双工。


千兆光口自协商:

       千兆光口可以工作在强制和自协商两种模式。802.3规范中千兆光口只支持1000M速率,支持全双工(Full)和半双工(Half)两种双工模式。


千兆光口自协商过程:

1) 两端都设置为自协商模式

        双方互相发送/C/码流,如果连续接收到3个相同的/C/码且接收到的码流和本端工作方式相匹配,则返回给对方一个带有Ack应答的/C/码,对端接收到Ack信息后,认为两者可以互通,设置端口为UP状态

2) 一端设置为自协商,一端设置为强制

       自协商端发送/C/码流,强制端发送/I/码流,强制端无法给对端提供本端的协商信息,也无法给对端返回Ack应答,故自协商端DOWN。但是强制端本身可以识别/C/码,认为对端是与自己相匹配的端口,所以直接设置本端端口为UP状态

3) 两端均设置为强制模式


       双方互相发送/I/码流,一端接收到/I/码流后,认为对端是与自己相匹配的端口,直接设置本端端口为UP状态

注意:

       以太网交换机的两个千兆电口对接时,如果一端配置成强制千兆全双工模式,那么协商结果很可能是千兆全双工模式。这个结果和常识相悖。正常情况下,一端强制一端自协商的话,协商结果应该是半双工模式。
   之所以出现上面的情况,是因为这里的强制模式是假象,实际上端口依然工作在自协商模式,只是取消了千兆全双工以外的能力。这样,两个自协商模式的端口对接,协商出全双工模式也就是意料之中的事了。如果再深入一点点,就会产生一个疑问——为什么交换机要这样设定呢?这要从千兆电口的工作原理说起。
   两个千兆电口对接时,一端要工作在master模式,另一端则工作在slave模式。Slave一端不使用自己的时钟,而是从接收到的信号中恢复时钟,自己发送信号时就使用恢复出来的时钟。这样,可以有效保证双方的同步。但是,谁当master,谁又当slave呢?这就要通过自协商功能做出裁决。正是因为这个原因,IEEE 802.3ab-1999标准规定,自协商功能是1000BASE-T以太网的必选项。

<think> 嗯,用户想了解PHY芯片自协商原理。根据引用内容,自协商是物理层功能,遵循IEEE 802.3 Clause 28标准。核心目标是自动匹配最优工作参数,包括速率、双工模式等。 用户提供的引用材料很有价值。引用1提到自协商本质是PHY间的底层通信,完全硬件实现。引用2补充说明不产生高层协议开销。引用3则详细描述了状态寄存器的设置规则。 需要重点解释脉冲机制和寄存器交互。快速链路脉冲(FLP)作为载体很关键,突发脉冲携带16位编码信息。寄存器部分要说明地址1的bit5标志位,地址4/5的能力存储特性。 用户可能还想知道实际应用中的注意事项,比如不同厂商芯片互操作的兼容性问题。虽然用户没直接问,但作为延伸点值得准备。 </think> PHY芯片的自协商原理是物理层(PHY)硬件自动协调链路两端设备通信参数的过程,核心机制如下: ### 一、核心原理 1. **硬件自主协商** - 完全由PHY芯片硬件逻辑实现,无需MAC层参与或软件配置[^1][^2] - 通过发送**快速链路脉冲(FLP)** 交换能力信息,每个FLP包含16个时钟脉冲,承载16位协商报文[^1] 2. **协商参数** | 参数类型 | 协商内容 | |----------------|----------------------------------| | 速率匹配 | 10M/100M/1000M等最高共同速率 | | 双工模式 | 半双工(Half Duplex)/全双工(Full Duplex) | | 辅助功能 | 流量控制、MDI/MDI-X线序自动校正 | ### 二、关键技术机制 1. **能力编码与传输** - 双方PHY通过FLP脉冲序列发送**16位能力编码**(Base Page) - 编码格式: ```plaintext | S0~S7 | D0~D7 | (示例:D0=1支持10BASE-T, D2=1支持100BASE-TX) ``` *S: 选择字段, D: 技术能力字段* 2. **并行检测(Parallel Detection)** - 当一端不支持自协商时(如旧设备),PHY启动并行检测: - 检测**普通链路脉冲(NLP)** → 判定为10M设备 - 检测**空闲符号** → 判定为100M设备[^3] - 强制匹配双方共同支持的基础模式(半双工+检测到的速率) 3. **寄存器状态管理** - **PHY标准寄存器1**:Bit5标记协商完成(`1=完成`)[^3] - **寄存器4**:存储本端能力编码 - **寄存器5**:存储对端能力编码(协商后自动更新) *例:检测到100M设备时,寄存器5的Bit7置1,其他位清0[^3]* ### 三、协商流程 ```mermaid graph TD A[PHY上电] --> B{检测链路脉冲} B -->|收到FLP| C[解析对端能力编码] B -->|未收到FLP| D[启动并行检测] C --> E[匹配最优参数] D -->|检测NLP| F[设为10M半双工] D -->|检测空闲符| G[设为100M半双工] E --> H[更新寄存器状态] F --> H G --> H H --> I[建立稳定链路] ``` ### 四、技术优势与约束 **优势**: - 零协议开销,协商过程短于10ms[^1] - 支持热插拔动态重协商 - 避免人工配置错误导致的**双工不匹配**(常见故障源) **约束**: - 要求物理介质支持脉冲传输(如双绞线) - 光纤场景需强制配置(如SFP模块无自协商
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Quagger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值