MultiGBASE-T1协议解读系列(中):MultiGBASE-T1 PCS子层

承接上文《MultiGBASE-T1协议解读系列(上)》,上层的数据经过XGMII的处理后即可通过PCS子层进行编码,由PMA子层转换成电信号在MDI上传输,本篇将重点解读MultiGBASE-T1 PCS子层的机制。

PCS子层

PCS子层概述

PCS(物理编码)子层位于协调子层(通过XGMII)和PMA(物理介质附加)子层之间,协议中描述了PCS子层的三个功能:Reset,Transmit和Receive。

在这里插入图片描述
在正常模式下,PCS在接收到XGMII传输的数据后会通过PCS Transmit对数据进行编码,并在其中加入OAM(运行管理维护)帧。同样在收到PMA传上来的数据后,会通过PCS Receive还原数据内容并通过在PMA子层中还原的时钟发到XGMII上。PCS Reset则介绍了PCS子层重启需要满足的条件。以下我们将开始三个功能的详细介绍。

PCS Reset功能

PCS Reset功能将初始化所有的PCS功能,当出现以下两种情况之一时,应执行PCS Reset功能:

  • 上电
  • 收到来自管理实体(Management)的初始化请求

PCS Transmit功能

Data Mode

在数据模式中,从XGMII上连续传输的两组数据加上1bit的字符头部后被PCS子层组合成一个65bit的块,积累50个块后PCS子层会在50个块的末尾加入一个10bit的OAM帧,接下来这3260bit的数据经过RS-FEC编码,加入340bit的奇偶校验位形成3600bit的RS-FEC帧,经过扰码、灰度映射、预编码及PAM4映射后形成1800个符号发送到PMA子层进行发送,下图为该过程的机制图,我们将根据数据传输的方向详细了解这部分机制。

在这里插入图片描述

64/65B

为了区分XGMII中传下的数据帧和控制帧,PCS子层采用64/65B的方法,在收到两个连续传输的XGMII数据后,通过同步传输过来的TXC<3:0>判断这段数据是数据帧还是控制帧,并通过在这64bit数据前加入1bit的数据/控制字符头部完成从64bit到65bit的转换。

在头部的定义上,数据块的头部为0x0,控制块的头部为0x1。

下表是802.3ch[1]协议中针对这8个字节的数据可能的数据类型变化列出的表格:

在这里插入图片描述
表中第一列为数据块的总览,描述了8个字节数据代表的数据类型,其中D为数据字符(Data),C为控制字符(Control),S为开始字符(Start),T为终止字符(Terminate),O为有序集字符(Ordered Set),空白为空闲控制字符(Idle)。

表中第二列为数据/控制帧头部,指代数据块的帧类型。

表中第三列为针对数据payload的具体描述,其中为了区分控制帧类型,将控制帧的第一个字节定义为固定值,接收方可以根据这一字节的数据判断控制帧的payload组成。

除了上述的S、T、O以外,控制字符C还包括低功耗空闲控制字符(LPI),错误控制字符(Error)。

控制字符的物理值定义在下表第四列中,需要注意的是,控制字符在XGMII和PCS中传输时的物理值定义并不相同。

在这里插入图片描述
XGMII上传输的两组连续数据在经过64/65B后,这65bit数据被称为一个block,汇集50个block后,PCS子层会在这段数据的末尾加上10bit的OAM帧。

OAM帧

OAM信息(Operations,Administration,and Maintenance)是一个通过MDIO控制的可选功能,其作用为监视链路操作,例如交换PHY链路健康状态及信息交换。

OAM信息在两个物理机之间使用链路上可用的多余带宽进行带外交换。OAM严格地存在于物理层上的两个物理层和它们相关的管理实体(如果存在)之间。只要两个物理机都实现了这种机制,并且链路是连通的,OAM就是可操作的。它在低功耗空闲期间(LPI)继续运行,尽管在刷新周期期间以较慢的速率传输信息。

每个OAM帧包含了16个symbols,其中前14个symbol由8bit数据,1bit帧位和1bit保留位组成,最后两个symbol为里德所罗门(Reed-Solomon)奇偶校验位,如下图所示。

在这里插入图片描述
在进行数据传输时,每个PHY帧中会包含一个OAM symbol,即一个完整的OAM帧会在16个PHY帧上进行传输。链路伙伴接收到数据后,会根据帧位(上图中D8列)判断是否收到了完整的OAM帧。当采用RS-FEC superframe时,每个RS PHY帧中会携带一个10bit的OAM symbol,当交错深度L=1/2/4时,分16/8/4次将OAM帧传输至链路伙伴。

OAM帧中各个bit的具体定义如下:

  • PingTx:由PHY设置(0或1),以便链路伙伴在Ping RX上回显。
  • PingRx:由PHY设置,与从链路伙伴接收到的Ping
    TX位相同,Ping位在每个OAM帧的基础上更新,用户可以通过切换PingTx并在短延迟后观察PingRx匹配来确定链路伙伴OAM是否正常运行。
  • SNR<1:0>:由PHY设置,表示接收方状态,可以让链路伙伴尽早发现可能导致PHY断开链路或出现高错误率的潜在问题。两个bit的SNR表示了四种状态。
  • 00表示PHY链路失败,将在当前OAM帧结束后2毫秒至4毫秒内断开链路并重新连接。
  • 01表示LPI refresh不足以维持PHY信噪比。请求链路伙伴退出LPI并发送空闲(仅在启用EEE时使用) 。
  • 10表示PHY的SNR在边缘值。
  • 11表示PHY的SNR良好。
  • Valid:OAM Message有效位,0为该OAM帧包含了一个无效的OAM Message,1为该OAM帧包含了一个有效的OAM
    Message。
  • Toggle:切换位,Toggle的值表示管理实体确定引用哪个OAM消息,这允许将一个 OAM 消息与第二个 OAM
    消息区分开来,因为同一 OAM 消息可能会在多个 OAM
    帧上重复。只有当链路伙伴确认接收到OAM消息时,当前OAM消息中的切换位才被设置为与前一个OAM消息中的切换位相反的值。
  • Ack:Ack由PHY设置,使链路伙伴知道链路伙伴发送的OAM消息已成功接收,PHY已准备好接受新的OAM消息。
  • TogAck:TogAck由PHY设置,让链路伙伴知道OAM消息正在被确认。
  • TogAck取被确认的OAM消息的Toggle位的值。只有当Ack设置为1时,此位才有效。
  • Message_Number<3:0>:该字段是用户自定义的,但协议中建议使用它来表示后面8字节消息的含义。
  • RS(16,14)parity:里德-所罗门奇偶校验位,编码14个symbol,并添加2个10bit的奇偶校验符号,最多可校正1个symbol错误。
  • Message:OAM信息包含两部分内容,OAM Message<7:0>为用户自定义的OAM Message Data,OAM
    Message<11:8>为OAM Status,代表了传输设备的健康状态,包含以下状态:

在这里插入图片描述

  • Status valid:判断当前OAM帧是否包含有效的OAM Status Data字段。
  • Power supply warning:根据实现判断本端电源的状态(良好或极限),建议将这个状态的判断时间设置为至少100ms。
  • Internal temp warning:根据实现判断表示PHY的内部温度(良好或极限),建议将这个状态的判断时间设置为至少100ms。
  • No MAC messages warning:判断是否从MAC接收到发送数据,建议将这个状态的判断时间设置为至少100ms。
  • Degraded link segment:根据实现判断link
    segments状态(良好或降级),建议将这个状态的判断时间设置为至少100ms。
  • Polarity inversion:判断PHY是否检测到极性反转。
  • Clear REC:告知链路伙伴是否需要清除已收到的REC(Receive error counter)。
  • REC cleared:告知本地REC是否已经被删除(设置为0x0000,并恢复错误计数)。
  • Vendor-specific field:特定于供应商的字段,可以传递供应商定义的数据字段。
  • REC:Receive error counter表示自上次清除 REC 以来接收器看到的 RS-FEC帧块错误的数量,错误包括可纠正的和不可纠正的,如果该计数器达到0xFFFF,它将保持在0xFFFF,直到被clear REC清除。

RS-FEC编码

里德所罗门纠错算法是在伽罗华域GF(210)上进行编码,输入326个10bit数据块后,生成34的10bit数据块加入帧尾,即经过RS-FEC编码后,PHY帧长度为3600bit。

RS-FEC编码的优点为可以纠正17个错误,减少了是数据传输的误码率。编码器功能模型如下图所示:
在这里插入图片描述
g(x)为生成多项式,其中g34-g0的值为固定值,对于使用MultiGBASE-T1协议进行传输的数据,生成多项式是唯一的。
在这里插入图片描述
m(x)为信息多项式,m325-m0为输入的326个10bit数据。
在这里插入图片描述
p(x)为奇偶多项式,p33-p0为输出的34个10bit RS-FEC奇偶校验符号。
在这里插入图片描述
将m(x)与p(x)相加后便得到的输出的多项式c(x),链路伙伴接收到数据后将c(x)与g(x)在伽罗华域上进行取余,若余数为0则表述该帧无错误,若余数不为0则代表有错误,需按照RS-FEC纠错算法纠正。

在OAM帧的介绍中我们提到了RS-FEC超帧和交错深度L的概念,接下来将详细展开这部分的介绍。

经过RS-FEC编码后的3600bit数据被称为一个RS-FEC帧,RS-FEC帧在MDI传输时,可以通过交错深度系数L选择将多个RS-FEC帧交错在一起,形成RS-FEC超帧进行传输。

在这里插入图片描述
这样做的好处能够使10GBASE-T1和5GBASET1在与2.5GBASE-T1相同的传输速率和频率下处理相同持续时间的脉冲噪声。

在这里插入图片描述
要注意的是,2.5GBASE-T1仅支持L=1,即无法进行交错。5GBASE-T1支持L=1、2。10GBASE-T1支持L=1、2、4。

扰码

在扰码的选择上,MultiG使用了线性反馈移位寄存器来生成扰码,下图为特征多项式,要注意的是,Master和Slave端的移位寄存器不同。
在这里插入图片描述
通过线性反馈移位寄存器,我们可以进而得到两个扰码比特DSn[0]和DSn[1]。
在这里插入图片描述
最后,RS-FEC编码的3600bit成组分对为Dn[0]与Dn[1],与上一步中得到的两个扰码比特进行与运算,便得到了加扰后的数据,按照2bit数据为一个组来划分,便是1800组数据。

在这里插入图片描述

灰度映射、预编码选择、PAM4调制

这部分功能是在数据传到PMA子层以前的最后三道工序,目的是将扰码后的1800组数据映射成1800个符号传输至PMA子层。

灰度映射:将扰码后的An和Bn映射为一个bit的G(n),映射规则如下:
在这里插入图片描述
预编码选择:预编码由链路伙伴进行选择,并在训练阶段发送至PHY。预编码可以优化信号分布,使信号在多个子载波上进行传输,增加信号的抗干扰能力,减少信号间的相互干扰。以下为链路伙伴中记录的预编码的四种模式。

在这里插入图片描述
在训练阶段接收到链路伙伴发送的预编码模式后,发送数据时DUT将根据以下规则将灰度映射后的G(n)编码为P(n)。

在这里插入图片描述
PAM4映射:每个连续的预编码器输出符号P(n)被映射到四个PAM4电平之一,并分配给PAM4编码器输出M(n),映射规则如下:

在这里插入图片描述
映射为M(n)后,PCS子层在数据模式下的全部任务就全部完成了,数据将发送到PMA子层进行下一步的操作。

Training Mode

在训练模式中,DUT会定期发送96bit的Infofields,作用是提供远程发送器设置(如预编码器设置、交织深度、OAM、EEE)的能力信息和请求,以及接收器状态信息(如对扰频锁定、极性检测和校正、RS-FEC帧边界,以及切换数据模式时的固有调制转换)。这部分数据会经过扰码后直接通过PAM2调制发送至链路伙伴。

在这里插入图片描述
一个训练帧由16个Partail PHY帧组成,每个Partail PHY帧为450bit,合计7200bit,长度上与L=4时的RS-FEC超帧长度相同,Infofield的位置在最后一个Partail PHY帧的前96bit。

在这里插入图片描述
如下图所示,进行数据传输时,对于前15个Partail PHY帧,传输扰码序列位Scrn[0],每个部分帧的第一个位被反转。在每16个部分PHY帧中,扰频序列的前96位与InfoField进行异或运算,而剩余的位再次表示扰码序列位。

在这里插入图片描述
经过扰码和加入Infofield后,训练帧会通过PAM2调制发送至PMA子层,训练的过程及Infofield中每一bit的具体含义将在下一篇中进行进一步讲解。

在这里插入图片描述

PCS Receive功能

PCS Receive的功能与PCS Transmit的功能大致相同,只是数据流动方向相反,PCS Receive是将收到的PAM4信号解调,解映射,解扰码,解交错,RS-FEC解码,去除OAM帧后还原为65bit数据,根据数据/控制帧头部,将65bit数据映射为RXD<31:0>和RXC<3:0>通过XGMII传输至上层。

在这里插入图片描述

总结

以上为MultiGBASE-T1协议PCS子层的内容,我们主要介绍了PCS子层的Reset功能,Transmit功能的Data Mode和Training Mode以及Receive功能,上层数据经过PCS子层后转换为PAM4信号,这部分信号是如何在PMA子层中转换为电信号的?训练模式的具体过程是怎样的?敬请关注下期,MultiGBASE-T1协议解读(下)。

参考文献

[1] IEEE, 802.3ch-2020, " IEEE Standard for Ethernet, Amendment 8: Physical Layer Specifications and Management Parameters for 2.5Gb/s, 5Gb/s, and10Gb/s Automotive Electrical Ethernet ", 2020.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值