前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >以太网自协商机制--双绞线自协商(十三)

以太网自协商机制--双绞线自协商(十三)

作者头像
追宇星空
发布2024-07-01 15:41:00
570
发布2024-07-01 15:41:00
举报
文章被收录于专栏:追宇星空追宇星空

自协商基理(二)

流控协商

流控协商根据应用场景需要将MultiGBAE-T分为“原生模式”和“兼容模式”两大类进行讨论。

MultiGBAE-T工作于“原生模式”时(Base Page + Extended Next Pages):

主要靠设置MultiGBASE-T的“本地控制寄存器AN Advertisement 1 Register (DEVAD = 7, REGAD = 0x0010)”的bit11:10实现的。

MultiGBAE-T工作于“兼容模式”时(Base Page + Next Pages):

主要靠设置MultiGBASE-T的“本地控制寄存器Copper Autonegotiation Advertisement (DEVAD = 7, Address = 0xFFE4)”的bit11:10实现的。

软件需要保证这两个寄存器的流控能力比特设置相同。

“原生模式”和“兼容模式”的使用场景在“速度双工协商”章节已做介绍,这里不再赘述了。

自协商能力与MAC寄存器联动规则

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

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

EEE协商

EEE(Energy-Efficient Ethernet)即为节能以太网。EEE链路两侧的系统可以在链路利用率较低(无报文发送时关闭部分PHY功能模块)的时期节省电力。EEE提供了一种协议来协调“低功耗水平Low-Power Idle mode”和“正常功耗水平Active mode”之间的动态切换,并且在切换过程中不更改链路链接状态(不会触发link down事件),也不会丢帧或损坏帧(利用Buffer实现)。EEE的转换时间尽可能地小,以确保对上层协议和应用程序透明无感。

EEE硬件框图

LPI操作序列图

EEE时序参数表

10GBASE-T waketime

40GBASE-T/25GBASE-T waketime

5GBASE-T/2.5GBASE-T waketime

(5GBASE-T时,S=1;2.5GBASE-T时,S=0.5)

10BASE-T PHY不支持EEE,10BASE-Te PHY(发送电压峰峰值较10BASE-T降低了)支持EEE。10BASE-T PHY和10BASE-Te PHY支持基于Cate5e双绞线兼容性互联。国产裕泰微的PHY支持10BASE-Te。

EEE分为两种模式 “Deep Sleep深度睡眠模式”和“Fast Wake快速唤醒模式”。深度睡眠模式是指在LPI周期内PHY 发送器完全停止传输的模式(Refresh信号除外);快速唤醒模式是指PHY发送器在LPI周期内仍旧继续发送信号(Fast wake signaling)的模式,以便于远端接收器可以以较短的唤醒时间内切换到正常模式。双绞线以太网支持深度睡眠模式,25G以上的光以太网支持快速唤醒模式。

EEE需要双绞线链路双方均使能方有意义,故需要利用自协商机制进行协商。100BASE-TX EEE、1000BASE-T EEE和10GBASE-T EEE利用双绞线自协商机制进行协商。40GBASE-T EEE、25GBASE-T EEE、5GBASE-T EEE和2.5GBASE-T EEE利用PMA link training的Ability交互彼此EEE能力(此部分内容与双绞线自协商无关,故这里就不再赘述了)。

EEE的双绞线自协商机制如下:

EEE自协商通过设置IEEE Clause 45 Device=7,Reg=60,bit3=1(10GBASE-T EEE)、IEEE Clause 45 Device=7,Reg=60,bit2=1(1000Base-T EEE)和IEEE Clause 45 Device=7,Reg=60,bit1=1(100Base-TX EEE)来实现。当双绞线链路双方速度协商成10G模式时:本端7.60.3=1且远端7.60.3=1,那么双绞线链路双方EEE都生效;本端7.60.3=0或远端7.60.3=0,那么双绞线链路双方EEE都失效。当双绞线链路双方速度协商成1000M模式时:本端7.60.2=1且远端7.60.2=1,那么双绞线链路双方EEE都生效;本端7.60.2=0或远端7.60.2=0,那么双绞线链路双方EEE都失效。当双绞线链路双方速度协商成100M模式时:本端7.60.1=1且远端7.60.1=1,那么双绞线链路双方EEE都生效;本端7.60.1=0或远端7.60.1=0,那么双绞线链路双方EEE都失效。

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

基于EEE双绞线自协商和PCS控制寄存器软件联动机制只能实现EEE对称操作(因为EEE自协商能力只有1比特)。基于LLDP二层协议协商和PCS控制寄存器软件联动机制可实现EEE非对称操作(前提芯片MAC支持tx,rx独立控制)。

Fast Retrain协商

在介绍Fast Retrain机制自协商之前,我们需要先了解下MultiGBASE-T PHY的正常的PMA Link Training的相关背景知识。

当双绞线双方自协商完成后,双方即进入PMA Link Training阶段。通过PMA Link Training,双绞线链路双方可以根据双绞线链路质量(比如双绞线长度,连接器的插入损耗,EMC干扰程度等)选择合适的PBO(Power Back off,即为PHY发送器发射功率降低幅度)。比如双绞线的长度只有1米,接插件接触良好,EMC干扰很小的场景下,可以适当降低PHY发送器的发射功率(可以达到减少PHY芯片功耗同时降低PHY芯片发热的效果),实现同样的0丢包的表现。

在PMA Link Training间(包括PMA_training_Init_M、PMA_training_Init_S、PMA_PBO_Exch、PMA_Coeff_Exch和PMA_Fine_Adjust状态),双绞线双方的PairA通过交换16字节的InfoField实现对PBO的动态调整。

MultiGBASE-T PHY PMA Link Training时序图:

从上表中可知整个PMA Link Training需要2秒左右的时间。这个2秒的训练时间对很多实时性业务是不可接受的,故IEEE提出了Fast Retrain机制(Fast Retrain相比正常的PMA link training牺牲了部分可靠性,不过在链路质量良好的背景下,这种牺牲无伤大雅)。

MultiGBASE-T PHY PMA Link Fast Retrain时序图:

启用了Fast Retrain机制后,PMA Link Training时间由2秒降低到了30ms。

Fast Retrain需要双绞线链路双方均使能方有意义,故需要利用自协商机制进行协商。10GBASE-T Fast Retrain利用双绞线自协商机制进行协商。40GBASE-T Fast Retrain、25GBASE-T Fast Retrain、5GBASE-T Fast Retrain和2.5GBASE-T Fast Retrain利用PMA link training的Ability交互彼此Fast Retrain能力(此部分内容与双绞线自协商无关,故这里就不再赘述了)。

Fast Retrain的双绞线自协商机制如下:

Fast Retrain自协商通过设置IEEE Clause 45 Device=7,Reg=32,bit1=1来实现。当双绞线链路双方速度协商成10G模式时:本端7.32.1=1且远端7.32.1=1,那么双绞线链路双方Fast Retrain都生效;本端7.32.1=0或远端7.32.1=0,那么双绞线链路双方Fast Retrain都失效。

PMA training reset请求

本端寄存器7.32.2=1表示本端请求远端PMA为每一个PMA训练帧重置PRBS训练序列,7.32.2=0本端请求远端PMA为每一个PMA训练帧使用相同PRBS训练序列。本功能是一种“动作请求”协商,远端收到本端的请求可以根据远端的硬件条件同意执行或不同意执行该动作。本端和远端“动作请求”无需一致(即本端的PMA training reset request置1,远端的PMA training reset request置0)也可以执行动作请求,与通常意义上的能力协商(双方均置1,才执行该能力)不一样。

笔者不建议使用“逐训练帧重置PRBS训练序列动作请求”功能,某些MultiGBASE-T可能不支持该功能实现。链接伙伴可能忽略由将该位设置为1引起的请求,建议始终将此位设置为零。

PHY Short Reach Mode协商

短距离模式:10GBASE-T是指小于30米的cate7/cate6A双绞线链接,40GBASE-T/25GBASE-T是指小于5米的cate8双绞线链接。在双绞线符合上述的要求下,启用“short reach mode”功能可以降低PHY芯片的发射功率并进而降低PHY芯片的发热。

Short reach mode的双绞线自协商机制如下:

Short reach mode自协商通过设置IEEE Clause 45 Device=1,Reg=131,bit0=1来实现。当本端7.131.0=1且远端7.131.0=1,那么双绞线链路双方Short reach mode都生效;本端7.131.0=0或远端7.131.1=0,那么双绞线链路双方Short reach mode都失效。

10GBASE-T Loop timing协商

在MultiGBASE-T模式中,链路的两端执行环路定时(loop timing)(10GBASE-T环路定时是可选的,40GBASE-T/25GBASE-T/5GBASE-T/2.5GBASE-T是必须的)。链接的一端协商配置为主设备,另一个协商配置为从设备。主设备发送和接收时钟锁定在本地晶振输入。从设备发送和接收时钟被锁定到传入的接收数据流。环路定时(loop timing)通过确保发射机和接收机在链路的每一端都以相同的频率工作。链路的两端不执行环路定时(loop timing)(10GBASE-T),主从双方都使用各自独立的本地晶振。

10GBASE-T loop timing的双绞线自协商机制如下:

10GBASE-T loop timing自协商通过设置IEEE Clause 45 Device=7,Reg=32,bit0=1来实现。当双绞线链路双方速度协商成10G模式时:本端7.32.0=1且远端7.32.0=1,那么双绞线链路双方10GBASE-T loop timing都生效;本端7.32.0=0或远端7.32.0=0,那么双绞线链路双方10GBASE-T loop timing都失效。

MultiGBASE-T自协商完结。

下节课会对双绞线自协商进行总结。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 追宇星空 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档