上周整理测试机柜的时候,我把手头几只QSFP28光模块挨个拆下来擦金手指。正擦着,旁边刚入行的同事凑过来问:“这玩意儿的引脚到底是怎么定义的?我看网上图,一会儿38pin一会儿20pin,根本对不上。”我愣了一下——这个问题我当年也困惑过很久。光模块这东西,越往深里学越发现,真正决定你能不能把它用好、调通、排障的,恰恰是那些不起眼的物理层细节。这篇“光模块学习笔记(二)”,我就打算从封装、引脚、光纤搭配这几个角度展开聊聊,把“会用”和“懂原理”之间那段距离补齐。这一篇的内容更适合已经能区分SFP和QSFP28、但还想搞明白“为什么模块会不亮”“为什么换根跳线就好了”这类问题的朋友。
1. 为什么第二篇笔记要从封装和引脚聊起
1.1 从SFP到QSFP28:封装演进背后的工程逻辑
光模块的学习路径里,很多人习惯先记速率、波长、距离这些“看得见的指标”,但封装形式才是真正决定一块模块如何使用、能插在什么设备上的硬边界。你拿一只SFP+模块去插QSFP28端口,物理上就插不进去,更别提协议层的事情了。所以我把封装放在第二篇的开头——它既是物理接口的约束,也暗含了整个光通信系统演进的核心思路。
SFP+的封装为什么那么窄?因为它内部只跑1路高速信号,10G时代单通道速率就能满足需求,窄小的壳体可以塞进高密度面板,一个48口交换机前面板能排下48个10G端口。到了25G/100G时代,单通道速率虽然也能做到25G,但如果一个端口只有1路25G,那就无法满足100G的带宽需求。怎么解决?两种路线:一是把单通道速率继续往上提,做100G单波,那是另一套技术栈;二是用并行通道的思路,把4路25G塞进同一个模块,就诞生了QSFP28——Q就是Quad,四通道的意思。
QSFP28在物理上比SFP+要宽一些、深一些。宽度增加是为了放下4套激光器/探测器组件和对应的驱动电路;深度增加则是为了容纳更复杂的高速信号布线,以及解决散热问题。100G模块的功耗普遍在3.5W左右,而SFP+ 10G模块一般不到1W,散热面积必须跟着增大。
我在实际项目里体会最深的一点是:封装演进的背后是信号完整性、散热、端口密度三者的三角博弈。QSFP28之所以能成为100G时代的事实标准,就是它在这三者之间找到了当时最稳的平衡点。后来的QSFP-DD、OSFP把通道数翻倍到8路,触点加密了一倍,但发热和连接器机械强度的问题也随之而来。所以你去看现在的400G数据中心,不少方案开始往OSFP走,不是因为QSFP-DD不好,而是散热和可维护性的权衡在变化。
1.2 光模块的“外壳语言”:拔环、卡扣、散热面与标签
除了引脚本身,封装外壳上每个设计都不是随便来的。我自己最早忽略的一个细节是拔环的方向。有些QSFP28模块的拉环是扁平的,有些是带弧度的,安装时如果角度不对,模块推进笼子时会卡在导轨上。这时候硬推很容易把PCB边缘的金手指刮花,严重的会让模块直接报废。经验是:插入前先观察拔环是否与模块底面平行,推进去时感觉阻力突然变大,先退出来换个角度再试,不要用蛮力。
散热面也一样。QSFP28的金属顶盖不只是为了屏蔽电磁干扰,它同时承担着把芯片热量导到笼子散热片上的任务。很多模块侧面能看到一条条散热鳍片,那就是给被动散热用的。在机柜里如果上下设备间距太近,把模块的散热风道挡住,温度读数会一路飙到70℃以上,出现告警甚至激光器自动关闭。
还有模块上的标签纸,千万不要觉得它只是贴纸。标签上的编码信息其实是选型的第一道依据:第一行是速率和封装,比如“100G QSFP28”;第二行是传输标准和波长,比如“SR4 850nm”;第三行往往是传输距离和光纤类型,比如“100m OM4”。我后面会专门写一节怎么快速读透这张标签,这里先记住一点:模块的“身份信息”全在这张小小的标签里,拍照保存是调试前的好习惯。
2. 光纤、连接器与光模块:先分清谁是谁
2.1 单模和多模光纤如何决定模块的波长与距离
学光模块绕不开光纤,但很多人一开始把光纤和模块混在一起记,结果选型时搞出“单模模块配多模跳线”这种经典事故。我先把关系说清楚:光纤是传输介质,光模块是电光转换的接口,两者通过连接器对接。它们必须匹配,但匹配的维度不是“单模对单模”这么简单。
多模光纤(OM3/OM4)芯径粗,通常为50/125μm,工作波长以850nm为主,光源多用VCSEL垂直腔面发射激光器。它的好处是VCSEL成本低、功耗小、适合短距离大带宽并行传输,所以SR4这种100G短距离模块几乎都跑多模。多模光纤的核心毛病是模式色散——不同角度的光在纤芯里走的路径长度不一样,到终点时会散开。距离一长,脉冲展宽,误码率就上去了。所以OM3跑到100G一般标称100米以内,OM4可以到150米。
单模光纤芯径细,9/125μm,工作波长在1310nm或1550nm,光源用FP或DFB激光器。因为芯径细,光的模式单一,色散小,能跑很远。10G LR模块标称10公里,40G LR4标称10公里,100G LR4标称10公里,这些全是单模光纤。代价是激光器更贵,光路对准更难。
这里有个很常见的问题:多模光纤上能不能跑单模模块?短距离、低速率实验里有时能通,但光功率损耗会很大,而且长距离必然误码。单模光纤上能不能跑多模模块?850nm的光进9/125μm的纤芯,耦合效率极低,大概率直接不亮。我在实验室遇过一次SR4模块配了一根单模LC跳线,结果死活点不亮,查了半天才发现是跳线拿错了——这种低级错误,越是有经验的人越容易犯,因为太自信了。
2.2 SR、LR和跳线类型不匹配时的典型症状
我们把模块的型号后缀拆开看:SR是短距离(Short Reach),LR是长距离(Long Reach),ER是超长距离(Extended Reach),后面跟的数字代表通道数或波长方案。
- 100G SR4:4路25G并行,850nm,OM4光纤上限150米,连接器通常MPO/MTP 12芯。
- 100G LR4:4路25G波长复用(LAN-WDM,1295/1300/1304/1309nm左右),通过单根LC单模光纤传输10公里,模块本身把4路光复用在一根纤芯里,接口是两个LC头(TX和RX各一个)。
- 100G CWDM4:类似LR4,4路波长复用,但波长间隔更宽,成本低一些,常用于2公里内的数据中心互联。
选型时最容易踩的坑在连接器上。SR4模块用MPO接口,而MPO跳线的极性(Polarity)分Type A、Type B、Type C。同一个SR4模块,插Type A和Type B跳线,收发顺序可能是反的。模块本身没坏,但你换一根跳线就通了,说的就是这个原因。我第一次调MPO链路时就被极性坑过一次,模块和光纤都是新的,查了半天发现是跳线两端的主发光纤位置不对。
单模LC跳线则要注意端面清洁。LR4模块对端面污染极其敏感,一个灰尘颗粒就能把回损拉高,导致接收端光功率告警。很多“模块不稳定”的故障,你拿光纤显微镜一看,端面上全是灰,清洁后立竿见影。
2.3 接口选型对照表与“傻瓜式”判断法
我把常用场景整理成一张对照表,方便你直接对着选。
| 速率与距离需求 | 推荐模块 | 波长 | 光纤类型 | 连接器 |
|---|---|---|---|---|
| 100G、机柜内/列间(≤100m) | QSFP28 SR4 | 850nm | OM3/OM4多模 | MPO-12 |
| 100G、楼宇/园区(≤2km) | QSFP28 CWDM4 | 1271/1291/1311/1331nm | OS2单模 | 双工LC |
| 100G、城域(≤10km) | QSFP28 LR4 | LAN-WDM | OS2单模 | 双工LC |
| 10G、数据中心一般链路(≤300m) | SFP+ SR | 850nm | OM3/OM4多模 | 双工LC |
| 10G、长途局间(≤10km) | SFP+ LR | 1310nm | OS2单模 | 双工LC |
个人判断法很简单:先看端口旁边丝印或设备规格书支持哪种封装,再去查模块标签,确认波长和距离,最后看跳线端面是MPO还是LC。四步走完,90%的选型错误都能避免。剩下的10%,比如OM3光纤能不能跑OM4的150米指标,答案是物理上能跑但余量不够,建议降级使用而不是硬撑。
3. QSFP28引脚定义:把几十个触点按功能分组吃透
3.1 高速差分线、电源地和低速管理区的布局规律
QSFP28的触点排布很多资料里写得很复杂,动不动就是一张密密麻麻的引脚图。我的建议是不要试图背每一个引脚号,而是把几十个触点按功能分成四组来理解。这四组是:高速发射差分对(TX)、高速接收差分对(RX)、电源与地(Vcc/GND)、低速管理与控制信号(I2C、ModSelL、ResetL、LPMode、InterruptL等)。
底排和顶排的布局有规律可循:底排承担了更多的接地和发射差分信号,顶排集中了接收差分信号、电源和低速管理线。这样做的工程理由很实在——把电源管脚分布在模块两侧,可以降低大电流通路的压降;把高速差分对放在中间并用地线隔开,可以减少信道间串扰;而低速管理线相对远离子高速区,避免被高频信号干扰。你仔细看连接器图纸时,会发现相邻引脚之间经常夹着GND,这不是浪费,而是给高速信号提供的“屏蔽墙”。
我调试时习惯用万用表先量电源和地,确认模块上电正常后,再去量管理信号。千万别一上来就拿示波器怼高速差分脚,那需要差分探头和对应的测试治具,搞不好还会把模块内部芯片击穿。
3.2 控制与管理信号里最容易忽略的坑:I2C、ModSelL、ResetL、LPMode
很多时候模块插上去不识别,不是光路问题,而是低速管理信号没对。这一块对新手来说是最容易懵的。
I2C总线是模块和主机通信的通道。模块内部的DDM寄存器(数字诊断监控),比如光功率、温度、电压、电流,全是靠I2C读出来的。一个交换机端口上可能有多个模块共用同一条I2C总线,必须有一个机制决定哪个模块在线应答——这就是**ModSelL(模块选择)**信号。它低电平有效,主机拉低哪一路的ModSelL,哪一路模块就被“点名”,可以应答I2C操作;其余模块保持高阻态,不干扰总线。
实际维护中我踩过一个坑:某国产交换机在复位后,ModSelL时序跟模块固件预期不一致,造成模块偶发不被识别。查到最后是软件里初始化时序太急,主机在模块内部固件还没起来时就发I2C读命令,模块自然不会应答。后来把延时从1ms拉到50ms,问题消失。
ResetL是复位信号,同样低电平有效。如果它被意外拉低,模块会硬复位,正在跑的链路直接中断。有些设备在升级固件时会统一拉一次复位线,如果你的模块在业务中突然“消失”,可以怀疑一下复位时序。
LPMode是大功率模式控制位。QSFP28模块在低功耗模式下激光器可以关闭,用于省电。但如果系统误把LPMode拉高(很多板子这个信号默认就是拉高的),模块光口就不会发光,链路自然不通。我第一次遇到LPMode坑时,查了半天以为是模块坏了,最后发现是调试板子上的跳线帽把LPMode接到了高电平。
InterruptL是中断信号,模块主动告诉主机“我有告警”,比如温度越限、光功率异常。它也是低电平有效,主机检测到中断后去读I2C寄存器就能知道发生了什么。这个信号是排障时最有价值的线索来源。
我把关键控制信号的作用整理成一张表:
| 信号名 | 方向 | 有效电平 | 作用 | 排障关注点 |
|---|---|---|---|---|
| ModSelL | 主机→模块 | 低 | 选中模块进行I2C通信 | 模块不识别时先量它有没有被拉低 |
| ResetL | 主机→模块 | 低 | 复位模块内部逻辑 | 业务中断瞬间此脚是否有低脉冲 |
| LPMode | 主机→模块 | 高 | 低功耗模式,可能关激光器 | 光口不发光时检查此脚电平 |
| InterruptL | 模块→主机 | 低 | 模块主动上报告警 | 温度/电压/光功率异常时它会拉低 |
| SCL/SDA | 双向 | 开漏 | I2C时钟与数据 | 总线上拉电阻是否在位,地址是否冲突 |
提示:很多QSFP28模块的I2C器件地址不是固定的,部分厂家用引脚或寄存器方式允许偏移。多只模块共线时,地址冲突会导致所有模块都无法正确应答,排查时可以把地址偏移关闭再试。
4. 从引脚到故障:一次链路不亮的完整排查链路
4.1 排查顺序:供电、管理、光路、数据面
我最常被问的问题就是“模块插上去灯不亮,怎么办”。新手容易乱试乱拔,老手则有一套固定顺序。我的习惯是:先查供电与物理接触,再查低速管理,然后查光路,最后才查数据面。顺序不能乱,因为数据面正常的前提是前面几层都正常。
第一步,看一下模块金手指和笼子端口。金手指有划痕、氧化或者端口里有异物,直接导致接触不良。我曾处理过一批“偶发不识别”的故障,后来发现是机房隔壁装修的灰尘进到了笼子里,积在连接器弹片上,模块插上去接触电阻变大,管理信号间歇性失效。清灰之后全好。
第二步,确认模块有没有正常上电。用万用表量模块供电脚对地电压,QSFP28的标准供电是3.3V。如果电压不对,问题大概率在主板电源电路而不是模块本身。量的时候注意别把表笔碰到旁边的差分信号脚。
第三步,量低速管理信号。把ModSelL、ResetL、LPMode、SCL/SDA的电平都量一遍。正常情况下ResetL和ModSelL是高或按需拉低,LPMode在正常工作时应为低,SCL/SDA空闲时应有上拉到高。任何异常都直接解释了你为什么读不到DDM。
第四步,测光路。用光功率计在模块的光口测发端光功率,再通过与实际跳线相连的远端测接收光功率。如果发射功率正常但接收端收不到,问题出在光纤链路而不是模块——连接器极性、光纤断芯、端面污染都有可能。
第五步,看数据面。链路两端都通了光,还是ping不通或误码高,此时才去查眼图、FEC统计、协商模式之类的协议层问题。
4.2 DDM读数和误码率:让模块自己说出真相
模块自带的DDM诊断功能是我排障时最爱用的工具。通过I2C读取寄存器,能直接拿到模块内部温度、Vcc电压、TX/RX光功率等数值,相当于模块在自述健康状况。
但DDM数值不能只会读,还要会判断真假。比如有的劣质模块,无论链路通不通,TX光功率永远显示一个正常值,那是因为它读数来自外部计算器而不是真实采样。排查这类问题,最直接的办法是用光功率计实测发射口,拿实测值和DDM读数对比。如果两者差异超过2dB,基本可以判定这个模块是个“盲人”。
误码率(BER)是数据面的核心指标。100G链路在无FEC情况下的判决阈值一般是1E-12,开启RS-FEC后能提升到1E-15级别。日常维护时FEC计数器是第一个要看的指标:如果FEC纠正码字数量在缓慢增长,说明链路质量在劣化;如果FEC无法纠正的错误在增长,链路随时可能断。很多时候光功率看起来还够,但眼图已经闭合了,就是FEC在硬扛。
4.3 金手指氧化、线缆适配等“看起来无关”的坑
排障排到最后,最常见的往往是那些最不起眼的问题。
金手指氧化这事我前面提过,再展开一句:金属触点长期暴露在机房环境中,尤其是湿度偏高的地区,表面会长一层氧化膜。最初只是接触电阻变大,偶尔一次不识别;再严重一点,高速信号反射变大,误码率慢慢升高。处理方式是用分析纯级别的无水酒精和无尘布,顺一个方向轻轻擦拭金手指,不要来回搓。有人习惯用橡皮擦,我极其不建议——橡皮屑会残留在触点上,反而引入新的污染。
跳线弯曲半径是另一个“看起来无关”的坑。单模光纤允许的最小弯曲半径一般是动态20倍外径、静态10倍外径,超过这个半径,弯曲处会产生额外损耗,严重时直接把链路压断。数据中心最常见的场景是机柜理线时把光纤在束线环上绕了一圈又一圈,看起来整齐,实际损耗已经超了。
还有一个高频问题:光模块和光模块之间的直连DAC/AOC线缆。DAC线缆两端都是SFP+/QSFP28公头,没有光路,纯粹用铜缆直连,短距离成本极低。这种线缆对信号完整性更敏感,长度超过3米后误码率明显上升。AOC则是把模块和光纤做成一体,光路做死在两端,排障时更简单——但一旦光纤断了,整个线缆就报废,没法像普通模块那样只换跳线。
5. 选型、规格书与后续学习路径
5.1 用一张清单快速判断光模块规格书是否靠谱
很多时候你拿到手的不一定是原装模块,尤其是市场上大量兼容模块。怎么快速判断一份规格书靠不靠谱?我有一套自己的核对清单:
- 速率和封装:明确写了“QSFP28 100G”不等于能用在所有端口,还要确认是否支持你的设备需要的工作模式,比如4×25G NRZ还是4×50G PAM4,这两种模式对DSP和光器件的要求完全不同。QSFP28原生是NRZ,PAM4一般需要在QSFP56或QSFP-DD上跑。
- 波长和光谱:写清楚中心波长、边模抑制比、光谱宽度才算合格。只有波长没给光谱,很多情况下做不了波长复用系统的可行性判断。
- 光功率指标:发射光功率(Tx Power)、接收灵敏度(Rx Sensitivity)、过载光功率(Overload)这三个必须齐全。只给发射功率不给灵敏度的,大概率是数据不全或模块性能不佳。
- 电源和功耗:QSFP28典型功耗一般在3.5W以内,超过4W的模块在高密端口场景会很麻烦,散热和供电都可能扛不住。
- 工作温度范围:商业级一般是0~70℃,工业级能到-40~85℃。数据中心机房环境0~70℃够用,但户外机柜或非空调机房就得考虑工业级。温度范围写在规格书里但实际运行达不到的模块,最容易出现“夏天大故障”。
按照这个清单过一遍,基本能把不合格的模块筛掉一大半。我在选兼容模块时,还会要求供应商提供同批次抽样实测报告,包括眼图、灵敏度曲线和误码率测试,而不是只看宣传文档。
5.2 学习光模块的个人路径:先物理层再协议层
如果你刚接触光模块,我给一个从实践过来的学习顺序建议。
第一步,把封装认全。SFP+、QSFP28、QSFP-DD、OSFP,先记住它们的长相、速率能力和典型场景。不要急着记引脚号,先知道“这几种封装互相不能插”就够了。
第二步,把光路跑通。准备一对二手模块、两根对应的跳线和一个简单的环路测试,把模块自发自收跑通。这个过程中你会自然理解光纤类型、波长、连接器极性和DDM读数的关系。
第三步,读懂管理总线。用I2C工具去读模块寄存器,看看温度、电压、光功率是怎么来的。这一步能把“模块”从一个黑盒子变成“可以对话的设备”。
第四步,再回来看标准文档。SFF-8436、SFF-8665这些规范确实枯燥,但当你带着实际遇到的问题去翻的时候,很多当初不懂的设计决策就通了。比如为什么某些引脚需要控制时序、为什么地址线要能做到偏移,全都在规范里有解释。
我自己学到现在的体会是,光模块这行的知识点像一棵树:封装和引脚是树根,光纤和光路是树干,协议和测试是枝叶。很多人一上来就在枝叶上使劲,背各种速率波长,结果遇到故障还是无从下手。先从树根开始摸,后面一切都会自然串起来。
最后分享一个这几个月一直保留的操作习惯:每次上架一批新模块之前,先用光纤显微镜把所有跳线端面检查一遍,顺手给每根线贴上对应的链路编号标签。这二十分钟看着不起眼,却能省掉后面排查时好几个小时的痛苦。光模块这东西,七分靠选型,三分靠维护,而维护的功夫,很多都在插线之前就已经开始了。