4、电源电路设计(下):5V/3.3V电源轨设计、待机功耗优化策略、电源时序控制、EMC滤波电路设计
好,咱们接着聊电源。上一节我们把OBD接口的输入保护和12V转5V的预稳压讲完了。这一节,我重点说说后端那些事儿——5V和3.3V的电源轨怎么搭、待机功耗怎么压到最低、上电顺序怎么控制,还有EMC滤波怎么处理。
说实话,OBD接口的电源设计,最让人头疼的就是“车规”二字。你想想看,车上的电瓶电压能从9V蹦到16V,冷启动时甚至掉到6V,抛负载时冲到60V。而且,车熄火后,OBD接口的常电(Pin 16)是一直有电的。这就逼着我们在待机功耗上做文章。
4.1 5V/3.3V电源轨设计:选LDO还是DCDC?
我个人习惯,在OBD产品里,5V电源轨优先选DCDC,3.3V电源轨优先选LDO。为什么?
5V这一路,电流通常比较大。比如你要给CAN收发器、MCU的外设、甚至一些传感器供电,电流轻松上200mA。如果用LDO从12V降到5V,压差7V,200mA就是1.4W的功耗。这热量,在小盒子里根本散不出去。所以,5V用DCDC,效率高,发热小。
3.3V这一路,主要是给MCU内核、Flash、RAM供电。电流不大,几十mA到一百多mA。而且MCU对电源纹波敏感。LDO的输出纹波比DCDC小得多,噪声也低。所以,3.3V用LDO从5V转下来,既简单又干净。
我推荐一个经典组合:TPS62160(5V输出) + TPS7A16(3.3V输出)。前者是TI的车规DCDC,效率能到90%以上;后者是超低静态电流的LDO,IQ只有5μA,非常适合待机场景。
这里给个参考电路的关键参数:
| 参数 | TPS62160 (5V) | TPS7A16 (3.3V) |
|---|---|---|
| 输入电压范围 | 3V - 17V | 2.7V - 18V |
| 输出电流 | 1A | 100mA |
| 静态电流 | 17μA | 5μA |
| 开关频率 | 2.5MHz | — |
| 封装 | QFN-16 | SOT-23-5 |
4.2 待机功耗优化策略:把μA级功耗抠出来
车厂对OBD设备的待机功耗要求,通常非常苛刻。很多车要求熄火后,OBD接口的静态电流不能超过1mA,甚至有些高端车型要求低于100μA。你想想看,如果设备一直插在车上,电瓶会慢慢亏电。所以,待机功耗是OBD设计的硬骨头。
怎么优化?我总结三个方向:
- 方向一:切断大电流通路。 待机时,DCDC和LDO虽然可以关断,但它们的输入输出电容、反馈电阻、分压电阻都在耗电。我习惯在DCDC的输入端加一个PMOS开关,由MCU的GPIO控制。待机时,PMOS关断,整个电源轨彻底断电。
- 方向二:选用超低IQ的器件。 刚才提到的TPS7A16,IQ只有5μA。还有TI的TPS62840,IQ能做到1μA以下。选型时,一定要看数据手册里的“Quiescent Current”这一项,别被“Shutdown Current”骗了,那是关断电流,不是待机电流。
- 方向三:MCU进入深度睡眠。 MCU在待机时,要进入Stop模式或Standby模式,关闭所有不用的外设时钟。我一般会把MCU的主频降到最低,只留一个RTC定时器唤醒,或者用CAN报文唤醒。
这里给一个待机功耗的分配示例:
| 模块 | 待机电流 (典型值) | 备注 |
|---|---|---|
| MCU (深度睡眠) | 10 μA | 保留RTC和唤醒逻辑 |
| CAN收发器 (待机模式) | 20 μA | 支持CAN唤醒 |
| LDO (TPS7A16) | 5 μA | 给MCU供电 |
| DCDC (关断) | 1 μA | PMOS切断 |
| 其他 (上拉电阻等) | 10 μA | 尽量减小 |
| 总计 | 46 μA | 远低于1mA要求 |
4.3 电源时序控制:谁先上电,谁后上电?
这个问题,很多新手容易忽略。MCU对电源时序其实有要求。比如,MCU的内核电压(通常是1.2V或1.8V)必须先于I/O电压(3.3V)建立,否则I/O口可能会通过内部ESD二极管向内核倒灌电流,导致芯片锁死或损坏。
我一般这样处理:
- 5V先上电。 DCDC的使能引脚(EN)直接接到输入电源(12V),或者通过一个RC延时电路。这样,只要OBD接口有电,5V就立刻建立。
- 3.3V后上电。 LDO的使能引脚(EN)接到5V输出。只有5V稳定后,LDO才开始工作,输出3.3V。这样自然就实现了5V先、3.3V后的时序。
- MCU复位信号。 我习惯用一个复位监控芯片(如TPS3823),监控3.3V电压。当3.3V上升到阈值(比如2.93V)后,延迟200ms再释放复位信号。这样,MCU上电时,所有电源都已经稳定了。
时序图大概是这样:
12V输入: ────────┐
│
5V输出: ────────┘──────────────
│ │
3.3V输出: ────────┘──────────────
│ │
MCU复位: ────────┘──────────────┘────────
↑ ↑ ↑
5V建立 3.3V建立 复位释放
4.4 EMC滤波电路设计:别让电源变成天线
OBD接口直接连到车上的12V电源网络。这个网络有多脏?你根本想象不到。发动机点火、雨刮器电机、空调压缩机……这些大负载开关时,会在电源线上产生大量的尖峰和噪声。所以,EMC滤波是必须的。
我一般会在DCDC的输入端加两级滤波:
- 第一级:共模扼流圈 + X电容。 共模扼流圈(Common Mode Choke)用来抑制共模噪声。X电容(通常是100nF到1μF)用来滤除差模噪声。这个组合对低频噪声(几百kHz到几MHz)效果很好。
- 第二级:π型滤波。 在DCDC的输入引脚附近,放一个π型滤波器——一个电感(1μH到10μH)前后各加一个电容(10μF + 100nF)。这个组合对高频噪声(几十MHz)效果很好。
另外,DCDC的输出端也要滤波。我习惯在输出端放一个10μF的陶瓷电容和一个100nF的高频电容。陶瓷电容要选X7R或X5R材质,耐压要够。千万别用Y5V,温度一高,容量掉得你怀疑人生。
最后,别忘了在OBD接口的Pin 16(电源正)和Pin 4/5(地)之间,放一个TVS管和一个大电容(比如470μF的铝电解)。TVS管用来吸收抛负载的尖峰,大电容用来提供瞬态电流。这个组合,能扛住大部分车规的浪涌测试。
嗯,这一节的内容就这些。电源设计,说白了就是平衡效率、功耗、时序和EMC。每个点都不难,但组合在一起,就需要经验了。下一节,我们聊聊CAN收发器的选型和接口保护电路设计。