3、电源管理与上电时序:光模块供电架构
各位工程师朋友,咱们接着聊热插拔。前面讲了接口定义和接地设计,那都是“物理层”的事儿。今天要聊的,是光模块的“心脏”——电源。
你想想看,一个巴掌大的可插拔模块,里面塞了激光器、驱动芯片、CDR、MCU……这些家伙对电压的要求可不一样。有的要3.3V,有的要1.8V,还有的要1.2V。怎么把这些电压稳稳当当送进去,还要保证热插拔的时候不把系统搞崩?这就是本章要解决的问题。
核心要点:光模块的电源设计,说白了就是三件事——电压转换、浪涌抑制、时序控制。这三件事做不好,模块要么上电就烧,要么工作不稳定,要么插拔时把主机电源拉垮。
3.1 光模块供电架构(3.3V / 1.8V / 1.2V)
先看一张典型的供电架构图。主机通过金手指给模块提供3.3V主电源(Vcc)。模块内部再用LDO或DC-DC,把3.3V转成1.8V和1.2V。
我个人习惯,在模块内部尽量用LDO,不用DC-DC。为什么?因为光模块对噪声极其敏感。DC-DC的开关噪声,很容易耦合到激光器的偏置电路上,导致眼图质量下降。我在项目中遇到过,一个100G模块,用DC-DC供电,眼图总是有毛刺,换了LDO立马干净了。
| 电压轨 | 典型用途 | 电流需求 | 纹波要求 |
|---|---|---|---|
| 3.3V (Vcc) | MCU、I2C接口、部分驱动 | 100~300mA | < 50mVpp |
| 1.8V | CDR、激光驱动器 | 200~500mA | < 30mVpp |
| 1.2V | DSP核心、SerDes | 500mA~1A | < 20mVpp |
小提示:1.2V这一路电流最大,纹波要求也最严。我建议用低噪声LDO,比如TPS7A系列或LT3045。别为了省几毛钱用普通LDO,到时候眼图不合格,哭都来不及。
3.2 热插拔浪涌电流抑制
热插拔最怕什么?怕的是模块插进去的一瞬间,金手指还没完全接触好,电源就已经怼上去了。这时候,模块内部的输入电容(通常有几十到几百微法)相当于短路,瞬间电流可能冲到几安培甚至十几安培。
为什么会这样?因为电容两端的电压不能突变。插上去那一刻,电容两端电压为0,主机电源相当于直接对地短路。这个浪涌电流,轻则把主机电源拉掉电,重则烧毁金手指触点。
警告:我曾经见过一个案例,某模块在热插拔时,浪涌电流把主机背板上的电源保险丝直接熔断了。整个机架掉电,业务中断。查到最后,就是模块输入端没做浪涌抑制。
怎么抑制?两个办法:
- 串联电阻:在模块输入端串一个1~2Ω的电阻,限制峰值电流。缺点是电阻上有压降,而且会发热。
- 缓启动电路:用MOSFET做电子开关,让电压缓慢上升。这是主流做法。
3.3 缓启动电路设计
缓启动电路的核心,就是一个N沟道MOSFET,加上RC延时网络。我给大家看一个典型的电路:
// 缓启动电路示意(原理图描述)
// Vcc_in (来自金手指) —— [R1] —— Gate of Q1 (N-MOS)
// |
// C1 (到GND)
//
// Vcc_in —— Drain of Q1
// Source of Q1 —— Vcc_out (到模块内部)
//
// R1 = 100kΩ, C1 = 1μF
// 这样RC时间常数 τ = 100k * 1μ = 100ms
// 电压上升时间 ≈ 2.2 * τ = 220ms
工作原理很简单:插上模块后,Vcc_in瞬间出现。但Gate电压通过R1给C1充电,是缓慢上升的。MOSFET的导通程度逐渐增加,Vcc_out也就跟着缓慢上升。上升时间由RC决定,一般控制在100~300ms。
嗯,这里要注意:MOSFET的选型。要选低导通电阻(Rds(on) < 50mΩ)的,否则模块正常工作时的电流会在MOSFET上产生压降和功耗。我常用的是Si2302或AO3400,便宜又好用。
设计要点:
- RC时间常数:100ms ~ 300ms,太短抑制效果差,太长影响模块启动速度
- MOSFET的Vgs(th)要低,最好在1~2V,确保3.3V逻辑电平能完全驱动
- 在Vcc_out端加一个10μF+0.1μF的去耦电容,进一步平滑电压
3.4 电源时序控制(Vcc先于VccTx)
最后一个关键点:电源时序。光模块内部,不同的电压轨需要按特定顺序上电。最典型的要求是:Vcc (3.3V) 必须先于 VccTx (1.8V 或 1.2V)。
为什么?因为很多驱动芯片和DSP,内部有上电复位电路。如果先给核心电压(1.2V)上电,再给I/O电压(3.3V)上电,芯片内部的逻辑状态可能混乱,导致锁死或误动作。
我在项目中遇到过,某款25G模块,上电时序反了,结果激光器驱动芯片的寄存器全部乱掉,模块死活不发光。查了两天,最后发现是电源芯片的使能引脚接错了。
实现时序控制,通常有两种方法:
- RC延时使能:用3.3V的LDO的PG(Power Good)信号,去使能1.8V和1.2V的LDO。PG信号一般会延迟几十毫秒。
- 专用电源时序芯片:比如TPS3808或ADM811,可以精确控制延时。适合对时序要求严格的场合。
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| RC延时使能 | 成本低、电路简单 | 延时精度差、受温度影响 | 低成本模块、对时序要求不严 |
| 专用时序芯片 | 精度高、可编程 | 成本略高、占用PCB面积 | 高速模块、DSP核心供电 |
我的习惯:对于400G以上的高速模块,我建议用专用时序芯片。因为DSP对电源时序非常敏感,一旦出错,可能直接导致DSP无法初始化。省那几毛钱,不值得。
好了,电源这块就聊到这儿。记住三个关键词:LDO供电、缓启动、时序控制。把这三点做好了,你的模块在热插拔时就能稳如泰山。
公众号:蓝海资料掘金营,微信deep3321