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转下来,既简单又干净。

重要:5V电源轨建议选用车规级同步降压DCDC,频率选2.2MHz以上。为什么?因为AM频段是530kHz到1.7MHz,开关频率避开这个频段,EMC好过很多。

我推荐一个经典组合: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报文唤醒。

提示:我曾经在一个项目里,待机功耗怎么都降不到1mA以下。查了半天,发现是CAN收发器的待机模式没配置对。有些CAN收发器(如TJA1043)有专门的待机模式,电流只有几十μA。但如果你没配置,它默认工作在正常模式,电流好几mA。所以,一定要仔细看收发器的数据手册。

这里给一个待机功耗的分配示例:

模块 待机电流 (典型值) 备注
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上电时,所有电源都已经稳定了。

警告:千万不要把LDO的使能引脚直接接到12V上。如果LDO的输入是5V,使能引脚接12V,可能会超过LDO的使能引脚耐压值(很多LDO的EN引脚耐压只有6V)。我见过有人这么干,结果LDO的EN引脚烧了,输出一直高,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的输入引脚,电容要靠近电感的引脚。走线要短而粗。如果布局不好,滤波效果会大打折扣。

另外,DCDC的输出端也要滤波。我习惯在输出端放一个10μF的陶瓷电容和一个100nF的高频电容。陶瓷电容要选X7R或X5R材质,耐压要够。千万别用Y5V,温度一高,容量掉得你怀疑人生。

最后,别忘了在OBD接口的Pin 16(电源正)和Pin 4/5(地)之间,放一个TVS管和一个大电容(比如470μF的铝电解)。TVS管用来吸收抛负载的尖峰,大电容用来提供瞬态电流。这个组合,能扛住大部分车规的浪涌测试。

嗯,这一节的内容就这些。电源设计,说白了就是平衡效率、功耗、时序和EMC。每个点都不难,但组合在一起,就需要经验了。下一节,我们聊聊CAN收发器的选型和接口保护电路设计。