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

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

3天内不再提示

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

FPGA开源工坊 来源:追宇星空 2024-03-17 09:19 次阅读

FLP Burst内容编码—BasePage

BasePage的编码格式如下图:

833405f6-e3aa-11ee-a297-92fbcf53809c.png  

在FLP突发中,D0应是传输的第一个比特。编码释义如下: Selector Field

[S4:S0]=2b00001(表示基于IEEE802.3以太网的自协商);

Technology Ability Field

[A0] 10BASE-T半双工;

[A1] 10BASE-T全双工;

[A2] 100BASE-TX半双工;

[A3] 100BASE-TX全双工;

[A4] 100BASE-T4半双工;

[A5:A6]=2b00(表示无流控),

=2b01(表示指向对端的非对称流控),

=2b10(表示对称流控),

=2b11(表示对称流控和指向本端的非对称流控);

Extended Next Page

[XNP] =2b0 紧接BasePage的下一页为NextPage,

=2b1 紧接BasePage的下一页为ExtendedNextPage;

Remote Fault

[RF] =2b0 自协商无错误,

=2b1 自协商有错误;

Acknowledge

[Ack] =2b0尚未收到来自远端的BasePage,

=2b1 已收到来自远端的BasePage;

Next Page

[NP] =2b0当前BasePage页已是最后页,

=2b1 当前BasePage页不是最后页;

BasePage的应用实践

FLP Burst-BasePage交互应用于IEEE Clause 28双绞线自协商的所有类型(10M/100M)、(10M/100M/1000M)和(10M/100M/1000M/2.5G/5G/ 10G/25G/40G)。而其中10M/100M自协商仅使用BasePage交互即可,10M/ 100M/1000M和10M/100M/1000M/2.G/5G/10G/25G/40G需要其他类型Page (NextPage和ExtendedNextPage)[在后续章节会陆续进行详细介绍]。

笔者以曾经实践过的Marvell公司的88e6097F Switch芯片中集成的百兆PHY举例[与自协商相关的寄存器属于IEEE802.3标准寄存器,故不同厂家不同型号的PHY该部分实现大同小异],与10M/100M自协商相关的3个寄存器内容分别如下:

PHY Control Register Register 0

834c174a-e3aa-11ee-a297-92fbcf53809c.png

在该寄存器中与自协商相关bit分别为:

bit12 AnegEn 该bit为自协商使能位(配置工程师需要保证双绞线两端的自协商使能位保持一致。如果一端自协商使能另一端自协商关闭,自协商使能这端会触发并行检测状态机,可能会造成链路双方的双工状态的不一致);

bit9 RestartAneg 该bit为重新自协商使能位,当本端自协商的广告能力位有变化或者未能协商选择链路双方彼此最高阶的广告能力(如EMC等强电磁辐射造成的FLP Busrt信号畸变)时,需要软件操作此bit设置1以重启自协商进程;

Auto-Negotiation Advertisement Register Register4

8355427a-e3aa-11ee-a297-92fbcf53809c.png

该本地广告能力寄存器是10M/100M自协商的核心寄存器,现逐bit解释:

bit15 AnegAdNxtPage 该bit为FLPBurst-BasePage的D15.NP,因为10M/100M自协商只使用BasePage,故此bit永远为0;

bit14 Ack 该bit为FLPBurst-BasePage的D14.Ack,该bit由PHY芯片自协商状态机自动维护,软件无需设置此bit;

bit13 AnegAdReFault 该bit为FLPBurst-BasePage的D13.RF,软件周期需要读PHYStatus RegisterRegister 1的bit4 RemoteFault的状态值,然后同步设置到此bit;

bit12 Reserved 该bit为FLPBurst-BasePage的D12.XNP,因为10M/100M自协商只使用BasePage,故此bit永远为0;

bit11 AnegAd Asymmetric Pause 该bit为FLPBurst-BasePage的D11.A6,但10M/100MPHY通常不支持非对称流控,故此bit为Reserved,永远为0;

bit10 AnegAd Pause 该bit为FLPBurst-BasePage的D10.A5,该bit根据网络管理员的实际应用需求灵活设置(置1有此能力,置0无此能力);

bit9 AnegAd 100T4 该bit为FLPBurst-BasePage的D9.A4,因为100Base-T4该物理层标准已经被淘汰,故该bit永远为0;

bit8 AnegAd100FDX 该bit为FLPBurst-BasePage的D8.A3,该bit为100Base-TX全双工能力,根据网络管理员的实际应用需求灵活设置(置1有此能力,置0无此能力);

bit7 AnegAd100HDX 该bit为FLPBurst-BasePage的D7.A2,该bit为100Base-TX半双工能力,根据网络管理员的实际应用需求灵活设置(置1有此能力,置0无此能力);

bit6 AnegAd10FDX 该bit为FLPBurst-BasePage的D6.A1,该bit为10Base-T全双工能力,根据网络管理员的实际应用需求灵活设置(置1有此能力,置0无此能力);

bit5 AnegAd10HDX 该bit为FLPBurst-BasePage的D5.A0,该bit为10Base-T半双工能力,根据网络管理员的实际应用需求灵活设置(置1有此能力,置0无此能力);

bit[4:0] Selector Field 该bits为FLPBurst-BasePage的D4:D0.[S4:S0],该bits永远为1,表示该自协商为基于IEEE802.3以太网的自协商(比如该bits为0x4表示基于IEEE1394的自协商,该bits为0x5表示为基于INCITS的T10 SCSI、T11FC、T13 SATA的自协商);

Link Partner Ability Register (Base Page)Register 5

83691fe8-e3aa-11ee-a297-92fbcf53809c.png

该邻居广告能力状态寄存器是将远端发送的FLPBurst-BasePage的信息存储在本寄存器。如果自协商协商失败从而链路双方不能正常建立链接,相关驱动工程师可以利用本寄存器进行故障定位和分析。本寄存器bit定义与“Auto-Negotiation AdvertisementRegister Register 4”完全相同,故这里就不再赘述了。

10M/100M自协商基理

10M/100M自协商,主要协商的内容为“速度双工”和“流控”两大类,下面就这两大类内容进行阐述。

速度双工协商

速度双工主要靠设置“本地广告能力寄存器Auto-Negotiation Advertisement Register Register 4”的bit9:5实现的。本端和远端选择彼此都有的能力(bit9:5中的置1的相关bit)中优先级高的那种能力作为本端PHY和远端PHY的实际工作的速度双工状态。

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

100BASE-T2full duplex[需使用NextPage,实际是没有芯片支持此能力]

100BASE-TX full duplex

100BASE-T2[需使用NextPage,实际是没有芯片支持此能力]

100BASE-T4[实际是没有芯片支持此能力]

100BASE-TX half duplex

10BASE-T full duplex

10BASE-T half duplex

例子1:本端PHY的“本地广告能力寄存器Auto-Negotiation Advertisement Register Register 4”的bit9:5=2b01111;双绞线另一侧的远端PHY的“本地广告能力寄存器Auto-Negotiation Advertisement Register Register 4”的bit9:5=2b00101。此时他俩的彼此能力的交集为bit9:5=2b00101,即双绞线链路双方都支持的PHY能力为bit5=1(10BASE-T half duplex)和bit7=1(100BASE-T half duplex),并且因为优先级顺序为100BASE-T half duplex>10BASE-T half duplex,故此时本端和远端速度双工自协商的结果为“100BASE-T half duplex”;

例子2:本端PHY的“本地广告能力寄存器Auto-Negotiation Advertisement Register Register 4”的bit9:5=2b01110;双绞线另一侧的远端PHY的“本地广告能力寄存器Auto-Negotiation Advertisement Register Register 4”的bit9:5=2b00110。此时他俩的彼此能力的交集为bit9:5=2b00110,即双绞线链路双方都支持PHY能力为bit6=1(10BASE-T full duplex)和bit7=1(100BASE-T half duplex),并且因为优先级顺序为100BASE-T half duplex>10BASE-T full duplex,故此时本端和远端速度双工自协商的结果为“100BASE-T half duplex”;

例子3:本端PHY的“本地广告能力寄存器Auto-Negotiation Advertisement Register Register 4”的bit9:5=2b01010;双绞线另一侧的远端PHY的“本地广告能力寄存器Auto-Negotiation Advertisement Register Register 4”的bit9:5=2b00101。此时他俩的彼此能力的交集为bit9:5=2b00000,即双绞线链路双方没有PHY能力交集,故此时本端和远端永远无法建立正确链接。

写到这里,可能有小伙伴感觉到疑惑,既然88e6097F PHY默认支持bit9:5=2b01111,为什么还有将部分PHY能力主动设置为0的需求。讲到这里我们必须有一个基本的认知就是:10Base-T全双工的可靠性和链路冗余度是远远强于100Base-TX全双工的(通常cat5e的网线在100Base-TX时支持160米左右的无损传输,而cat5e的网线在10Base-T时支持210米左右的无损传输;同样的辐射抗扰度RS的干扰下10Base-T的丢包率也远小于100Base-TX)。如果应用层的实际单宽需求小于10Mbps,此时远端第三方设备bit9:5=2b01111(可能无用户侧配置接口)的场景下,本端可以主动设置bit9:5=2b00011,以保证本端远端最终协商于10Base-T全双工模式。

流控协商

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

83749058-e3aa-11ee-a297-92fbcf53809c.png

MAC-PCS控制寄存器需要软件根据“PHY-AN广告寄存器”和“PHY-AN LP广告状态寄存器”的内容进行动态更新配置,交换芯片硬件并不会自动联动。

流控设置之所以有上表的规则要求,是需要保证双绞线链路双方的流控状态一致。如果出现一端流控使能,一端流控关闭,在链路拥塞时不但不能享受流控的优点,反而会引起链路中出现大量Pause流控帧使已经拥塞的链路更加拥塞。




审核编辑:刘清

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

    关注

    40

    文章

    5076

    浏览量

    166234
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117719
  • 双绞线
    +关注

    关注

    2

    文章

    203

    浏览量

    23465
  • PHY
    PHY
    +关注

    关注

    2

    文章

    264

    浏览量

    51005
  • 状态机
    +关注

    关注

    2

    文章

    486

    浏览量

    27165

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

    10M/100M/1000M自协商,主要协商的内容为“速度双工”、“流控”和“主从”三大类,下面先介绍10M/100M/1000M自协商的BasePage和NextPage的bits分配, 然后就这三大类内容进行阐述。
    的头像 发表于 03-20 15:11 618次阅读
    <b class='flag-5'>以太网</b>自<b class='flag-5'>协商机制</b>—<b class='flag-5'>双绞线</b>自<b class='flag-5'>协商</b>案例(四)

    AM335X以太网问题,请问需要在linux里面修改什么吗,比如把PHY芯片的协商关闭,固定在100full模式之类的?

    以太网相互ping。设置相同的网段,但是ping不同,打印信息是100hulf up100hulf down交替出现,一会连上,一会掉了。感觉好像一直在查找外部以太网设备似的。请问需要在linux里面修改什么吗,比如把PHY芯片的
    发表于 06-21 03:42

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

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

    为什么lwip不能够开启协商模式?

    lwip 不能够开启协商模式 ??static void low_level_init(struct netif *netif){ uint32_t regvalue = 0
    发表于 08-20 04:35

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

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

    Ubuntu系统手册网络配置指南(

    1、以太网口通用参数配置查看以太网通用参数以太网的通用参数包括:协商,双工模式和接口速率ethtool eth0配置
    发表于 08-02 17:28

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

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

    STM32以太网驱动程序配置中的自动协商、速度设置和交换机自动协商、速度配置有什么区别?

    我在 stm32f4 中使用以太网交换机而不是 PHY。当 RMII 引脚连接到 STM32 时,我使用 SPI 管理 MDIO 引脚。有一些基本的东西我不明白。STM32 以太网驱动程序配置中的自动协商、速度设置和交换机自动
    发表于 02-08 06:35

    FPGA光纤以太网协商的设计

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

    面向云联网的云服务协商机制

    的方式为用户提供服务,以便更好地满足用户的服务需求。针对上述情况,提出了面向云联网的云服务协商机制,该机制利用云联网和改进的经典合同网模型来实现云服务提供商的交互协商。为了有效地选出合作伙伴以提高合作效率,
    发表于 11-27 15:48 0次下载
    面向云联网的云服务<b class='flag-5'>协商机制</b>

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

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

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

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

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

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

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

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