ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

802.3协议解读 02:116章节 200 Gb/s 和 400 Gb/s 网络介绍 II

802.3协议解读 02:116章节 200 Gb/s 和 400 Gb/s 网络介绍 II 116.2 200 Gigabit 和 400 Gigabit 以太网子层总结116.2.1 协调子层RS和媒体无关接口GMII1 RSReconciliation Sublayer协调子层2 GMIIGigabit Media Independent Interface千兆媒体无关接口116.2.2 200GMII and 400GMII 扩展子层 (200GXS and 400GXS)116.2.3 物理编码子层 (PCS)1PCS 做什么2PCS 和光模块的关系116.2.4 PMA物理介质连接子层—— 数据的“搬运工”1PMA 做什么2PMA 和光模块的关系116.2.5 PMD物理介质相关子层—— 真正“碰介质”的层1PMD 做什么2PMD 和光模块的关系3MDI 是什么116.2.6 MDIO/MDC 管理接口 —— 模块的“监控通道”1MDIO/MDC 做什么2MDIO/MDC 和光模块的关系3MDDMDIO Manageable Device116.2.7 管理Clause 30—— 系统级的“管理对象”1Clause 30 做什么2和光模块的关系总结摘要此专栏主要解读 IEEE 802.3 中与光模块有关的章节。本文主要关注协议文档的 116 章关于 200 Gb/s 和 400 Gb/s 的介绍。不仅是对文档的简单翻译还会剖析协议规定背后的深层含义。为了方便与协议文档内容对应本文的章节编号与协议文档保持一致。这一章节详细介绍 OSI 协议七层模型。在学习时我们需要建立全局观数据从上层传到光纤的路径为MACRSGMIIPCSPMAPMDMDI 光口 or 电口为了方便理解这里把第一节中的框图粘贴在下面。116.2.1 协调子层RS和媒体无关接口GMII1 RSReconciliation Sublayer协调子层为什么需要 RS 层——因为 MAC 层和 MII 接口“说两种不同的语言”MAC 层以服务原语的方式工作。比如MAC 想发送一个帧它会发出 MA_DATA.request发送请求当接收到信息时得到的是 MA_DATA.indication接收指示。这些原语是抽象的不涉及具体的信号时序。MAC里数据以串行方式传输。GMII 接口以信号和时序的方式工作。例如 200GMII 有 64 位宽的并行数据线 TXD[63:0]、TXC[7:0]、接收数据 RXD[63:0]、RX[7:0] 等它们有严格的时钟沿要求和时序关系。RS 层就是负责把 MAC 的“我要发数据”这种抽象请求转换成 GMII 上实际的 64 位并行数据和控制信号接收时再把 GMII 上的并行数据和有效指示转换成 MAC 能理解的接收指示原语。这部分内容会在后面章节中详解下图仅展示简要示意框图便于理解。打个比方MAC 就像一位生产主管生产出了一批货IP包对发货员RS说“请把这批货发出去。”RS 就要把这批货IP包装车。有些车厢是4个格子数据位宽为4位有些是8个、64个格子。RS就需要按照GMII接口的标准将货IP包装车。车队就按规定的发车频率GMII时钟频率出发。如果发送的IP包有问题无法正常发送那么RS就会向MAC层反馈置位TX_ER。反过来RS收货时将车队送来的零散数据组装成IP包告诉MAC“有您的包裹已经放到桌上了。”如果接收错误则RS会丢弃该IP包。RS 通常集成在 MAC 芯片内部在交换机芯片、网卡芯片或 FPGA IP 核中RS 作为 MAC 和 GMII 之间的一小段逻辑存在。在光模块中没有 RS 层因为光模块不包含 MAC。2 GMIIGigabit Media Independent Interface千兆媒体无关接口为什么需要 GMII——让 MAC 和 PHY 解耦“媒体无关”意味着不管下面是光纤、铜缆还是背板MAC 侧看到的接口都一样换 PHY 不需要改 MAC。GMII 的“物理形态”问题协议规定 200GMII 和 400GMII 都采用 64 位宽的并行数据通路时钟速率极快200GMII 时钟200 Gb/s ÷ 64 bit 3.125 GHz400GMII 时钟400 Gb/s ÷ 64 bit 6.25 GHz正因为时钟速率极快因此几乎不采用“物理接口”也就是说200GMII 和 400GMII 通常都集成在 ASIC 芯片或 FPGA IP 核内只是以“逻辑互联”的概念存在而非电路上的可见接口。尽管如此我们可以借助速率较低的 GMII 接口例如 GMII、RGMII、SGMII来理解。所以我们可以将 200GMII 接口理解为数据位宽为 64 位TX[63:0]、RX[63:0]时钟速率为 3.125GHz 的接口。同理400GMII 可理解为数据位宽为 64 位时钟速率为 6.25GHz 的接口。这两种接口不以物理形式存在而是以“逻辑互联”的概念集成在 ASIC 芯片或 FPGA IP 核内。116.2.2 200GMII and 400GMII 扩展子层 (200GXS and 400GXS)问题GMII 设计时假设 MAC 和 PHY 在很近的地方比如同一芯片内。但有时候需要把 MAC 和 PHY 分开得比较远比如 MAC 在PCB板中央PHY 芯片在靠近光模块的位置中间隔着几英寸的 PCB 走线甚至背板。GMII 的并行信号直接拉远会面临时序、偏移、信号完整性等问题。解决方案插入一个 GMII Extender。它的作用就像给 GMII 信号加一个“串行化 编码”的包装让信号可以经过较长距离传输而不错乱然后在另一端再还原成 GMII 信号。GXS 是什么GMII Extender 内部的核心子层叫 GXSGMII Extender Sublayer。它的功能和 PCS物理编码子层几乎一样做编码64B/66B、加扰、通道对齐等。Extender 借用同样的技术来延长 GMII 的传输距离是可选的、非必需的。116.2.3 物理编码子层 (PCS)1PCS 做什么PCS 是信号从逻辑走向物理的第一站。它从 GMII 接收 64 位宽的并行数据做以下几件事64B/66B 编码在数据流中嵌入同步信息对齐标记和控制信息把每 64 比特数据编码成 66 比特的块。66 位中的额外 2 位是同步头帮助接收端找到块的边界。转码成 256B/257B256B/257B 是在 64B/66B 基础上做的进一步转码用来添加 FEC前向纠错。因为FEC 需要以更大的块为单位来组织数据。FEC 编码加入冗余校验比特使接收端能纠正传输中的误码。200G/400G 常用的 FEC 是 RS-FECReed-Solomon 前向纠错具体参数见 Clause 119 和 Clause 91。分发到多个 PCS lane把编码后的数据流切分到多个逻辑通道上并行处理。比如 400G 的 PCS 可能用 16 个 PCS lane每 lane 约 25G或 8 个 PCS lane每 lane 约 50G然后映射到物理 lane。2PCS 和光模块的关系PCS 通常在主机芯片交换机 ASIC、网卡芯片、FPGA中实现不在光模块里。但光模块里的 DSP 芯片也做了类似 PCS 的事情尤其是 FEC 和 lane 映射。DSP 接收主机传来的电信号已经过了 PCSFEC但 DSP 需要重新做 FEC 解码/编码、重定时、均衡因此 DSP 内部有类似 PCS 的功能块。116.2.4 PMA物理介质连接子层—— 数据的“搬运工”1PMA 做什么PMA 是 PCS 和 PMD 之间的桥梁主要功能lane 映射和复用把 PCS 下来的多个逻辑 lane 映射到 PMD 需要的物理 lane。比如 PCS 有 16 个 lane但 PMD 只需要 8 个 lanePMA 就做合并或者反过来拆分。重定时Retiming对接收信号进行时钟恢复和重定时消除抖动。环回Loopback提供测试用的数据环回功能方便调试。测试码型生成和检查生成 PRBS 等测试码型用于链路验证。2PMA 和光模块的关系PMA 功能分散在主机芯片的 SerDes 和光模块内部的 CDR/DSP 中。光模块电口如 400GAUI-8的本质就是 PMA 服务接口的物理实现。模块内的 DSP 或 CDR 芯片负责时钟恢复、重定时、均衡这就是 PMA 功能。116.2.5 PMD物理介质相关子层—— 真正“碰介质”的层1PMD 做什么PMD 是物理层的最底层直接面对传输介质。它负责电光转换把电信号变成光信号发射端激光器驱动。光电转换把光信号变成电信号接收端 PD TIA。定义光信号的特性波长、功率、消光比、接收灵敏度等。2PMD 和光模块的关系光模块的 TOSA发射光学组件和 ROSA接收光学组件就是 PMD 的具体实现。PMD 规格定义了你设计光模块时最关键的光学参数发射光功率范围、接收灵敏度、波长容差、眼图模板等。不同类型光模块SR4、FR4、LR4、DR4 等的核心区别就在 PMD通道数、波长、介质、距离。3MDI 是什么MDI 是 PMD 和介质之间的“物理连接点”。对光模块来说光 MDI 光口就是光纤连接器LC、MPO的端面。电 MDI 对于铜缆/背板来说就是 RJ45、SFP 插座等。MDI 定义了你用什么连接器、光纤端面标准PC/UPC/APC、插入损耗要求等。你设计光模块时MDI 决定你选什么连接器类型、光口结构设计。116.2.6 MDIO/MDC 管理接口 —— 模块的“监控通道”1MDIO/MDC 做什么这是主机STA站管理实体用来管理 PHY / 光模块的接口。通过 MDIO主机可以读写设备内部的 MMDMDIO Manageable Device寄存器。MDIOManagement Data Input/Output串行数据线。MDCManagement Data Clock管理时钟线。Clause 45 定义了 MDIO 的帧格式和寄存器寻址方式。与老的 Clause 22用于 1G / 10G PHY不同Clause 45 支持更多寄存器和设备地址空间适合 200G / 400G 的复杂管理需求。2MDIO/MDC 和光模块的关系这是工程师每天都要打交道的接口。光模块内部的 MCU微控制器或 DSP 通过 MDIO 接口暴露寄存器主机可以读取模块状态温度、电压、偏置电流、光功率、告警等和写入配置。光模块的固件firmware大量依赖于 MDIO 通信上电时初始化、读取温度告警阈值、配置 FEC 模式、调整激光器偏置等。3MDDMDIO Manageable Device指通过 MDIO 可管理的设备比如 DSP、CDR、TIA 驱动芯片、激光器驱动芯片等。一个光模块内部可能有多个 MMD各自有独立的寄存器地址空间。116.2.7 管理Clause 30—— 系统级的“管理对象”1Clause 30 做什么Clause 30 定义了以太网各层的管理对象、属性和动作。这些是抽象的 MIB管理信息库对象供 SNMP 等上层网管协议使用。比如“激光器温度”“接收光功率”“FEC 错误计数”等在 Clause 30 中都有对应的标准管理对象定义。2和光模块的关系光模块的 DDM数字诊断监控功能就是 Clause 30 管理思想的具体落地。模块内部 MCU 采集温度、电压、光功率等通过 MDIO 暴露给主机主机再映射到上层网管。注意区分Clause 30 是逻辑管理模型MDIO 是物理管理接口两者是不同层次的东西。总结本文围绕 IEEE 802.3 第 116 章梳理了 200G/400G 以太网从 MAC 到光纤的完整子层链路RS 负责协议与信号间的翻译GMII 提供媒体无关接口PCS 完成编码与 FECPMA 负责 lane 映射与重定时PMD 直接驱动光模块完成电光转换MDIO 与 Clause 30 则分别从物理接口和逻辑模型两个层面实现模块的监控管理。可总结成下表理解各子层的分工与边界是设计高速光模块和排查链路问题的关键。欢迎有疑问的小伙伴在评论区留言讨论。
返回列表