CMIS——通用管理接口 · 规范与标准 · 光模块与线缆 · 文档 · CodingBox
CodingBox 文档

CMIS——通用管理接口

CMIS(Common Management Interface Specification,通用管理接口规范)是所有新一代高速封装形式的管理模型:QSFP-DD、OSFP、OSFP-XD、QSFP112、SFP-DD 和 SFP112(作为 SFP+ with CMIS)、 DSFP、COBO 以及支持 CMIS 的 QSFP。它起源于 QSFP-DD MSA(CMIS 3.0,2018 年),被 OSFP 和 COBO 组织采纳,自 5.0 版(2021 年)起由 OIF 维护。与 SFF-8636 相比,它不是更大的存储器映射,而是另一种模型:面向最多 32 通道的分 bank 分页、模块与每条数据通路各自的 状态机、以 应用(application) 取代兼容性位字段、多样化诊断(VDM)以及用于固件和扩展功能的命令通道(CDB)。版本字节与历史:规范版本。

存储器模型

区域寻址内容
低页(字节 0–127)始终可见标识符、版本、模块状态、标志位、模块监测量、全局控制、介质类型、应用描述符 1–8、密码、bank select 126、页选择 127
上页 00h(128–255)页 127 = 00h厂商信息块、功耗等级、连接器、线缆长度、介质技术、校验和
01h能力广播固件/硬件版本、链路长度、波长、支持的页与 bank、各阶段耗时、信号完整性控制、描述符 9–15
02h阈值模块与通道告警/预警阈值
04h激光器能力可调谐激光器的频率网格与范围(SFF-TA-1004 谱系)
10h(分 bank)通道控制数据通路去初始化、Tx disable、极性、squelch、均衡、分级控制集(staged control set)
11h(分 bank)通道状态数据通路状态、逐通道标志位、通道监测量、配置状态、当前生效控制集
12h(分 bank)可调谐激光器控制每通道的信道/波长
13h–14h(分 bank)诊断环回、PRBS 发生器与检测器
20h–2Fh(分 bank)VDM描述符、采样值、阈值、标志位
9FhCDB命令块:命令 ID、长度、校验和、本地负载
A0h–AFhCDB EPL用于大数据量传输(固件镜像)的扩展负载
80h–FFh(其他)厂商自定义页

bank 寻址 8 条通道:bank 0 对应通道 1–8,bank 1 对应通道 9–16,依此类推;具体实现了多少个 bank 由 page 01h 广播。只有 page 00h 的模块会置位 flat memory 位(字节 2 bit 7)。总线:单一地址 A0h,最高 400 kHz,每个插槽一根 ModSelL — 双线接口。

低页 — 主机据以运行的字节

字节字段说明
0标识符18h QSFP-DD、19h OSFP、1Eh QSFP with CMIS…(SFF-8024)
1CMIS 版本高低半字节分别为主、次版本号:50h = 5.0,40h = 4.0,30h = 3.0
2存储器特性bit 7 为 flat memory,另有仅支持分级配置等能力位
3模块状态bit 3–1:1 LowPwr,2 PwrUp,3 Ready,4 PwrDn,5 Fault;bit 0 中断未置位
8–11模块标志位状态变化、温度/Vcc 告警、辅助告警、自定义;均为锁存,读取后清除
14–25模块监测量温度、Vcc、Aux1–Aux3(TEC 电流、激光器温度、附加电源),以及自定义项
26全局控制5.x:bit 6 LowPwrAllowRequestHW,bit 5 squelch method,bit 4 LowPwrRequestSW,bit 3 软件复位(4.x:bit 6 LowPwr,bit 4 ForceLowPwr)
37–38CDB 状态命令块 1 和 2 的 busy / success / fail
39–40当前固件运行镜像的主、次版本号
85介质类型01h MMF,02h SMF,03h 无源铜缆,04h 有源电缆,05h BASE-T
86–117应用描述符 1–8每个 4 字节:主机接口 ID、介质接口 ID、主机/介质通道数、主机通道分配选项
118–121密码修改由厂商定义
122–125密码输入由厂商定义 — 写保护密码存放于此
126Bank 选择—
127页选择—

模块状态机

Reset ──► MgmtInit ──► ModuleLowPwr ──► ModulePwrUp ──► ModuleReady
                            ▲                              │
                            └──────── ModulePwrDn ◄────────┘
                       (发生致命错误时,任何状态都可能转入 ModuleFault)
  • MgmtInit — 模块启动其控制器,此时尚不能读取身份信息(按硬件规范最长 2 s)。
  • ModuleLowPwr — 可读取身份、能力广播和阈值;功耗限制在 class 1;主机在此阶段校验模块。
  • ModulePwrUp → ModuleReady — 主机拉低 LPMode 引脚(或清除 LowPwrRequestSW),模块随即为光学部分上电;此后即可初始化数据通路。
  • ModulePwrDn — LPMode 置位后的相反过程。

一直停留在 LowPwr 的模块是最典型的 CMIS 故障: CMIS 问题排查、功耗与热管理。

应用与数据通路

CMIS 模块不使用兼容性位,而是广播 应用(application) — 主机电接口与介质接口的搭配,并给出通道数:

描述符主机接口介质接口主机通道 / 介质通道示例
App 112h 400GAUI-8 C2M1Ch 400GBASE-DR48 / 4一条 400G 链路
App 20Eh 100GAUI-2 C2M14h 100GBASE-DR2 / 14 × 100G 拆分

主机通过向 Staged Control Set 0(page 10h 字节 145–152)写入 AppSel(bit 7–4)、 DataPathID(bit 3–1)和显式控制位来为每条通道选择应用,随后置位 ApplyDPInit(page 10h 字节 143)。模块在 ConfigStatus(page 11h 字节 202–205:accepted、rejected、invalid AppSel、invalid lane combination…)中给出应答,并将被接受的值复制到 Active Control Set (page 11h 206–221)。此后每条数据通路各自运行自己的状态机:

DPDeactivated ──► DPInit ──► DPInitialized ──► DPTxTurnOn ──► DPActivated
       ▲                                                          │
       └────────── DPDeinit ◄───────── DPTxTurnOff ◄──────────────┘

各通道的状态记录在 page 11h 字节 128–131 中(每通道占一个半字节),每一步的最长耗时在 page 01h 中广播,供主机据此判断等待时间。逐通道的 Tx disable 位于 page 10h 字节 130。模块未列为应用的拆分方式一律不可用 — 速度与速率。

监测:标志位、监测量、VDM

  • 模块监测量(低页 14–25)和 通道监测量(page 11h:Tx 功率 154–169,Tx 偏置电流 170–185,Rx 功率 186–201,每通道 2 字节)使用与 SFP/QSFP 相同的 16 位格式(单位)。
  • 阈值 位于 page 02h;标志位 均为锁存,读取后清除,且每个标志位各有掩码;IntL 在任意未屏蔽的标志位置位时给出信号。
  • VDM(page 20h–2Fh)新增了旧规范从未提供的观测量:pre-FEC BER、不可纠正的 FEC 帧数、每通道 SNR、激光器温度与老化、eSNR、PAM4 电平转换参数 — 每一项都有各自的描述符、阈值和标志位。这就是 400G 模块能在错误到达主机之前就报告链路质量的方式(监测)。

CDB — 命令数据块

page 9Fh 是一个邮箱区:主机写入 命令 ID(字节 128–129)、负载长度(130–132)、校验和(133),以及最多 120 字节的本地负载(136–255),必要时可在 EPL 页 A0h–AFh 中追加更多数据;模块执行命令后在状态字节 37–38 和应答负载中给出结果。标准命令包括:

命令用途
0000h查询状态
0040h / 0041h模块特性 / 固件管理特性
0100h获取固件信息(运行中镜像与非活动镜像)
0101h开始固件下载
0103h / 0104h通过 LPL / EPL 写入固件块
0107h完成下载
0109h / 010Ah运行镜像 / 提交镜像
0102h中止

CDB 是厂商工具在现场升级模块固件的途径,部分厂商也用它实现配置和解锁功能。支持情况与特性在 page 01h 中广播。

校验和与密码

page 00h 字节 222 是字节 128–221 的校验和;page 01h、02h 和 04h 在字节 255 中携带各自的页校验和(校验和)。密码(122–125)和厂商解锁方案不在规范范围内 — EEPROM 重编程。

主机支持情况

各家网络操作系统对 CMIS 4.0 和 5.x 的实现深度不一:有的会完整驱动应用/数据通路流程,有的只是释放 LPMode,指望模块自行完成上电。这一差异是大多数"已识别但始终未就绪"故障的根源 — CMIS 问题排查、主机做了什么。

在 CodingBox 中

CodingBox 通过标识符和版本字节识别 CMIS,读取低位存储器、page 00h、01h、02h 以及分 bank 的通道页,依据 SFF-8024 解码应用描述符,在 DDM 中显示模块与数据通路状态及逐通道监测量,并在 EEPROM editor 中编辑身份信息,同时重新计算页校验和。通过 CDB 进行的固件操作因厂商而异,不在编辑器功能范围内。

寄存器级别的表格:低页映射表、上页映射表 00h/01h/02h、通道页映射表 10h/11h、VDM、CDB。


如果您发现本资料中有不准确之处或错误,请选中相应片段并按 Ctrl+Enter,即可。