4. 光模块与器件选型工程
做光通信链路设计,有个概念我特别看重——上升时间预算。
说白了,它就是一套检查工具。帮你判断:信号经过发射机、光纤、接收机这一路,会不会被拖垮。
我记得刚入行那会儿,有次调一个10G链路,眼图怎么都睁不开。查了一圈,最后发现是上升时间超了预算。从那以后,我每次做链路设计,第一件事就是算上升时间。
4.1 系统带宽与上升时间的关系
先聊个基础关系。系统带宽和上升时间,其实是同一个硬币的两面。
对于一个一阶低通系统,有个经典公式:
Tr = 0.35 / BW
其中:
- Tr —— 10%~90% 上升时间,单位 ns
- BW —— 系统 -3dB 带宽,单位 GHz
举个例子。一个 10Gbps 的 NRZ 信号,典型带宽需要 7.5GHz。那么上升时间就是:
Tr = 0.35 / 7.5 ≈ 0.047 ns = 47 ps
嗯,47 皮秒。如果系统里某个器件上升时间超过这个值,信号就会明显失真。
4.2 上升时间预算的组成
一个完整的光链路,上升时间由三部分贡献:
| 贡献源 | 符号 | 典型值范围 | 主要影响因素 |
|---|---|---|---|
| 发射机 | Tr_tx | 20 ~ 50 ps | 激光器驱动电路、调制器带宽 |
| 光纤链路 | Tr_fiber | 10 ~ 200 ps | 色散、非线性效应 |
| 接收机 | Tr_rx | 30 ~ 80 ps | 光电探测器、TIA、限幅放大器 |
总上升时间的计算公式是:
Tr_system = sqrt(Tr_tx² + Tr_fiber² + Tr_rx²)
为什么是平方和开根号?因为这三个环节的响应是级联的,时域上近似独立,用均方根叠加最合理。
4.3 色散对上升时间的影响
色散这块,我吃过不少亏。
光纤里的色散,会让不同波长的光跑得不一样快。结果就是:脉冲被展宽,上升时间变差。
色散导致的上升时间增量,可以这样估算:
Tr_fiber = |D| × L × Δλ × 0.35
其中:
- D —— 色散系数,单位 ps/(nm·km)
- L —— 光纤长度,单位 km
- Δλ —— 光源谱宽,单位 nm
举个例子。一个 10km 的 G.652 光纤,D=17 ps/(nm·km),光源谱宽 0.5nm:
Tr_fiber = 17 × 10 × 0.5 × 0.35 ≈ 29.75 ps
你看,光色散一项就贡献了近 30ps。如果发射机上升时间 40ps,接收机 50ps,总上升时间就是:
Tr_system = sqrt(40² + 29.75² + 50²) ≈ 71.5 ps
对于 10Gbps 信号,这个值已经接近极限了。眼图肯定会有闭合风险。
4.4 上升时间预算的完整流程
我一般按下面几步来做预算:
- 确定信号速率 —— 比如 10Gbps、25Gbps、100Gbps
- 计算目标上升时间 —— Tr_target = 0.35 / BW
- 分配各环节预算 —— 发射机 40%、光纤 30%、接收机 30%
- 查器件手册 —— 确认实际上升时间是否在预算内
- 留裕量 —— 总上升时间不超过目标值的 80%
- 仿真验证 —— 用软件跑一下眼图,确认没问题
下面这张图,是我自己总结的上升时间预算流程:
4.5 实际案例:10Gbps 链路上升时间预算
拿一个真实的 10Gbps 链路来算一遍。假设:
- 发射机上升时间:Tr_tx = 35 ps
- 光纤链路(20km G.652,谱宽 0.4nm):Tr_fiber = 17 × 20 × 0.4 × 0.35 ≈ 47.6 ps
- 接收机上升时间:Tr_rx = 45 ps
总上升时间:
Tr_system = sqrt(35² + 47.6² + 45²) ≈ 73.2 ps
10Gbps 信号的目标上升时间:
Tr_target = 0.35 / 7.5 ≈ 46.7 ps
73.2 ps 远大于 46.7 ps。这个链路肯定不行。
4.6 常见误区与避坑
做上升时间预算,有几个坑我踩过,分享给你:
- 忽略测试设备的影响 —— 示波器本身也有上升时间。测 40ps 的信号,用 100ps 的探头,结果肯定不准。我一般要求测试设备上升时间不超过被测信号的 1/3。
- 只看典型值不看最大值 —— 器件手册给的典型值往往很漂亮,但批量生产时会有偏差。我习惯用最大值做预算,这样更保险。
- 忘记温度效应 —— 激光器的上升时间在高温下会变差。我在做 85°C 高温测试时,发现 Tr_tx 从 35ps 涨到了 55ps。预算里一定要考虑温度范围。
- 色散只算 G.652 —— 现在 G.655、G.657 光纤很常见,色散系数不同。别拿 G.652 的参数去算其他光纤,会出大问题。
上升时间预算,说白了就是一道算术题。但算对了,能帮你省下大量调试时间。下次做链路设计,不妨先花 10 分钟算一算。你会发现,很多问题在动手之前就已经暴露了。