上周整理测试机柜的时候我把手头几只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 ReachLR是长距离Long ReachER是超长距离Extended Reach后面跟的数字代表通道数或波长方案。100G SR44路25G并行850nmOM4光纤上限150米连接器通常MPO/MTP 12芯。100G LR44路25G波长复用LAN-WDM1295/1300/1304/1309nm左右通过单根LC单模光纤传输10公里模块本身把4路光复用在一根纤芯里接口是两个LC头TX和RX各一个。100G CWDM4类似LR44路波长复用但波长间隔更宽成本低一些常用于2公里内的数据中心互联。选型时最容易踩的坑在连接器上。SR4模块用MPO接口而MPO跳线的极性Polarity分Type A、Type B、Type C。同一个SR4模块插Type A和Type B跳线收发顺序可能是反的。模块本身没坏但你换一根跳线就通了说的就是这个原因。我第一次调MPO链路时就被极性坑过一次模块和光纤都是新的查了半天发现是跳线两端的主发光纤位置不对。单模LC跳线则要注意端面清洁。LR4模块对端面污染极其敏感一个灰尘颗粒就能把回损拉高导致接收端光功率告警。很多“模块不稳定”的故障你拿光纤显微镜一看端面上全是灰清洁后立竿见影。2.3 接口选型对照表与“傻瓜式”判断法我把常用场景整理成一张对照表方便你直接对着选。速率与距离需求推荐模块波长光纤类型连接器100G、机柜内/列间≤100mQSFP28 SR4850nmOM3/OM4多模MPO-12100G、楼宇/园区≤2kmQSFP28 CWDM41271/1291/1311/1331nmOS2单模双工LC100G、城域≤10kmQSFP28 LR4LAN-WDMOS2单模双工LC10G、数据中心一般链路≤300mSFP SR850nmOM3/OM4多模双工LC10G、长途局间≤10kmSFP LR1310nmOS2单模双工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原生是NRZPAM4一般需要在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这些规范确实枯燥但当你带着实际遇到的问题去翻的时候很多当初不懂的设计决策就通了。比如为什么某些引脚需要控制时序、为什么地址线要能做到偏移全都在规范里有解释。我自己学到现在的体会是光模块这行的知识点像一棵树封装和引脚是树根光纤和光路是树干协议和测试是枝叶。很多人一上来就在枝叶上使劲背各种速率波长结果遇到故障还是无从下手。先从树根开始摸后面一切都会自然串起来。最后分享一个这几个月一直保留的操作习惯每次上架一批新模块之前先用光纤显微镜把所有跳线端面检查一遍顺手给每根线贴上对应的链路编号标签。这二十分钟看着不起眼却能省掉后面排查时好几个小时的痛苦。光模块这东西七分靠选型三分靠维护而维护的功夫很多都在插线之前就已经开始了。