光模块常见基本问题

可以。你昨天混淆的是两套不同的命名体系:

  1. 供应商或行业常用名称,例如:
text 复制代码
QSFP28-100G-ER4
  1. 公司内部成品命名,例如:
text 复制代码
QFP-BPxxHG-40DC

它们不能直接按字符串一一对应。

一、QSFP28-100G-ER4 的含义

通常可以这样理解:

部分 含义
QSFP28 光模块外形和产品系列
100G 总速率约 100 Gb/s
ER4 100G ER 类远距离方案,4 通常表示 4 个波长通道

这里的 ER4 是供应商或行业方案名称,不是公司内部命名规则。

尤其要注意:ER4 中的 4 与自动测试程序里的 i < 4 不一定有关系。它可能表示光学波长数量,而不是程序要测试的通道数量。

二、公司内部命名的格式

图片中的格式大致是:

text 复制代码
QFP - 模块类型 - 波长 - 速率 - 距离 - DDM - 温度 - 定制标记

例如:

text 复制代码
QFP - MM 85 FG - S1 D C Z

各字段含义如下:

字段 含义 示例
第 1 段 产品类型 QFP
第 2 段 模块类型 MMBP
第 3 段 波长 8531
第 4 段 速率 FGHG
第 5 段 传输距离 S11040ER
第 6 段 是否带 DDM DN
第 7 段 工作温度等级 CEI
第 8 段 定制功能标记 可选

三、QFP-BPxxHG-40DC 的拆解

可以按下面理解:

text 复制代码
QFP - BP xx HG - 40 D C
  • QFP:公司内部对 QSFP+、QSFP28、QSFP56 系列的产品类型简称。
  • BP:BIDI PAM4。图片中明确写的是:
text 复制代码
BP = BIDI PAM4
  • xx:波长字段的占位符。实际产品中应替换成真实波长代码,例如图片中的 8531,或者 BIDI 对应的代码。
  • HG:100 Gb/s。
  • 40:传输距离 40 km。
  • D:带 DDM 数字诊断功能。
  • C:商业温度等级,约 0~70 C
  • 最后的定制标记没有写出,可能表示该产品没有特殊定制,具体以负责人确认的完整型号为准。

因此,QFP-BPxxHG-40DC 表示的是:

text 复制代码
公司内部定义的 BIDI PAM4、100G、40 km、带 DDM、商业温度等级模块

四、它和 QSFP28-100G-ER4 是否相同

不能直接认为相同。

原因是:

text 复制代码
ER4

通常强调 4 波长 ER 方案,而公司代码中的:

text 复制代码
BP

表示 BIDI PAM4 方案。

这两个字段描述的光学结构可能不同。因此:

text 复制代码
QSFP28-100G-ER4

更像是供应商或行业名称;

text 复制代码
QFP-BPxxHG-40DC

是公司内部用于生产、数据库和测试软件的标准型号。

你们的软件数据库中的 Type 应该使用公司内部型号,例如:

text 复制代码
QFP-BPxxHG-40DC

而不是直接使用模块供应商写入的:

text 复制代码
QSFP28-100G-ER4

这也就是之前出现型号匹配和告警门限检查问题的根本背景:供应商 PN 与公司内部型号不是同一个字段。

五、和当前自动测试软件的关系

自动软件需要使用公司内部型号去查询数据库中的:

  • 告警门限
  • APC 补偿表
  • MOD 补偿表
  • APD 补偿表
  • 发射和接收测试参数

所以正确流程应是:

text 复制代码
模块供应商 PN
    ↓
识别或映射为公司内部型号
    ↓
用公司内部型号查询数据库
    ↓
执行门限和补偿表检查

不要仅仅根据 QSFP28-100G-ER4 中的 4 就把程序循环改成 4,也不要仅仅因为公司型号中写了 ER1 就认为程序一定只有一个通道。

图片中的 ER = ER1 位于"传输距离"字段,它是公司的距离编码,不是程序通道数。程序中的 i < 1 还是 i < 4,应由负责人定义的终测流程决定。

单通道和四通道,体现的是模块内部有几路独立的高速信号和光路。

可以把它理解成"车道数量":

text 复制代码
单通道模块:1 条高速通道完成全部传输
四通道模块:4 条高速通道共同组成总速率

例如两种常见 100G 实现:

text 复制代码
单通道 100G:
主机电信号 -> 1 路 100G -> 1 个激光器 -> 1 个光学波长 -> 光纤
text 复制代码
四通道 100G:
主机电信号 -> 4 路 25G -> 4 个激光器 -> 4 个光学波长 -> 光纤

四路 25G 合起来就是 100G

在实际模块上,区别通常体现在这些地方:

位置 单通道 四通道
发射端 1 路激光器/调制控制 4 路激光器/调制控制
接收端 1 路接收器 4 路接收器
光学波长 常见 1 个波长 常见 4 个波长
校准参数 1 组参数 每个通道可能各有一组参数
补偿表 可能一张连续的 32 点表 常见 4 路交错的 32 点表,共 128 字节
测试工装 测 1 路 光开关、光源、功率计可能需逐路切换
程序循环 常见 ch = 0 常见 ch = 0,1,2,3

你们刚才遇到的 LUT 就是一个很直观的例子。

单通道连续 LUT 可能是:

text 复制代码
温度点0 温度点1 温度点2 ...
CH0    CH0    CH0

而你负责人提供的手动 ER1 软件读取方式是:

csharp 复制代码
lut[4 * i + channel]

对应四通道交错结构:

text 复制代码
温度点0:CH0 CH1 CH2 CH3
温度点1:CH0 CH1 CH2 CH3
温度点2:CH0 CH1 CH2 CH3
...

所以自动软件要取 CH0 时,必须读取:

text 复制代码
768, 772, 776, ...

而不是连续读取:

text 复制代码
768, 769, 770, ...

后者会把同一温度点的 CH0、CH1、CH2、CH3 混成一条曲线,这就是之前 Flash 检查异常的原因。

还要区分一个容易混淆的点:

text 复制代码
模块内部有四通道
不一定表示自动终测必须测四次。

负责人要求自动流程写成:

csharp 复制代码
for (int i = 0; i < 1; i++)

表示当前终测流程只执行 CH0 的光学测试或校验。它不等于模块 Flash 里的 LUT 已变成单通道布局。

对你当前这个项目,可以这样理解:

text 复制代码
手动 ER1 原始软件:支持 CH0 到 CH3,Flash LUT 也是四通道交错格式。
自动终测软件:负责人要求只测 CH0,因此外层测试循环是 i < 1。
Flash 检查:仍需按四通道布局取 CH0 的数据。

最后,单通道/四通道和单模/多模没有直接等号:

text 复制代码
单模/多模:光纤中光怎么传播
单通道/四通道:模块内部有几路高速信号或光路
相关推荐
阿泰5557 个月前
育儿心得(2026.01.18)
个人
Adam Li_3 年前
年底个人总结
个人