3、光模块接口标准:SFP/SFP+/QSFP接口定义、金手指引脚功能、关键信号说明

做光模块这么多年,我经常被问到同一个问题:“这些接口长得差不多,到底能不能混插?” 嗯,这个问题问得好。今天我们就来聊聊SFP、SFP+和QSFP这些接口标准。说白了,它们就是光模块和系统之间的“握手协议”。搞懂了这些,你基本就摸清了光模块的“脾气”。

3.1 从SFP到QSFP:接口的进化史

先说说SFP。SFP的全称是Small Form-factor Pluggable,小封装可插拔。它最早是为了替代GBIC模块而生的。我记得刚入行那会儿,GBIC模块个头大得像块砖头,SFP一出来,大家都觉得“真香”。

SFP+是SFP的升级版,主要区别在于速率。SFP最高支持4.25Gbps,而SFP+可以跑到10Gbps甚至16Gbps。有意思的是,它们的物理接口是完全一样的。你想想看,这意味着什么?

QSFP则是为了应对更高速率的需求。QSFP代表Quad Small Form-factor Pluggable,说白了就是“四通道SFP”。它把四个通道集成到一个接口里,单通道速率从10Gbps到100Gbps不等。我做过一个项目,客户非要拿QSFP28模块插到QSFP+的端口上,结果...嗯,后面我会讲这个坑。

3.2 金手指引脚功能详解

金手指是光模块和系统板卡之间的“桥梁”。每个引脚都有它特定的使命。我习惯把引脚分成几类:电源、地、信号、控制和管理。

SFP/SFP+ 金手指引脚(20引脚)

引脚编号 信号名称 功能描述 方向
1 VeeT 发射器地 -
2 Tx_Fault 发射器故障告警 输出
3 Tx_Disable 发射器禁用控制 输入
4 MOD_DEF2 I2C数据线(SDA) 双向
5 MOD_DEF1 I2C时钟线(SCL) 双向
6 MOD_DEF0 模块存在检测(接地) 输出
7 Rate_Select 速率选择 输入
8 LOS 信号丢失告警 输出
9 VeeR 接收器地 -
10 VeeR 接收器地 -
11 VeeR 接收器地 -
12 RD- 接收数据负端 输出
13 RD+ 接收数据正端 输出
14 VeeR 接收器地 -
15 VccR 接收器电源(3.3V) 输入
16 VccT 发射器电源(3.3V) 输入
17 VeeT 发射器地 -
18 TD+ 发射数据正端 输入
19 TD- 发射数据负端 输入
20 VeeT 发射器地 -
个人经验: 我调试时最常盯的是引脚2(Tx_Fault)和引脚8(LOS)。如果模块不发光,先查Tx_Fault是不是被拉高了。如果LOS一直高,说明接收端没信号。这两个引脚能帮你快速定位问题。

QSFP 金手指引脚(38引脚)

QSFP的引脚比SFP多了一倍,因为它要管理四个通道。关键引脚包括:

  • 引脚1-4: 四个通道的发射数据正/负端(Tx1-4+/-)
  • 引脚5-8: 四个通道的接收数据正/负端(Rx1-4+/-)
  • 引脚9-12: 控制信号(ModSelL、ResetL、LPMode、ModPrsL)
  • 引脚13-14: I2C接口(SCL、SDA)
  • 引脚15-38: 电源和地
注意: QSFP的ModSelL(模块选择)引脚是低电平有效。我曾经遇到过一块板子,软件工程师把ModSelL一直拉高,结果模块死活读不到ID。查了两天才发现是这个问题。嗯,这种低级错误,谁没犯过呢?

3.3 关键信号说明

这里我挑几个最容易出问题的信号,重点说一下。

MOD_DEF0(模块存在检测)

这个信号在SFP/SFP+模块中,是直接接到地的。系统板卡通过检测这个引脚的电平来判断模块是否插入。如果模块没插好,这个引脚会浮空,系统就认为没有模块。我建议你在做热插拔测试时,先确认这个信号是否正常。

Tx_Disable(发射器禁用)

这个引脚高电平时,发射器会被关闭。系统在初始化时,通常会先拉高Tx_Disable,等配置完成后再拉低。如果你发现模块不发光,先量一下这个引脚的电平。我见过有人把Tx_Disable和Tx_Fault搞混了,结果折腾了半天。

LOS(信号丢失)

LOS是接收端的告警信号。当接收光功率低于阈值时,LOS会被拉高。这个阈值一般在-30dBm左右,不同模块略有差异。我习惯在调试时用光功率计先测一下接收光功率,如果光功率正常但LOS还是高,那多半是模块本身有问题。

3.4 接口兼容性:能插不等于能用

很多人觉得SFP和SFP+接口一样,就能随便插。其实不然。SFP+模块可以插在SFP的端口上,但速率会被限制在1Gbps。反过来,SFP模块插在SFP+端口上,有些系统能自适应,有些则不行。

QSFP的情况更复杂。QSFP+(40G)和QSFP28(100G)的物理接口完全一样,但电气特性不同。我那个客户就是把QSFP28模块插到了QSFP+的端口上,结果模块不工作。原因很简单:QSFP+端口只支持10Gbps每通道,而QSFP28需要25Gbps每通道。

核心原则: 接口兼容性取决于三个因素——物理尺寸、电气特性和协议速率。缺一不可。

3.5 知识体系结构图

下面这张图是我自己整理的,把SFP/SFP+/QSFP的接口标准、引脚功能和关键信号串在了一起。你一看就明白它们之间的关系。

光模块接口标准知识体系 SFP/SFP+ QSFP/QSFP+/QSFP28 其他接口(CFP等) 20引脚金手指 速率:1G-16Gbps 关键信号:Tx_Fault/LOS 38引脚金手指 速率:40G-400Gbps 4通道并行传输 CFP/CFP2/CFP4 100G-400Gbps 体积较大,逐渐被QSFP替代 核心关注点:引脚定义 → 信号时序 → 电源管理 → 热插拔保护 注:SFP和SFP+物理接口兼容,但电气特性不同 QSFP系列各代之间需注意速率匹配

3.6 避坑指南

我曾经踩过的坑:

  • 热插拔顺序: 先插光模块,再上电。不要带电插拔,除非你的系统支持热插拔。我见过有人带电插拔,结果金手指烧了。
  • 金手指清洁: 金手指脏了会导致接触不良。我习惯用无水酒精擦拭,别用橡皮擦,会留下碎屑。
  • 速率匹配: 模块速率必须和端口速率匹配。10G模块插在25G端口上,不一定能自适应。

好了,关于接口标准就聊这么多。记住一点:接口标准是死的,但应用是活的。搞懂了引脚功能和信号含义,你就能灵活应对各种场景。下次遇到模块不工作,先别急着换模块,拿万用表量量关键引脚,说不定问题就找到了。

专注资料整理