目录
一、概述
高速率模块通常支持多种业务模式(不同速率、分支应用、调制等),为了让主机系统能理解并选择合适的模式工作,CMIS协议引入了Application(简称APP,应用模式)概念。
模块宣称支持的APP模式:在寄存器中列出支持的所有应用;
主机选择APP:主机根据自身能力、业务需求,从模块支持的APP中选择一个,写入控制寄存器使模块切换
模块按照APP工作:切换APP后,模块按APP模式工作。
在CMIS Rev5.3中,对APP的支持、扩展等都有新的提升,结合白皮书Path to Plug and Play进行详细说明,下面对APP宣称关键字段进行解析:
二、APP基本定义
Application:应用模式,定义模块在Host通道与Media通道模式的集合,这些集合表示特定的业务功能,一款模块可以支持多种应用,比如分支应用、降速应用等。
AppSel Code:应用码,每个APP都有唯一的AppSel Code标识,主机与模块通过应用码识别和选择业务模式。
APP宣称:模块会宣称支持哪些应用,即APP宣称,每个APP宣称在寄存器表中,占据5个Byte,早期版本协议定义模块最多可以支持15个APP,从CMIS 5.3开始应用数大幅扩展,模块最多可以宣称255个APP。
三、APP宣称5个Byte解析
APP宣称Byte如下,详见Table 6-1。
APP宣称的第一个Byte:Host Interface ID,在SFF-8024定义,详见Table 4-5(仅截取部分)。根据这些ID可确定Host侧的传输速率以及编码方式等。
CMIS5.2文档有附录章节举例描述了APP宣称,在Appendix C章节。
例如读取到模块Host Interface ID为0x11,则对应400GAUI-8 C2M (Annex 120E),Host侧实际速率为425Gbit/s,8个Host通道,单通道的波特率为26.5625GBd,编码方式为PAM4。
APP宣称的第二个Byte:Media Interface ID,在SFF-8024定义,详见Table 4-6 / 4-7 / 4-8 / 4-9等(仅截取部分),需根据模块宣称的光接口类型来解析对应的ID(光接口类型在Page00h Byte85定义),详见Table 8-18。例如模块Media类型若为多模,Page00h Byte85写值参考Table 8-20为0x01,此时查看SFF-8024中的Table 4-6 MMF media interface IDs如模块的Media类型若为单模,Page00h Byte85写值为0x02,此时查看SFF-8024中的Table 4-7 SMF media interface IDs
APP宣称的第三个Byte:通道数,Bit7-4位为Host通道数,Bit3-0位为Media通道数。
例如对于400G DR4模块,其宣称400G DR4应用时,其使用到的电通道数为8,光通道数为4,具体写值转换成二进制:0000b-由接口ID定义通道数;0001b-1个通道;0010b-2个通道...1000b-8个通道。
APP宣称的第四个Byte:Host通道分配情况,8bit分别对应8个通道,若为1则代表允许该应用占用从该通道起始的连续n个通道(n为第三个字节宣称的Host通道数)。APP起始通道宣称必须确保在该APP配置下,所有通道都可以同时配置为该APP配置且不冲突。
APP宣称的第五个Byte:Media通道分配情况,逻辑同第四个字节。
例如400G DR4模块:
①宣称1x400G应用时,模块共有8个电通道,4个光通道,该应用需要使用8个电通道和4个光通道,则该应用只能从电通道1和光通道1起始,第三个字节应写0x84(8电4光),第四个字节应写0x01(从通道1开始),第五个字节应写0x01(从通道1开始)。
②宣称4x100G应用时,该应用需要使用2个电通道和1个光通道,第三个字节应写0x21(2电1光),第四个字节应写0x55(从通道1、3、5和7开始),第五个字节应写0x0F(从通道1、2、3和4开始)





四、APP宣称寄存器位置
APP宣称在Page00h Byte86~117定义了8组,详见Table 8-20,在Page01h Byte223~250定义了7组,详见Table 8-53。而APP宣称的第五个Byte Media通道分配情况统一在Page01h Byte176~190定义,详见Table 8-52。
当模块宣称的APP应用不足15个时,需将第一个未宣称的APP位置的Host Interface ID写为0xFF,并将后续其它APP宣称字节全部设置为0x00。



五、APP切换
切应用码型操作步骤:
① Write Reg: 7F 10;
说明:pagelow.reg0x7F写10;切page到0x10。
② Write Reg: 80 FF;
说明:page10.reg0x80写FF;模块进入DPDeactivated态。
③ Write Reg: 91 20 20 20 20 20 20 20 20;
说明:page10.reg0x91地址写8个byte;标识要切的应用码。
④ Write Reg: 8F 01 FF;
说明:page10.reg0x8F写FF;将暂存控制集(Staged Control Set) 中的参数复制到活动控制集(Active Control Set),并启动 8 条数据通道的初始化。
⑤ Write Reg: 80 00;
说明:page10.reg0x80写00,退出DPDeactivated态。
⑥等待Dp状态机active态。
说明:Dp状态机查询:读取page11的0x80-0x83 4个字节。
⑦ 查询当前激活的应用码(如果跟配置的相同,则说明切码型成功)
说明:当前应用码查询为:读取page11的0xCE-0xD5的8个字节。