光模块这个词,做网络、做数据中心的人天天挂在嘴边,但真正能把这一小块东西讲透的资料还真不多。当年我整理过一份《光模块基础知识.PDF》,原本只是自己查资料用的笔记,后来被同事转发了不知道多少轮,陆陆续续也有不少同行来问细节。趁着这次重新整理,我把那些容易被忽略的基础概念、选型踩过的坑、以及QSFP28这类高速模块的pin脚定义一并写出来,既能给刚入行的朋友一份可以照着做的手册,也能让老手查漏补缺。这篇文章适合三类人看:刚接触数据中心和园区网络的新人,做硬件设计、测试和互调的工程师,以及每天在机房里更换光模块的现场运维同学。
说实话,光模块这个领域看起来门槛不高,实际用起来全是细节。同样一只模块,放在A交换机上好好的,插到B交换机上就是不认;同一根光纤,跳线两头都插对了却不亮灯;甚至同样的型号,不同批次的表现都有差异。这些问题追根溯源,都要回到最基础的知识上去。下面我按自己习惯的思路,从原理、光纤匹配、封装参数、QSFP28接口定义、选型与故障排查几个方面完整过一遍。
1. 光模块到底是个什么东西
1.1 光模块的工作逻辑
光模块的本质是光电转换器,一头连着设备内部的电信号,另一头连着光纤里的光信号。发送方向,交换机芯片出来的高速差分电信号经过驱动电路,调制到激光器上,把电脉冲变成光脉冲射进光纤;接收方向,光纤另一端传来的微弱光信号打到光探测器和跨阻放大器上,再把光变回电信号,经过限幅放大后送回设备芯片。整个过程看起来简单,但里面牵扯到激光器偏置、消光比、眼图、灵敏度一堆概念。
打个比方,光纤就像一条高速公路,光模块就是收费站和出入口。电信号是城市里的车,光模块负责把车搬到高速公路上跑,到了目的地再把车卸下来变回电信号。车能不能顺利上高速,收费站的吞吐能力、车道宽度、路面质量都有影响。对应到工程上,就是模块的发射功率、调制带宽、光纤的损耗和色散、接收端的灵敏度共同决定链路能不能跑得稳。
需要特意提一下“模块化”这件事。为什么不做成设备主板上直接焊接的光器件,非要做成可插拔的小盒子?直接原因是维护和升级方便。一块板卡上如果焊死了光器件,激光器老化或者端口速率升级,整块板卡都要返厂。可插拔模块出了问题,拔下来换一只就行,几秒钟的事。速率从10G升到25G,很多时候只需要把SFP+模块换成SFP28模块,不用动交换机主板,这种灵活性在生产环境里太重要了。
1.2 光模块里面有什么
拆开一个常见的小封装光模块,核心器件大致有这几类:
- 激光器:负责发光。按波长和距离需求选择,常见的有VCSEL、FP、DFB、EML等。VCSEL便宜,多用于短距离多模;DFB单模性能好,适合中长距离;EML用于长距离高速率。
- 光探测器:负责接收光。常用PIN光电二极管和APD雪崩光电二极管,APD灵敏度更高,适合需要更大接收余量的场景。
- TIA跨阻放大器:把探测器出来的微弱电流信号放大成电压信号。接收灵敏度好不好,很大程度上看TIA的噪声性能。
- 驱动芯片和DSP:高速模块里还会有CDR、DSP、驱动器。DSP能做均衡和误码纠正,现在100G以上模块几乎离不开。
- 透镜和光纤耦合器件:把激光器发出的光高效率灌进光纤里,这里面有对准精度的问题,很多国产模块做得挺好,靠的就是这部分工艺积累。
- 控制电路:MCU、温度传感器、电可擦除存储,用来实现DDM数字诊断、参数存储、告警上报。
了解了内部结构,调故障的时候心里就有数了。比如DDM读到的激光器偏置电流异常偏大,可能是激光器老化;接收光功率高但误码率下不来,可能是接收链路的均衡参数没调好。下一步就可以带着思路去查。
2. 光纤和光模块,拆不开的一对
2.1 单模与多模怎么匹配
很多人把光模块和光纤当成两个独立的采购项,买回来插上不亮才想起来查匹配关系。光纤分单模和多模,光模块也分单模和多模,原则是模块类型要和光纤类型对应。
单模光纤纤芯直径通常是9微米,配合1310nm或1550nm波长的激光器,传输距离可以做到几公里、几十公里甚至上百公里。多模光纤纤芯直径是50微米或62.5微米,配合850nm波长的VCSEL激光器,适合几百米以内的数据中心内部互联。从外观上看,单模光纤护套多是黄色,连接器插头常见蓝色;多模光纤护套橙色或水绿色,插头颜色常见米色或黑色,但颜色不是绝对标准,还得看线缆上的印字。
选错会发生什么?单模模块插到多模光纤上,通常能亮但光功率损耗很高,距离一长就误码;多模模块插到单模光纤上,很可能完全不通。原因也好理解,多模模块的VCSEL光源耦合进9微米单模纤芯效率极差,反之单模激光器射进多模光纤的模态也乱套。实际项目中我见过不少人图省事,用多模跳线连接两个单模模块做短距测试,短距离或许能通,但余量差得很,不建议这么干。
多模光纤本身还分OM3、OM4、OM5,带宽依次更高,250米内100G传输,OM4基本是标配。如果是老机房里的OM1、OM2光纤,传输距离会大幅缩水,哪怕模块是新买的,链路预算也得重新算。
2.2 接口与跳线的坑
连接器这块最常用的是LC接口,双芯结构,一收一发。稍微老点的SC接口还有电信用的一些大机柜在用,MPO接口则用于多芯并行传输,比如SR4模块就靠MPO连接器一次跑4对收发。
有几个日常特别容易踩的坑:
- 跳线方向搞混:LC跳线一端A端一端B端,链路两端模块的TX和RX要交叉。模块面板上一般有TX、RX标识,但跳线是在A端TX对B端RX。很多时候百思不得其解为什么不亮,拿一根测试跳线一交叉就好了。所以第一排查动作一定是确认TX-RX交叉关系。
- BIDI模块要成对使用:单纤双向模块内部用波分复用把收发放在同一根光纤里,A端和B端必须配对,买的时候要注意区分A/B端型号,不能随便拿两只同型号去对通。
- 光纤端面脏:这是不亮、高误码的头号原因。哪怕只有一个灰尘颗粒,也可能让损耗飙升几个dB。模块插上前,用光纤清洁笔或者一次性端面清洁器处理一下跳线端面。
光纤和光模块的关系,一句话总结:先把光纤类型、接口类型、收发光性质理清楚,再谈选型,否则后面全是玄学。
3. 看懂光模块的参数和封装
3.1 封装形态演进
光模块封装跟着速率走。早年的GBIC又大又笨,后来被SFP取代,成为千兆和万兆端口的事实标准。SFP的兄弟姐妹也特别多,100M的SFP、1G的SFP、10G的SFP+、25G的SFP28,外观几乎一样,但速率不能混用。XFP当年也在10G市场存在过,体积比SFP+大,后来基本被SFP+淘汰。
到了40G和100G时代,QSFP和QSFP28成了主流。QSFP28名字里的Q代表四通道,每个通道25G,四路并行就是100G,所以QSFP28模块的形态和内部结构比SFP系列复杂不少。再往后还有QSFP-DD和OSFP,把通道数翻倍到8个,支撑400G甚至800G,但那是另一个话题。
为什么QSFP28在100G时代这么能打?原因很实际:端口密度高,一台1U交换机可以塞下几十个100G端口;功耗又比CFP这类老封装低很多,散热压力小;线缆方案灵活,既可以直接做分支线缆,也能从交换机40G端口平滑升级。
3.2 模块标签里的信息量
拿到一只光模块,型号本身就包含大量信息。以常见命名习惯来看,一段型号字符串往往包含这几层意思:
| 信息维度 | 常见写法 | 说明 |
|---|---|---|
| 速率 | 100G、25G、10G、1G | 明确端口速率 |
| 波长 | 850nm、1310nm、1550nm | 影响光纤类型和距离 |
| 传输方式 | SR、LR、ER、ZR、CWDM4、PSM4 | SR短距、LR长距、CWDM4是4波长复用 |
| 接口类型 | LC、MPO | 对应连接器 |
| 光纤类型 | MM多模、SM单模 | 决定能否配对光纤 |
| DDM | 一般默认支持 | 数字诊断监控能力 |
举个例子,QSFP28-100G-SR4的含义就是100G速率、850nm多模、4路并行、最大支持100米到150米(OM4光纤)。而QSFP28-100G-LR4则是1310nm单模、4个波长复用、传输距离能到10公里。选什么模块不是看名字多炫,而是要卡着实际链路距离和光纤类型来。
DDM这里单独说下,数字诊断监控接口是绝大多数模块的标配。通过I2C总线可以读到模块温度、电压、发射光功率、接收光功率、偏置电流等实时数据。这些东西在机房排障时极其有用,光模块是逐步劣化的,DDM可以在链路彻底中断前发现隐患。
4. QSFP28 光模块pin脚定义详解
4.1 为什么pin脚定义值得单独讲
很多工程师第一次接触QSFP28时,手里拿着一张datasheet,看到几十个pin脚一头雾水。QSFP28接口通常有38个金手指,分上下两排,既包含高速差分信号,又包含电源、地、低速管理信号。搞懂pin脚定义,至少能帮你做三件事:一是把模块接到自己设计的板卡上;二是通过万用表或逻辑分析仪判断模块是否在正常工作;三是在系统不识别模块时快速定位是硬件问题还是逻辑问题。
说句实在话,真正的硬件设计人员可以直接查SFF-8665连接器标准,但日常调试和排障更多是只关心那几类关键信号:高速收发通道、模块在位信号、复位信号、中断信号、I2C总线、低功耗模式控制。
4.2 关键pin脚速查与作用
QSFP28的38个引脚里,每个通道的差分对都由正负两根脚组成,并且在关键信号附近通常会安排地脚,用于高频回流。以下是我在实际项目里最常关注的几类信号,对应到标准接口定义上(具体引脚序号依据连接器手册为准,不同厂商模块之间基本兼容但做硬件时仍要仔细核对):
| 信号功能 | 方向 | 用途 |
|---|---|---|
| TX1p/TX1n ~ TX4p/TX4n | 模块输入 | 4路25G高速发送差分对,来自交换芯片或SerDes |
| RX1p/RX1n ~ RX4p/RX4n | 模块输出 | 4路25G高速接收差分对,回到交换芯片 |
| ModSellL | 模块输入 | 片选信号,低有效。只有片选拉低时,模块的I2C才响应 |
| ResetL | 模块输入 | 复位信号,低有效。拉低后模块内部逻辑复位 |
| ModPrsL | 模块输出 | 模块在位信号,低有效。拔掉模块后变高 |
| InterruptL | 模块输出 | 中断信号,低有效。模块检测到告警时拉低,主机读取状态后清掉 |
| SCL、SDA | 双向 | I2C时钟和数据,用于读写模块寄存器,获取DDM和厂商信息 |
| LPMode | 模块输入 | 低功耗模式使能,拉高时模块进入低功耗状态 |
| Vcc1、Vcc2、VccRx、VccTx | 电源 | 3.3V供电引脚,分别服务模块主电路和收发电路 |
| GND | 电源地 | 多个地脚,保证高频信号回流和散热 |
这里最容易被忽略的是LPMode和ResetL。有些通用模块出厂默认支持高功耗模式,但系统如果误把LPMode拉高,模块可能只出部分功率或者完全不工作,表现成光口不亮。ResetL也是,有的主板在初始化时长时间把复位脚置低,模块没起来,后续软件怎么配置都没用。
完整pin脚表建议去下载对应连接器厂商或者标准的PDF,我这份速查表的作用是帮你在原理图或排障时第一时间找到该量哪里。每次画板之前,一定把参考设计和标准两份文件放在一起核对,因为个别厂商会在低速信号上做交换,只看一份容易翻车。
4.3 现场用pin脚判断模块健康
拿万用表量一些关键pin是比较实用的办法:
- 量ModPrsL和Vcc之间的电平:模块插好后,ModPrsL应该被拉低。如果一直是高,先怀疑模块没插到位、金手指氧化或者模块本身坏。
- 量LPMode:系统正常状态下应该为低。如果误拉高,模块会降功耗,发射光功率可能不到正常值。这时候把LPMode释放为低,问题通常立刻消失。
- 量SCL和SDA上拉电压:I2C总线上一般有上拉电阻,量到对地短路,通常是模块坏了或者连接器里有异物;量不到上拉电压,则是主板侧没供电或上拉没接。
- 用示波器抓ResetL和InterruptL:模块上电后会有一次完整的复位过程,复位释放后如果模块有告警,InterruptL会出现低脉冲,再读寄存器清零。
这些操作都是在设备断电或者按照规范使用防静电措施的前提下进行的。带电插拔虽然现在很多商用模块都支持,但频繁带电插拔会加速金手指磨损,缩短使用寿命,能不折腾尽量别折腾。
5. 选型实战与故障排查
5.1 一套可复用的选型思路
选光模块,不要先看品牌和价格,先把链路需求拆清楚。我一般按下面这条路走:
- 端口速率:是10G、25G、40G、100G还是400G。速率决定封装形态,也决定预算范围。
- 传输距离:同一个速率下,几十米、几百米、几公里、几十公里,对应完全不同的模块方案和价格。
- 光纤现状:机房现有的是单模还是多模,是OM3还是OM4,是LC还是MPO。尽量不为了省模块钱而换光纤,换光纤成本更高。
- 工作温度:标准商业级0到70摄氏度,工业级可以做到-40到85摄氏度。室外柜放模块,必须考虑宽温型号。
- 兼容性:查设备官网的兼容列表,这步别偷懒。不同品牌交换机对模块厂商ID和寄存器处理方式不同,写死兼容列表的设备插了非认证模块,可能会拒认、降速、甚至不发光。
- 单模还是多模:400米以内的数据中心内部互联,多模加VCSEL方案性价比最高;超过400米,老老实实选单模LR或其它长距方案。
举个例子,一个数据中心机柜内互联,距离大概100米,交换机端口是100G,现有光纤是OM4多模。那么QSFP28-100G-SR4基本是最优解,成本低于LR4好几个数量级。如果这段链路跨楼连接,距离在2公里左右,那就要考虑单模CWDM4或LR4,使用LC单模跳线,并根据损耗预算选择是否加衰减器。
5.2 常见故障速查
光模块排障,大部分链路问题都能靠一条思路解决:先查光路,再查电路,最后查兼容性。下面是我常遇到的故障和对应处理办法:
| 现象 | 可能原因 | 排查和处理 |
|---|---|---|
| 模块插上后状态灯完全不亮 | 光纤接反、模块没插到位、供电异常 | 交叉跳线方向,重新插拔模块,确认LPMode和供电电压 |
| 本地模块发射功率正常,对端收不到 | 光纤损耗过大、连接器污染、光纤类型不匹配 | 清洁所有端面,用光功率计从对端测接收功率,对比模块灵敏度 |
| 端口亮灯但大量误码和丢包 | 接收光功率过高或过低、DSP均衡未收敛、污染 | 用衰减器把接收光功率控制在过载点以下、灵敏度以上 |
| 系统识别不到模块 | I2C不通、金手指氧化、兼容列表限制、模块损坏 | 量SCL/SDA电平,查ModPrsL电平,换一个已知好的模块对比 |
| DDM显示发射功率为0但设备说模块在位 | 模块内部驱动异常、激光器损坏、LPMode被拉高 | 复位模块,检查LPMode,读告警寄存器 |
| 温度一高就掉链子 | 散热不足、模块超温、风扇故障 | 看DDM温度,检查风道和风扇转速,必要时换工业级模块 |
这里面我想强调一个实战细节:不要一上来就换模块。很多时候换一个新模块当时是好了,但没两天又坏,根因其实是连接器里进灰或者光纤端面被磨坏了。新的模块插上去没过多久再次被污染,误判成模块质量问题。先清洁、再测试、最后换件,这个顺序能少走很多弯路。
5.3 一些容易忽略的小事
这些细节单看都不起眼,但组合起来就能决定一次项目是顺利验收还是反复返工。
- 防静电:光模块对静电敏感程度比想象中高得多。拿模块时尽量拿壳体侧面,不要碰金手指。机架旁边最好备静电手环或防静电垫。
- 光纤弯曲半径:单模光纤虽然抗弯性能提升不少,但长期小于最小弯曲半径会导致损耗增大和光纤断裂。扎带不要勒得太紧,线槽转角别走直角。
- 模块清洁:插拔模块前检查金手指是否氧化。如果发黑,用无尘布沾适量异丙醇轻轻擦拭,再等完全干燥后插回。
- 假模块和二手模块:市面上翻新模块很多,外壳印字可能对不上实际内部芯片。采购时尽量走正规代理,拿到手先查DDM里的厂商ID、序列号和激光器偏置电流是否符合正常范围。
- 标签管理:每根跳线、每个模块都贴好标签,写清链路的起点和终点。我在多个机房处理过“谁都说不清哪根线上连的是哪里”的事故,标签能救你一命。
选型做完,故障也排过一轮之后,光模块这块事基本就能拿得下来。我个人实际工作中最深的体会是:多数光模块问题都不是模块本身坏,而是周边环境、连接器、配置和兼容性这些细节没处理好。每次遇到疑难问题,先别急着戴帽子骂模块,把光路捋一遍、DDM掏出来看一眼、兼容列表翻一翻,往往答案就在其中。这套基础思路,以后换成400G、800G,甚至更往后推的新封装,底层逻辑依然是相通的。