0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

以太网自协商机制—双绞线自协商案例(四)

FPGA开源工坊 来源:追宇星空 2024-03-20 15:11 次阅读

10M/100M/1000M自协商基理

10M/100M/1000M自协商,主要协商的内容为“速度双工”、“流控”和“主从”三大类,下面先介绍10M/100M/1000M自协商的BasePage和NextPage的bits分配,然后就这三大类内容进行阐述。

10M/100M/1000M自协商交互方式

1000BASE-T PHY(无EEE能力时)按顺寻地不间断地交换一个自动协商基本页、一个1000BASE-T格式的下一页,和两个1000BASE-T未格式化的下一页;1000BASE-T PHY(有EEE能力时)按顺寻地不间断地交换一个自动协商基本页、一个1000BASE-T格式的下一页,两个1000BASE-T未格式化的下一页,一个1000BASE-T格式的下一页,和一个1000BASE-T未格式化的下一页;

1000BASE-T BasePage和NextPage编码格式分别如下图:

ef18d054-e688-11ee-a297-92fbcf53809c.png

ef30fe86-e688-11ee-a297-92fbcf53809c.png

ef3abcdc-e688-11ee-a297-92fbcf53809c.png

速度双工协商

速度双工协商主要靠设置“本地广告能力寄存器Auto-NegotiationAdvertisement Register Register 4”的bit9:5和“本地控制寄存器1000BASE-T Control Register Page 0, Register 9”的bit9:8实现的。下面为描述问题方便,把Reg 9.bit9:8+Reg 4.bit9:5合并为T[11:5].本端和远端选择彼此都有的能力(T[11:5]中的置1的相关bit)中优先级高的那种能力作为本端PHY和远端PHY的实际工作的速度双工状态。

PHY能力优先级由高到低排序如下:

1000BASE-Tfull duplex

1000BASE-T half duplex[没有芯片支持]

100BASE-T2 full duplex[已淘汰]

100BASE-TX full duplex

100BASE-T2[已淘汰]

100BASE-T4[已淘汰]

100BASE-TX half duplex

10BASE-T full duplex

10BASE-T half duplex

下面分为“本端远端均为千兆PHY”和“一端为千兆PHY,另一端均为百兆PHY”两种情况讨论。

“本端远端均为千兆PHY”:

例子1:本端PHY的T[11:5]=2b1001111;双绞线另一侧的远端PHY的T[11:5]=2b0000101。此时他俩的彼此能力的交集为PHY的T[11:5]=2b0000101,即双绞线链路双方都支持的PHY能力为T[5]=1(10BASE-T half duplex)和T[7]=1(100BASE-TX half duplex),并且因为优先级顺序为100BASE-TX half duplex>10BASE-T half duplex,故此时本端和远端速度双工自协商的结果为“100BASE-TX half duplex”;

例子2:本端PHY的T[11:5]=2b1001111;双绞线另一侧的远端PHY的T[11:5]=2b1001010。此时他俩的彼此能力的交集为PHY的T[11:5]=2b1001010,即双绞线链路双方都支持的PHY能力为T[6]=1(10BASE-T full duplex)、 T[8]=1(100BASE-TX full duplex)和T[11]=1(1000BASE-T full duplex),并且因为优先级顺序为1000BASE-Tfull duplex >100BASE-TX full duplex>10BASE-T full duplex,故此时本端和远端速度双工自协商的结果为“1000BASE-T full duplex”;

例子3:本端PHY的T[11:5]=2b1000000;双绞线另一侧的远端PHY的T[11:5]=2b0001111。此时他俩的彼此能力的交集为PHY的T[11:5]=2b0000000,即双绞线链路双方没有PHY能力交集,故此时本端和远端永远无法建立正确链接。

写到这里,可能有小伙伴感觉到疑惑,既然88e1111 PHY的“本地控制寄存器1000BASE-T Control Register Page 0, Register 9”的bit8(1000BASE-T half duplex)可设置为1,为什么说芯片均不支持1000BASE-T half duplex呢?笔者曾经实践多款不同厂家的PHY(broadcom,marvell,vitesse,realtek,micrel等),发现即使本端和远端的该能力bit均置1,但是实测效果是1000BASE-Thalf duplex模式实际并未生效,为避免产生不必要的混淆,建议驱动工程师将此bit永远初始化0。其实芯片厂家普遍选择不实现1000BASE-T half duplex是合乎情理的。我们知道以太网PHY半双工的技术需求主要是20年前,因为当年LAN主要是基于集线器组网(集线器基于总线广播模式而非地址表交换模式),并且当年的计算机的CPU能力普遍孱弱,硬件无环境无法支持全双工的应用。

而在进入1000BASE-T时代(大概是2007年)后,集线器已经被性能优越的交换机(基于SRAM地址表架构的交换机天生支持全双工能力)完全取代,同时计算机的CPU的处理性能极大飞跃,故此时此刻半双工的需求不复存在。所有厂家就没有花额外的成本去支持1000BASE-T half duplex必要。(还有另外一个原因,理论上如果支持基于CSMA/CD的1000BASE-T半双工200米的冲突域的需求,以太网的最小帧长要从64Byte提高到512Byte,这样的变动的历史代价太大)。

“一端为千兆PHY,另一端均为百兆PHY”:

千兆PHY通过“LinkPartner Ability Register - Base Page, Copper Page 0, Register 5”的bit15获知双绞线的另一端为百兆PHY(bit15 NextPage=0),故千兆PHY也只支持BasePage发送(此时NextPage永远不对外发送)。那当前的情况就完全等同于10M/100M自协商了,该部分在“10M/100M自协商基理”章节已阐述过,故这里就不再赘述了。

流控协商

流控主要靠设置“本地广告能力寄存器Auto-Negotiation Advertisement Register Register 4”的bit11:10实现的。软件通过本端和远端的bit11:10的各种组合进行对本端MAC的tx和rx方向的802.3流控进行设置,具体规则如下表:

ef546916-e688-11ee-a297-92fbcf53809c.png

“MAC-PCS控制寄存器”需要软件根据“PHY-AN广告寄存器”和“PHY-AN LP广告状态寄存器”的内容进行动态更新配置,交换芯片硬件并不会自动联动。 流控设置之所以有上表的规则要求,是需要保证双绞线链路双方的流控状态匹配(双方都“tx 使能rx使能”,双方都“tx关闭rx关闭”和一方“tx关闭rx使能”另一方“tx使能rx关闭”)。如果出现双绞线链路双方流控失配,在链路拥塞时不但不能享受流控的优点,反而会引起链路中出现大量Pause流控帧使已经拥塞的链路更加拥塞。

主从协商

在1000BASE-T模式中,链路的两端执行环路定时(loop timing)。链接的一端协商配置为主设备,另一个协商配置为从设备。主设备发送和接收时钟锁定在本地晶振输入。从设备发送和接收时钟被锁定到传入的接收数据流。环路定时(loop timing)通过确保发射机和接收机在链路的每一端都以相同的频率工作。

主从协商主要靠设置 “本地控制寄存器1000BASE-T ControlRegister Page 0, Register 9”的bit12:10实现的。具体规则如下表:

ef6f2e36-e688-11ee-a297-92fbcf53809c.png

网络管理员因避免出现上述表格的最后两种情况,一旦出现此情况10M/100M/1000M自协商将永远无法完成,故此时本端和远端永远无法建立正确链接。 好的小伙伴们,这期10M/100M/1000M自协商就讲完啦,下一课会开始“10M/100M/1000M/2.5G/5G/10G/25G/40G自协商”相关内容。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5359

    浏览量

    170945
  • 集线器
    +关注

    关注

    0

    文章

    379

    浏览量

    39438
  • 双绞线
    +关注

    关注

    2

    文章

    231

    浏览量

    23644
  • PHY
    PHY
    +关注

    关注

    2

    文章

    301

    浏览量

    51674
  • 控制寄存器
    +关注

    关注

    0

    文章

    34

    浏览量

    11475

原文标题:以太网自协商机制--双绞线自协商(四)

文章出处:【微信号:FPGA开源工坊,微信公众号:FPGA开源工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    以太网协商机制-双绞线协商案例设计(二)

    在FLP突发中,D0应是传输的第一个比特。
    的头像 发表于 03-17 09:19 1174次阅读
    <b class='flag-5'>以太网</b><b class='flag-5'>自</b><b class='flag-5'>协商机制</b>-<b class='flag-5'>双绞线</b><b class='flag-5'>自</b><b class='flag-5'>协商</b>案例设计(二)

    以太网协商机制-双绞线协商案例设计(三)

    NextPage有两大类(D13=1时为Messgage Page; D13=0时为Unformatted Page;),编码格式分别如下图
    的头像 发表于 03-18 09:33 1199次阅读
    <b class='flag-5'>以太网</b><b class='flag-5'>自</b><b class='flag-5'>协商机制</b>-<b class='flag-5'>双绞线</b><b class='flag-5'>自</b><b class='flag-5'>协商</b>案例设计(三)

    DP83822I工业以太网PHY协商功能与其Strap电阻配置

    物理层链接。所以本文档的内容基于TI以太网PHY产品DP83822,介绍以太网网口协商(Auto-Negotiation)功能现象,正确的测试波形与Strap电阻设置。    1.
    发表于 03-14 06:45

    为什么以太网+柔性板与电脑无法协商为100M?

    硬件:基于STM32F4单片机+LAN8720A(PHY)芯片,移植LWIP轻型以太网协议栈,硬件参考发烧友探索者开发板。连接方式:1.板子通过刚柔结合板与PC机进行连接,系统上电后,PC端5s后
    发表于 09-11 02:53

    基于DP83822I工业以太网PHY协商功能与其Strap电阻配置

    以太网PHY产品DP83822,介绍以太网网口协商(Auto-Negotiation)功能现象,正确的测试波形与Strap电阻设置…
    发表于 11-11 07:26

    FPGA光纤以太网协商的设计

    摘要:本文在分析了千兆以太网协商基本过程,提出了一种基于Virtex-5 XC5VFX70T 中高速串行收发器GTX Transceiver 的千兆以太网
    发表于 03-26 15:56 45次下载

    基于语义网技术的SLA协商机制

    针对服务等级协议(SLA)的自动协商中用于协商的SLA元素及协商过程缺乏语义描述的问题,提出了一种基于语义网技术的SLA协商机制。首先提出一种协商
    发表于 01-02 17:17 0次下载

    如何调试10G/25G以太网IP协商/Link Training

    打开你的Vivado工具,选择你所需要的器件类型,在IPCatalog里产生一个10G/25GEthernet Subsystem IP core,勾上BASE-KR和IncludeAN/LT Logic以涵盖IP协商功能
    的头像 发表于 09-03 09:57 8959次阅读
    如何调试10G/25G<b class='flag-5'>以太网</b>IP<b class='flag-5'>自</b><b class='flag-5'>协商</b>/Link Training

    10G/25G以太网IP协商调试方案

    *此调试过程亦适用于10G, 25G, 40G, 50G, 100G以太网IP核,每个IP可能会有些细节上的不同,但整个协商和LinkTraining过程是类似的,可以作为参考。 *如果是40G
    的头像 发表于 11-03 15:18 5738次阅读
    10G/25G<b class='flag-5'>以太网</b>IP<b class='flag-5'>自</b><b class='flag-5'>协商</b>调试方案

    以太网网口协商功能现象

    )与速率1000M及以上的以太网协议。 在进行以太网口功能调试过程中,最常见的问题是两个端口之前无法正确建立物理层链接。所以本文档的内容基于TI以太网PHY产品DP83822,介绍以太网
    的头像 发表于 12-29 16:15 1w次阅读
    <b class='flag-5'>以太网</b>网口<b class='flag-5'>自</b><b class='flag-5'>协商</b>功能现象

    DP83822I工业以太网PHY协商功能与其Strap电阻配置

    DP83822I工业以太网PHY协商功能与其Strap电阻配置
    发表于 11-01 08:26 1次下载
    DP83822I工业<b class='flag-5'>以太网</b>PHY<b class='flag-5'>自</b><b class='flag-5'>协商</b>功能与其Strap电阻配置

    DP83822I工业以太网PHY协商功能与其Strap电阻配置

    在进行以太网口功能调试过程中,最常见的问题是两个端口之前无法正确建立物理层链接。所以本文档的内容基于TI以太网PHY产品DP83822,介绍以太网网口
    的头像 发表于 04-04 09:40 2816次阅读
    DP83822I工业<b class='flag-5'>以太网</b>PHY<b class='flag-5'>自</b><b class='flag-5'>协商</b>功能与其Strap电阻配置

    一文解析以太网自动协商技术

    这对于有少量这种问题的网络也许是个小问题,但是对于存在大量这种问题的网络而言就是一个头疼的问题。幸好,以太网的标准制定者推出了自动协商(Auto-Negotiation)这种机制,来解决这个问题。
    的头像 发表于 02-22 14:44 4358次阅读
    一文解析<b class='flag-5'>以太网</b>自动<b class='flag-5'>协商</b>技术

    基于IEEE Clause 28双绞线以太网协商机制

    双绞线以太网协商通过链路双方互相周期发送协商脉冲群(通过脉冲群携带自己的物理层信息),从而到
    发表于 03-15 09:53 417次阅读
    基于IEEE Clause 28<b class='flag-5'>双绞线</b>的<b class='flag-5'>以太网</b><b class='flag-5'>自</b><b class='flag-5'>协商机制</b>

    基于IEEE Clause 28双绞线以太网协商机制解析(一)

    协商机制以太网技术物理层重要的一种机制。它可以使得不同底层技术网络设备(计算机终端,网桥,交换机,路由器,网关等)的链路双方协商成互相兼
    的头像 发表于 03-15 09:55 990次阅读
    基于IEEE Clause 28<b class='flag-5'>双绞线</b>的<b class='flag-5'>以太网</b><b class='flag-5'>自</b><b class='flag-5'>协商机制</b>解析(一)