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 | 发射器地 | - |
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: 电源和地
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的接口标准、引脚功能和关键信号串在了一起。你一看就明白它们之间的关系。
3.6 避坑指南
我曾经踩过的坑:
- 热插拔顺序: 先插光模块,再上电。不要带电插拔,除非你的系统支持热插拔。我见过有人带电插拔,结果金手指烧了。
- 金手指清洁: 金手指脏了会导致接触不良。我习惯用无水酒精擦拭,别用橡皮擦,会留下碎屑。
- 速率匹配: 模块速率必须和端口速率匹配。10G模块插在25G端口上,不一定能自适应。
好了,关于接口标准就聊这么多。记住一点:接口标准是死的,但应用是活的。搞懂了引脚功能和信号含义,你就能灵活应对各种场景。下次遇到模块不工作,先别急着换模块,拿万用表量量关键引脚,说不定问题就找到了。