4、电源树设计:多电压域划分、DCDC与LDO的选择与搭配、电源上电时序设计

好,咱们进入第四讲。电源树设计,说白了就是给POS机里的各个模块“喂电”。

你想想看,一个POS机里,主控芯片要1.1V,DDR要1.8V,屏幕要3.3V,打印机电机可能要5V甚至更高。这么多电压,怎么来?怎么分配?怎么保证它们不出乱子?

这就是电源树要解决的问题。我做了这么多年低功耗设计,可以负责任地告诉你:电源树设计的好坏,直接决定了你的产品能不能过功耗测试,能不能稳定运行。

4.1 多电压域划分:别让高电压“喂”低功耗模块

先讲电压域划分。这个概念其实很简单:不同工作电压的模块,要分开供电

为什么?举个例子。你的主控芯片内核只需要1.1V,但你给它供3.3V,那芯片内部LDO会把这3.3V降到1.1V,白白浪费了2.2V的能量。这能量去哪了?变成热量了。电池续航直接打八折。

所以,我一般会这样划分电压域:

  • 核心域(Core Domain):主控CPU、GPU、NPU等核心逻辑。电压通常0.8V~1.2V。电流大,对纹波敏感。
  • IO域(IO Domain):DDR、Flash、SD卡等接口。电压通常1.8V或3.3V。电流中等,对时序要求高。
  • 模拟域(Analog Domain):触摸屏、音频、ADC等。电压通常3.3V或5V。对噪声极其敏感,需要单独供电。
  • 电机域(Motor Domain):打印机、刷卡器电机。电压通常5V~12V。电流大,纹波大,需要隔离。

关键原则:每个电压域之间,尽量用磁珠或0欧电阻隔离。特别是模拟域和数字域,一定要分开走线,否则数字噪声会串进模拟信号里,导致触摸屏乱跳、刷卡失败。

我在一个项目里就吃过这个亏。当时为了省成本,把触摸屏的3.3V和主控IO的3.3V共用了同一个LDO。结果触摸屏在刷卡时经常误触发。查了三天,最后发现是刷卡电机启动时,3.3V被拉低了0.2V,导致触摸屏控制器误判。后来单独给触摸屏加了一个LDO,问题解决。

4.2 DCDC与LDO的选择与搭配:效率与噪声的博弈

接下来是重头戏:DCDC和LDO怎么选?

简单说:DCDC效率高,但噪声大;LDO噪声小,但效率低。你需要在两者之间找到平衡。

4.2.1 DCDC:大电流、高效率的首选

DCDC(直流-直流转换器)通过开关方式转换电压,效率可以做到90%以上。我一般这样用:

  • 核心电压(0.8V~1.2V):必须用DCDC。因为核心电流可能高达1A~3A,用LDO的话,热量根本散不出去。
  • 电机电压(5V~12V):必须用DCDC。电机启动电流大,LDO扛不住。
  • 电池电压转换:从锂电池(3.7V~4.2V)转成系统主电压(3.3V或5V),用DCDC。

我的经验:DCDC的开关频率尽量选1MHz以上的。频率高了,电感和电容可以选小封装,节省PCB面积。但要注意,高频开关会带来EMI问题,布局时要把开关节点远离天线和模拟电路。

4.2.2 LDO:低噪声、小电流的守护神

LDO(低压差线性稳压器)没有开关噪声,输出纹波极小。我一般这样用:

  • 模拟电路供电:触摸屏、音频、ADC等,必须用LDO。这些电路对噪声极其敏感,DCDC的开关噪声会直接耦合进去。
  • 待机供电:系统休眠时,主DCDC可以关掉,但RTC、唤醒电路需要一直供电。这时候用一个小电流LDO(比如10mA),效率虽然低,但待机电流小,整体功耗可控。
  • 电压转换:从3.3V转1.8V给DDR供电,如果电流不大(<200mA),用LDO更简单、更便宜。

注意:LDO的压差(Dropout Voltage)很重要。比如你从3.3V转1.8V,压差是1.5V,LDO的功耗就是1.5V × 电流。如果电流是200mA,功耗就是0.3W,发热不小。所以大电流场景别用LDO。

4.2.3 搭配策略:DCDC + LDO 组合拳

实际项目中,我经常用这种组合:

场景 方案 理由
电池 → 3.3V系统主电压 DCDC(效率高) 电池电压变化大,DCDC能稳定输出
3.3V → 1.1V核心电压 DCDC(电流大) 核心电流可能>1A,LDO发热严重
3.3V → 1.8V DDR LDO(噪声低) DDR对电源纹波敏感,且电流<500mA
3.3V → 3.3V模拟 LDO(噪声低) 模拟电路需要纯净电源
电池 → 5V电机 DCDC(升压) 电机需要大电流,且电压高于电池

说白了,就是用DCDC搞定大电流、高效率的需求,用LDO搞定小电流、低噪声的需求。两者搭配,既保证了效率,又保证了信号质量。

4.3 电源上电时序设计:别让芯片“打架”

最后讲上电时序。这个很多人容易忽略,但一旦出问题,芯片可能直接烧掉。

为什么需要上电时序?因为芯片内部有多个电压域,它们之间有严格的先后顺序要求。比如:

  • 核心电压必须先于IO电压:如果IO先上电,核心还没上电,IO引脚可能会通过内部二极管向核心漏电,导致芯片闩锁(Latch-up)损坏。
  • DDR电压必须先于DDR参考电压:DDR的Vref(参考电压)必须在VDD(供电电压)稳定之后才能建立,否则DDR初始化会失败。

我一般这样设计上电时序:

  1. 第一步:电池接入。系统检测到电池电压正常(>3.0V),开启主DCDC。
  2. 第二步:主DCDC输出3.3V。3.3V稳定后,给主控芯片的IO域供电。
  3. 第三步:主控芯片的DCDC输出1.1V。1.1V稳定后,给核心域供电。
  4. 第四步:1.1V稳定后,再开启DDR的LDO输出1.8V。1.8V稳定后,再开启DDR的Vref。
  5. 第五步:所有电压稳定后,主控芯片释放复位信号。芯片开始启动。

实现方法:可以用电源管理芯片(PMIC)的使能引脚(EN)来控制时序。比如,DCDC的PG(Power Good)引脚接到下一个LDO的EN引脚。这样,前一级电压稳定后,后一级才开始工作。也可以用RC延时电路,但精度不高,我建议用PMIC。

我曾经在一个项目里,因为上电时序没做好,导致主控芯片在启动时频繁死机。查了半个月,最后发现是DDR的Vref比VDD早建立了2ms,导致DDR初始化时读到错误数据。后来在Vref路径上加了一个RC延时,问题解决。嗯,从那以后,我对上电时序就特别敏感了。

特别提醒:下电时序同样重要。很多芯片要求下电顺序和上电顺序相反。如果下电时,核心电压先掉,IO电压还高着,同样可能造成闩锁。所以,设计时一定要看芯片手册的“Power Sequencing”章节,别想当然。

好了,电源树设计就讲到这里。总结一下:

  • 电压域划分:核心、IO、模拟、电机,各走各路。
  • DCDC与LDO:大电流用DCDC,小电流低噪声用LDO,组合使用。
  • 上电时序:先核心后IO,先供电后参考,严格按手册来。

下一讲,我们会深入PCB布局,讲讲怎么把电源树画到板子上。到时候见。