第二章:QSFP物理接口与引脚定义
各位同学,今天我们来聊聊QSFP模块的物理接口。说实话,我刚入行那会儿,看着这38个引脚(后来还有76个)真是头大。但干久了你会发现,搞懂这些引脚,就像学会了看电路图的“交通规则”——信号怎么走、电源怎么供、控制怎么管,全在这几十个引脚里了。
2.1 从38引脚到76引脚:接口的演变
QSFP最早的标准是38引脚。你想想看,一个巴掌大的模块,要同时处理4路收发信号、电源、控制、还有各种状态监测,38个引脚其实挺紧凑的。
后来到了QSFP-DD(Double Density),引脚数翻倍到了76个。为什么?因为速率上去了,信号通道从4路变成了8路。我参与过一个项目,客户非要在一根光纤上跑400G,那会儿QSFP28的38引脚根本不够用,只能上QSFP-DD。
关键区别:
- 38引脚:支持4路通道,单路最高28Gbps(NRZ)或56Gbps(PAM4)
- 76引脚:支持8路通道,单路最高56Gbps(PAM4),总带宽可达400G/800G
说白了,引脚数翻倍,就是为了塞进更多的高速信号对。但电源和控制引脚基本没变——这部分设计很成熟,厂商们不想动。
2.2 高速信号引脚:TX和RX
这是模块的核心。QSFP的4路发送(TX)和4路接收(RX),每路都是一对差分信号。嗯,这里要注意:差分信号必须等长布线,否则时序会出问题。
我曾经遇到过一个问题:模块在实验室测试没问题,一上系统就丢包。查了三天,最后发现是PCB上TX3和TX4的走线差了2mm。2mm啊,在10Gbps以上的速率下,这就是灾难。
| 信号 | 引脚编号(38引脚) | 说明 |
|---|---|---|
| TX1+ / TX1- | 1, 2 | 发送通道1差分对 |
| TX2+ / TX2- | 3, 4 | 发送通道2差分对 |
| TX3+ / TX3- | 5, 6 | 发送通道3差分对 |
| TX4+ / TX4- | 7, 8 | 发送通道4差分对 |
| RX1+ / RX1- | 9, 10 | 接收通道1差分对 |
| RX2+ / RX2- | 11, 12 | 接收通道2差分对 |
| RX3+ / RX3- | 13, 14 | 接收通道3差分对 |
| RX4+ / RX4- | 15, 16 | 接收通道4差分对 |
个人经验:我建议在设计PCB时,TX和RX的差分对之间留出足够的间距(至少3倍线宽),否则串扰会让你怀疑人生。另外,每个差分对内部一定要等长,误差控制在5mil以内。
2.3 控制引脚:ModSelL, ResetL, LPMode
这三个引脚是模块的“大脑”和“开关”。
ModSelL(模块选择,低电平有效):当系统有多个QSFP模块时,通过这个引脚选中你要操作的模块。我见过有人把ModSelL直接接地,结果所有模块同时响应,I2C总线乱成一锅粥。
ResetL(复位,低电平有效):拉低这个引脚,模块会复位到初始状态。注意:复位后模块需要重新初始化,大概需要100ms左右。我曾经在项目中为了省时间,复位后立刻读寄存器,结果读回来的全是0xFF——模块还没准备好呢。
LPMode(低功耗模式):高电平时模块进入低功耗模式。这个功能在数据中心里特别有用——空闲端口可以省电。但要注意:进入低功耗模式后,高速信号通道会关闭,不能收发数据。
避坑指南:我曾经遇到过一个问题:模块在低功耗模式下,I2C通信还是正常的,但读回来的温度值不准。后来发现是低功耗模式下内部ADC精度下降了。所以如果你在低功耗模式下做监控,记得对数据做补偿。
2.4 电源引脚:Vcc, VccTx, VccRx
电源引脚是模块的“血液”。QSFP模块需要3.3V供电,但内部会分成三路:
- Vcc:主电源,给控制电路、I2C接口、状态监测等供电。电流大约100-200mA。
- VccTx:发送通道电源,给激光驱动器供电。电流取决于发射功率,一般200-500mA。
- VccRx:接收通道电源,给跨阻放大器(TIA)供电。电流相对较小,约100-200mA。
为什么要分开?说白了,就是防止串扰。发送通道的电流波动很大(激光器开关时),如果和接收通道共用电源,接收端的灵敏度会受影响。
我建议在PCB设计时,每个电源引脚旁边都要放去耦电容。0.1μF和10μF的组合是标配。位置要尽量靠近引脚,越近效果越好。
2.5 知识体系总览
下面这张图是我自己画的,把QSFP物理接口的核心逻辑串起来了。你一看就明白:
这张图把QSFP物理接口分成了三大块:高速信号、控制信号、电源。三者缺一不可。高速信号决定了你能跑多快,控制信号决定了你能不能管住它,电源决定了它能不能稳定工作。
总结一下:
- 38引脚是基础,76引脚是升级版,核心逻辑一样
- 高速信号要等长、要隔离、要差分
- 控制引脚要按时序操作,别乱来
- 电源要分开、要滤波、要稳定
好了,这一章就到这里。下一章我们聊聊I2C通信协议——这可是模块和系统对话的“语言”,搞不懂它,模块就是个哑巴。
公众号:蓝海资料掘金营,微信deep3321