做 10G、25G 光口板,SFP 笼子的选型顺序可以压成三步:先定端口排布,再定散热和导光,最后按料号图纸核压接孔。以 VOOHU沃虎 的料号为例,单口 25G、无灯、散热孔的是 WHSFP30211W031,1×4 带导光柱的 10G 是 WH81-114-Y0006-1,2×6 外侧双灯的 25G 组件是 WHSFP32326F002,三颗都是压接安装。
笼子只负责模块的机械定位、插拔导向、屏蔽和散热路径,不参与信号处理,也不决定链路速率。速率由模块、主板 SerDes 和走线决定;从 10G 升到 25G,笼子跟着换代际,通道损耗和阻抗连续性还得单独确认。
先定排布:1×1、1×N、2×N 各有代价
| 排布 | 代表料号 | 结构和散热 | 取舍 |
|---|---|---|---|
| 1×1 | WHSFP30211W031(SFP28)、WH291Z02SD0S02(SFP+) | 单独笼子,散热孔 | 布局灵活,要另配连接器 |
| 1×N | WH81-114-Y0006-1(SFP+ 1×4)、WH394T219D7S32(SFP28 1×4) | 单独笼子,前者导光柱 + 散热孔,后者散热片 | 面板密度高,可以选散热片 |
| 2×N | WH29AT019D1S01(SFP+ 2×1)、WHSFP32326F002(SFP28 2×6) | 笼子 + 连接器成套,散热孔 | 密度最高,没有散热片版本 |
连排能提高面板密度、统一接地,但对 PCB 共面度、装配公差和返修的要求更高;单口逐个排布更灵活。两者没有对所有机型都成立的结论,按面板宽度、端口数和产线能力比。
BOM 上最容易漏的是连接器。单口和 1×N 的单独笼子里没有连接器,要另列一颗 20 位 SFP 连接器,例如 SFP+ 等级的 WH290Z019D0S01,贴片焊接,0.80 mm 间距。2×N 叠层是笼子加连接器的组件,一个料号就够。
散热片还是散热孔,先算笼子上方的净空
SFP、SFP+、SFP28 的 2×N 叠层组件,散热方式都是散热孔;带散热片的都是单排 1×N 的单独笼子。叠层的下层口被上层口压着,顶面没有位置装散热片,所以「下层口热就换散热片笼子」在叠层上走不通。
单排要换散热片版本,先算散热片多占的高度:
ΔH = H(总) − H(笼体)
| 料号 | 含散热片总高 | 笼体高度 | 散热片加高 |
|---|---|---|---|
| WHSFP10111W124(SFP+ 1×1) | 13.2 mm(参考值) | 8.90 mm | 4.30 mm |
| WHSFP30211W018(SFP28 1×1) | 12.95±0.35 mm | 8.95±0.15 mm | 4.00 mm |
两颗都要在笼子上方多留约 4 mm。WHSFP30211W018 的总高按上限算是 12.95 + 0.35 = 13.30 mm,结构件、子板或上盖离 PCB 的距离要按这个上限去对,还要给散热片周围留出过风的缝,贴死了反而不如散热孔。
面板这边不用动:两颗的面板开孔都是 15.45 × 10.40 mm,散热片在面板后面。另一个前提是风向,散热片鳍片沿笼子长度方向排,对应前进后出或后进前出的风道;侧吹风会被鳍片挡住。
导光柱:先定 LED 位置和端口编号
导光柱只把 PCB 上 LED 的光引到面板,自己不发光,也不参与高速信号。所以顺序是先定板上 LED 摆在哪、每口要几颗灯,再挑笼子的光导配置。
2×N 堆叠常见全灯、外侧双灯、内部双灯几种。WHSFP32326F002 的「外侧双灯」是指示位置集中在端口组外侧,不等于每个端口各有两颗灯。原理图、丝印、面板图例和软件端口编号最好用同一套顺序,首件逐口点亮核对,再同时点亮相邻口看有没有串光。
真串光了,先别急着换 LED。逐个端口点亮,同时遮住相邻通道,看光是从入光端、导光柱侧壁还是面板孔周围漏出来的,再决定改 LED 位置、加遮光结构还是降驱动亮度。整排亮度不一致时也一样,导光路径长度、弯折、装配倾斜和面板孔偏心都会影响出光,要在整排装好以后比。
屏蔽和面板:笼子只管一半,另一半在机壳
笼子的 EMI 屏蔽靠外壳、指片和接地路径,但整机能不能过测试,还取决于面板材质、机箱结构、PCB 布局和其他端口,笼子选型本身不构成合规结论。板级能做的,是把接触状态在最终机壳里确认清楚:
- 笼体和接地参考面的连接,是否符合这块板的设计意图;
- 面板涂层或氧化层,会不会让指片接触不上;
- 指片或接触位置有没有被结构件挡住;
- 多口之间,有没有因为装配偏差导致有的口接触好、有的口接触差。
面板配合也要在压接以后再看一遍。装上真实前面板、螺钉或导轨,检查笼体前端位置、锁扣的活动空间和模块插拔余量;有些笼体会伸出面板一截,好让锁定机构动作。只在裸板上试插,容易漏掉面板开口、涂层接触面和相邻端口干涉。
代际和封装资料:按目标模块选,按完整料号下资料
SFP、SFP+、SFP28 外形和引脚定义有共同基础,典型速率分别对应 1G、10G、25G,都是单通道;QSFP 系列和 QSFP-DD 是多通道,通道数和尺寸都不同。先按要插的模块定代际,再在同代际里挑排布、散热、导光。
画封装时,选型表里每个料号都有规格书和 3D 模型下载,推荐焊盘、压接孔和面板开孔尺寸看该料号的规格书。资料要跟完整料号走:后缀不同,导光、散热、安装方式都可能不同,封装不能套用。
压接孔按料号图纸核,不从公差反推孔径
Press-Fit 对孔的要求严,孔径公差提醒是 ±0.05 mm,但具体孔径、孔铜、板厚要看所选料号的机械图,不能从公差倒推。以 WH29AT019D1S01 为例,它是针眼(Eye-of-Needle)压接,孔径 ∅1.05,推荐 PCB 板厚 2.36 mm。
鱼眼针靠针自身的弹性变形保持接触,对金属化孔精度的要求比实心针低,插入力小,也能压出来返修。单口笼子可以用 Flat-Rock 方式安装,多口和堆叠建议用专用压接工具,板卡下方要支撑好,避免局部受力把笼子或 PCB 压出应力。
用一小段脚本先把候选筛一遍
把选型表里要用的几列抄下来,按需求排除,剩下的再去看图纸:
cages = [
# 料号, 代际, 排布, 光导, 散热, 是否含连接器
("WHSFP30211W031", "SFP28", "1x1", "无", "散热孔", False),
("WHSFP30211W018", "SFP28", "1x1", "无", "散热片", False),
("WH394T219D7S32", "SFP28", "1x4", "有", "散热片", False),
("WHSFP32326F002", "SFP28", "2x6", "外侧双灯", "散热孔", True),
("WH81-114-Y0006-1", "SFP+", "1x4", "导光柱", "散热孔", False),
("WHSFP10111W124", "SFP+", "1x1", "无", "散热片", False),
]
need = {"gen": "SFP28", "heatsink": True}
for pn, gen, layout, led, heat, with_conn in cages:
ok = gen == need["gen"] and (heat == "散热片") == need["heatsink"]
note = "" if with_conn else ",另配 20 位连接器"
print(pn, layout, "进入候选" + note if ok else "排除")
按「SFP28、要散热片」跑,剩 WHSFP30211W018(1×1)和 WH394T219D7S32(1×4),都要另配连接器。脚本只做排除,面板开孔、压接孔、高度还要拿图纸逐项核。
从图纸到首件,按四步验证
**1.**纸面核对:机械图、PCB 孔表、面板图用同一个版本,上方净空按总高上限算。
**2.**首件压接:用正式工装压,记录压接前后高度、共面度、外观和插拔手感。
**3.**链路验证:插已知正常的模块,在不同端口跑项目规定的稳定性测试;只拒某个品牌模块时,先分清是主机固件的编码策略,还是笼子硬件。
**4.**整机复查:装进最终机壳,满端口、目标风量、最高环境温度下看灯态、温升和 EMC。
需要现成料号打样时,VOOHU沃虎 的 WHSFP10111W124(SFP+)和 WHSFP30211W018(SFP28)是带散热片的 1×1 压接笼子,自有料号可在官网申请样品,1 个工作日内回复。
常见问题
Q1:SFP+ 的笼子能直接用在 SFP28 口上吗?
A:不能只看外形。SFP 系列外形相近,但不同料号的连接器形式、EMI 指片、散热配置和焊盘可能不同,按目标模块的代际选对应料号,再核面板开孔和封装。
Q2:QSFP28 的板子能换成 QSFP-DD 笼子吗?
A:不能直接换。QSFP-DD 比 QSFP 系列多一排触点,连接器和笼子结构都不同,要按目标模块标准重新选型、改封装。
Q3:2×N 叠层下层口温度高,有什么办法?
A:叠层没有散热片版本,先调端口分配,把功耗大的模块放上层或整排两端,再改善顺着笼子长度方向的风道;还压不住,下一版把最热的几个口改成单排加散热片。
参考资料
- WHSFP30211W031、WH81-114-Y0006-1、WHSFP32326F002、WHSFP10111W124、WHSFP30211W018、WH29AT019D1S01 规格书与机械图