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

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

3天内不再提示

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

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

FLP Burst内容编码—NextPage

NextPage有两大类(D13=1时为Messgage Page; D13=0时为Unformatted Page;),编码格式分别如下图:

Message Page:

8c68851a-e469-11ee-a297-92fbcf53809c.png

Unformatted Page:

8c7fad62-e469-11ee-a297-92fbcf53809c.png

在FLP突发中,D0应是传输的第一个比特。Message Page和Unformatted Page必须成对出现,Message Page在前,Unformatted Page在后(Null Message型除外,它无需携带Unformatted Page)。

Message Code Field

8c9559fa-e469-11ee-a297-92fbcf53809c.png

Unformatted Page的Unformatted Code Field 与Message Page的Message Code Field相关,故后面会结合具体的Message Code Field的详细讲解UnformattedCode Field。

Toggle

[T] =2b0 前一个FLP脉冲data为1,

=2b1 前一个FLP脉冲data为0,

该bit的作用是保持FLPBurst的直流平衡,防止出现连0或连1;

Acknowledge2

[ACK2] =2b0 不可以理解来自远端的NextPage,

=2b1 可以理解来自远端的NextPage;

Message Page

[MP] =2b0 Unformatted Page,

=2b1 Message Page;

Acknowledge

[ACK] =2b0 尚未收到来自远端的NextPage,

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

Next Page

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

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

NextPage的使用规则

链路双方都支持NextPage时,方可执行NextPage交互。比如本端只支持BasePage,远端支持BasePage + NextPage_MP + NextPage_UP + NextPage_UP,此时远端的NextPage_MP和两个NextPage_UP的FLP Bursts永远不会被发出。

链路双发的NextPage的数量必须匹配。比如本端支持BasePage + NextPage_MP(Code8)+ NextPage_UP + NextPage_UP + NextPage_MP(Code10)+ NextPage_UP, 远端支持BasePage + NextPage_MP(Code8)+ NextPage_UP + NextPage_UP,此时远端NextPage的数量与本端NextPage的数量不匹配,故远端需要附加两个NextPage_MP(Code1NullMessage)补齐。

NextPage的应用实践

FLP Burst-NextPage交互应用于基于10M/100M/1000M的IEEE Clause 28 双绞线自协商。笔者以曾经实践过的Marvell公司的88e1111千兆PHY举例[与自协商相关的寄存器属于IEEE802.3标准寄存器,故不同厂家不同型号的PHY该部分实现大同小异],与10M/100M/1000M自协商相关的7个寄存器内容分别如下:

ControlRegister – Copper Page 0, Register 0

8cd4b348-e469-11ee-a297-92fbcf53809c.png

该部分在“BasePage的应用实践”部分已详细阐述过,故这里就不再赘述;

ANAdvertisement Register – Copper Page 0, Register 4

8ced4598-e469-11ee-a297-92fbcf53809c.png

该本地广告能力寄存器是10M/100M/1000M自协商的核心寄存器,该部分在“BasePage的应用实践”部分已详细阐述过,故这里就不再赘述;

Link PartnerAbility Register , Copper Page 0, Register 5

8cf10228-e469-11ee-a297-92fbcf53809c.png

该本地广告能力寄存器是10M/100M/1000M自协商的核心寄存器,该部分在“BasePage的应用实践”部分已详细阐述过,故这里就不再赘述。

Next PageTransmit Register – CopperPage0, Register 7

8d80befe-e469-11ee-a297-92fbcf53809c.png

该本地广告能力寄存器是10M/100M/1000M自协商的核心寄存器,该寄存器有两类用法:“硬件自动装载模式”和“软件手工装载模式”。当1000BASE-TControl Register Page 0, Register 9(后续会介绍)的bit9=1或者bit8=1时使用“硬件自动装载模式”;当1000BASE-T ControlRegister Page 0, Register 9(后续会介绍)的bit9=0且bit8=时使用“软件装载模式”;在实际使用时通常很少使用“软件手工装载模式”(可以协商厂家自定义的一些信息),故这里就对“软件手工装载模式”不再赘述了。下面针对“硬件自动装载模式”进行现逐bit解释: bit15 Next Page 该bit为FLP Burst-NextPage的D15.NP。

当使用10M/100M/1000M自协商时(无EEE自协商时),第一个第二个NextPage时此bit为1,第三个NextPage时此bit为0;当使用10M/100M/1000M自协商时(有EEE自协商时),第一个第二个第三个第四个NextPage时此bit为1,第五个NextPage时此bit为0。此bit由PHY芯片硬件自协商状态机自动维护,软件无需设置此bit;

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

bit13 Message Page Mode 该bit为FLP Burst-NextPage的D13.MP。当使用10M/100M/1000M自协商时(无EEE自协商时),第一个NextPage时此bit为1,第二个第三个NextPage时此bit为0;当使用10M/100M/1000M自协商时(有EEE自协商时),第一个第四个NextPage时此bit为1,第二个第三个第五个NextPage时此bit为0。此bit由PHY芯片硬件自协商状态机自动维护,软件无需设置此bit;

bit12 Acknowledge2 该bit为FLP Burst-NextPage的D12.Ack2。此bit由PHY芯片硬件自协商状态机自动维护,软件无需设置此bit;

bit11 Toggle 该bit为FLP Burst-NextPage的D11.T。此bit由PHY芯片硬件自协商状态机自动维护,软件无需设置此bit;

bit[10:0] Message/Unformatted Field该bits为FLPBurst-NextPage的D10:D0。当使用10M/100M/1000M自协商时(无EEE自协商时),第一个NextPage时此bits为8,为1000BASE-Ttechnology message code,第二个第三个NextPage时此bits为10M/100M/1000M双绞线自协商核心内容,会在后续“10M/100M/1000M自协商基理”章节部分进行详细探讨;当使用10M/100M/1000M自协商时(有EEE自协商时),第一个NextPage时此bits为8,为1000BASE-Ttechnology message code,第四个NextPage时此bits为10,为EEEtechnology message code,第二个第三个第五个NextPage时此bits为10M/100M/1000M双绞线自协商核心内容,会在后续“10M/100M/1000M自协商基理”章节部分进行详细探讨;

写到这里,可能有小伙伴感到困惑。既然工作于“硬件自动装载模式”时该寄存器由PHY芯片硬件自协商状态机自动装载维护,软件无需设置。那该寄存器存在的意义是什么呢?答案是这样的,在正常自协商并最终双绞线链路双发建立正确连接,该寄存器确实没有存在的意义。但是因为某些环境因素造成自协商状态机无法正常结束时,此时软件通过周期性轮询读该寄存器结合输出打印信息,可以有助于网络管理人员分析自协商异常的原因,卡壳在哪个环节,进而对定位故障、解决故障大有益处。

Link PartnerNext Page Register – Copper Page 0, Register 8

8d8b5ddc-e469-11ee-a297-92fbcf53809c.png

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

1000BASE-T Control Register Page 0, Register 9

8da2b248-e469-11ee-a297-92fbcf53809c.png

该本地1000BASE-T控制寄存器是10M/100M/1000M自协商的核心寄存器,现逐bit解释:

bit[15:13] Test Mode 该bits与示波器物理层测试相关,该功能与本自协商专题无关,这里不进行赘述;

bit12 MASTER/SLAVE Manual ConfigurationEnable该bit为FLP Burst-Unformatted_NextPage的UnformattedCode Field中相关bit。当使用10M/100M/1000M自协商时,该bit即为第二个NextPage的D0.U0,该bit根据网络管理员的实际应用需求灵活设置(置1“强制主从配置模式”,置0“非强制主从配置模式”);

bit11 MASTER/SLAVE Configuration Value该bit为FLPBurst-Unformatted_NextPage的Unformatted Code Field中相关bit。当使用10M/100M/1000M自协商时,该bit即为第二个NextPage的D1.U1,该bit根据网络管理员的实际应用需求灵活设置(置1“强制主从配置模式”且强制为主,置0“强制主从配置模式”且强制为从);

bit10 Port Type该bit为FLPBurst-Unformatted_NextPage的Unformatted Code Field中相关bit。当使用10M/100M/1000M自协商时,该bit即为第二个NextPage的D2.U2,该bit根据网络管理员的实际应用需求灵活设置(置1“非强制主从配置模式”时优先为主,置0“非强制主从配置模式”时优先为从);

bit9 1000BASE-T Full-Duplex该bit为FLPBurst-Unformatted_NextPage的Unformatted Code Field中相关bit。当使用10M/100M/1000M自协商时,该bit即为第二个NextPage的D3.U3,该bit根据网络管理员的实际应用需求灵活设置(置1有1000BASE-T 全双工能力,置0无1000BASE-T全双工能力);

bit8 1000BASE-T Half-Duplex该bit为FLP Burst-Unformatted_NextPage的Unformatted Code Field中相关bit。当使用10M/100M/1000M自协商时,该bit即为第二个NextPage的D4.U4,该bit根据网络管理员的实际应用需求灵活设置(置1有1000BASE-T 半双工能力,置0无1000BASE-T 半双工能力),因为1000BASE-T 半双工该物理层标准PHY芯片一般都不支持,故该bit实际上永远为0;

1000BASE-TStatus Register Page 0, Register 10

8db04bc4-e469-11ee-a297-92fbcf53809c.png

该1000BASE-T状态寄存器是10M/100M/1000M自协商的核心寄存器,现逐bit解释:

bit15 MASTER/SLAVE Configuration Fault当使用10M/100M/1000M自协商时,该bit(状态1主从状态配置有错误,状态0主从状态配置无错误)。当自协商异常时,可以查看此bit状态,如果是1,通过调整“1000BASE-TControl Register Page 0, Register 9”的相关主从设置bit,可以解决该故障;

bit14 MASTER/SLAVE Configuration Resolution当使用10M/100M/1000M自协商时,该bit(状态1本端自协商成“主”,状态0本端自协商成“从”);

bit13 LocalReceiver Status当使用10M/100M/1000M自协商时,该bit(状态1本地接收正常,状态0本地接收异常;

bit12 Remote ReceiverStatus当使用10M/100M/1000M自协商时,该bit(状态1远端接收正常,状态0远端接收异常;

bit[11:10] 是将远端发送的FLP Burst-NextPage的信息(U3,U4)存储在本寄存器。如果自协商协商失败从而造成链路双方不能正常建立链接,或者自协商成功但协商结果不符合预期。相关驱动工程师可以利用本寄存器进行故障定位和分析。

10M/100M/1000M双绞线自协商未完待续




审核编辑:刘清

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

    关注

    40

    文章

    5371

    浏览量

    171028
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119975
  • 双绞线
    +关注

    关注

    2

    文章

    231

    浏览量

    23650
  • PHY
    PHY
    +关注

    关注

    2

    文章

    301

    浏览量

    51688
  • 状态机
    +关注

    关注

    2

    文章

    492

    浏览量

    27469

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

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

收藏 人收藏

    评论

    相关推荐

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

    在FLP突发中,D0应是传输的第一个比特。
    的头像 发表于 03-17 09:19 1191次阅读
    <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>案例设计(二)

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

    10M/100M/1000M协商,主要协商的内容为“速度双工”、“流控”和“主从”大类,下面先介绍10M/100M/1000M
    的头像 发表于 03-20 15:11 2667次阅读
    <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 8979次阅读
    如何调试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 5742次阅读
    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 2843次阅读
    DP83822I工业<b class='flag-5'>以太网</b>PHY<b class='flag-5'>自</b><b class='flag-5'>协商</b>功能与其Strap电阻配置

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

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

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

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