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

    文章

    5076

    浏览量

    166234
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117719
  • 双绞线
    +关注

    关注

    2

    文章

    203

    浏览量

    23465
  • PHY
    PHY
    +关注

    关注

    2

    文章

    264

    浏览量

    51005
  • 状态机
    +关注

    关注

    2

    文章

    486

    浏览量

    27166

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

    i.mx25pdk以太网是支持10Mbps协商还是只支持100Mbps?

    引脚:41 28 27 26 逻辑:0 1 0 1 从板载 PHY(此处)第 10 页,这是否意味着板: 是否已永久配置为仅使用 100Mbps(全双工)的 FIBER MODE? 是支持10Mbps协商还是只支持100Mbps? 为了分析,我附上了个性板原理图
    发表于 05-25 07:56

    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>解析(一)