3、上电时序与电源调试:DCDC、LDO输出测量,上电时序验证方法

电源,是硬件的命脉。这话一点都不夸张。

我见过太多板子,功能逻辑设计得完美无缺,结果一上电就冒烟,或者干脆没反应。十有八九,问题都出在电源上。今天咱们就聊聊上电时序和电源调试,这是硬件工程师的基本功,也是驱动工程师必须跨过的门槛。

3.1 电源芯片的两大主力:DCDC 与 LDO

先搞清楚咱们手头的工具。板子上最常见的电源芯片就两种:DCDC 转换器和 LDO 线性稳压器。它们各有各的脾气。

特性 DCDC(开关电源) LDO(低压差线性稳压器)
效率 高(80%~95%),压差越大优势越明显 低(效率 ≈ Vout/Vin),压差大时发热严重
纹波 较大(mV 级),开关噪声明显 极小(μV 级),输出干净
输出电流 可以做得很大(几A到几十A) 通常较小(几百mA到几A)
外围电路 复杂(电感、电容、反馈电阻) 简单(输入输出电容即可)
典型应用 核心供电、DDR 供电、大电流总线 PLL、ADC、音频、传感器等模拟电路

说白了,DCDC 负责「吃饱」,LDO 负责「吃好」。我在项目中经常这样搭配:先用 DCDC 把电池电压降到 3.3V,再用 LDO 从 3.3V 降到 1.8V 给 PLL 供电。这样既保证了效率,又保证了噪声指标。

3.2 输出测量:别被示波器骗了

拿到一块新板子,第一件事就是测电源输出。但这里有个坑——你看到的波形,可能不是真实的。

3.2.1 测量前的准备

  • 探头要短地:把探头的接地夹换成弹簧地针,或者直接用同轴电缆。长接地夹会引入噪声,测纹波时根本看不清。
  • 带宽限制:测纹波时打开示波器的 20MHz 带宽限制,否则高频噪声会淹没真实纹波。
  • 交流耦合:用 AC 耦合看纹波,DC 耦合看电压值。别搞混了。
我的习惯:测 DCDC 纹波时,我会在输出端并联一个 10μF 陶瓷电容和一个 0.1μF 陶瓷电容,然后用同轴电缆直接焊在电容两端测量。这样测出来的数据最接近芯片实际感受到的电压。

3.2.2 DCDC 输出测量要点

DCDC 的输出纹波通常呈锯齿状,频率等于开关频率。正常的纹波应该在几十 mV 以内。如果纹波过大,先检查电感是否饱和,再检查反馈回路是否稳定。

我曾经遇到过一个案子,DCDC 输出纹波高达 200mV,导致 WiFi 模块频繁断连。查了半天,发现是输出电容 ESR 太大。换成低 ESR 的陶瓷电容后,纹波降到 30mV,问题解决。

3.2.3 LDO 输出测量要点

LDO 的输出应该是一条干净的直线。如果看到高频噪声,多半是输入电源不干净,或者 LDO 本身自激振荡了。

怎么判断 LDO 是否自激?很简单:用手摸一下 LDO 芯片,如果烫得离谱,而且输出波形上有高频振荡(几十 MHz),那基本就是自激了。解决办法通常是调整输出电容的 ESR 或容值。

注意:LDO 对输出电容的 ESR 有严格要求。有些 LDO 需要钽电容(ESR 较高)才能稳定,用陶瓷电容反而会振荡。一定要看数据手册!

3.3 上电时序:为什么必须按顺序来?

现代 SoC 通常有多个电源域:核心电压、IO 电压、PLL 电压、DDR 电压……它们之间往往有严格的上下电顺序要求。

为什么会这样?因为芯片内部的 ESD 保护结构和寄生二极管。如果某个 IO 口的电源还没起来,但核心电源已经起来了,电流可能会通过寄生路径倒灌,轻则逻辑混乱,重则烧毁芯片。

3.3.1 典型的上电时序要求

以某款主流 ARM 处理器为例,它的上电时序通常是这样的:

  1. VDD_CORE(核心电压)先上电:通常为 0.9V~1.2V
  2. VDD_PLL(锁相环电压)再上电:通常为 1.8V
  3. VDD_IO(IO 电压)最后上电:通常为 3.3V 或 1.8V
  4. 复位信号释放:在所有电源稳定后,延迟一段时间再释放复位

每个步骤之间的延迟通常在几百 μs 到几 ms 之间。具体数值要看芯片的数据手册。

3.3.2 如何实现上电时序?

实现上电时序有三种常见方法:

方法 原理 优点 缺点
RC 延迟 用电阻电容的充电时间控制使能信号 成本低、电路简单 精度差、受温度影响大
电源管理 IC(PMIC) 专用芯片,内置时序控制逻辑 精度高、可配置、集成度高 成本高、灵活性差
FPGA/CPLD 控制 用可编程逻辑控制使能信号 灵活、可调整 需要额外编程、占用逻辑资源

我个人最推荐用 PMIC,尤其是量产项目。虽然贵一点,但省心。RC 延迟我一般只在原型验证时用,因为它的精度实在不敢恭维。

3.4 上电时序验证方法

设计做完了,怎么验证上电时序对不对?靠眼睛看?不靠谱。我们需要用示波器来精确测量。

3.4.1 多通道示波器测量法

这是最直接的方法。用示波器的多个通道同时测量各路电源的电压波形,观察它们上电的先后顺序和时间差。

  • 通道数:至少 4 通道,最好 8 通道
  • 触发方式:用第一路上电的电源作为触发源,上升沿触发
  • 时基设置:根据时序要求设置,通常为 1ms/div 到 10ms/div
  • 电压档位:根据各路电压设置,尽量让波形占满屏幕
关键点:测量时一定要用差分探头或者隔离通道,否则共地问题会导致测量结果错误,甚至烧坏示波器!

3.4.2 时序关系图

下面这张图展示了典型的上电时序关系:

典型 SoC 上电时序关系图 时间 → VDD_CORE (0.9V) t0 VDD_PLL (1.8V) t1 (≥500μs) VDD_IO (3.3V) t2 (≥1ms) RESET_N t3 (≥10ms) 说明:t0 < t1 < t2 < t3,各电源必须按顺序稳定,复位信号最后释放

3.4.3 使用逻辑分析仪

如果示波器通道不够,可以用逻辑分析仪配合电压比较器。把每路电源通过比较器转换成逻辑电平,然后送给逻辑分析仪。这样就能同时观察多路电源的时序关系了。

这个方法我经常用,尤其是调试 FPGA 板卡的时候。FPGA 通常有 5~6 路电源,示波器根本不够用。

3.5 常见问题与避坑指南

我曾经踩过的坑:有一次调试一块工业控制板,上电后 DDR 初始化总是失败。用示波器一测,发现 VDD_CORE 和 VDD_DDR 的上电时序差了不到 100μs,刚好在芯片要求的临界值上。换了一颗 PMIC 后,时序裕量增加到 2ms,问题再也没出现过。所以,时序设计一定要留余量,别卡着规格书的极限值。

其他常见问题:

  • 电源纹波过大导致芯片复位:检查输出电容和电感,必要时增加 π 型滤波
  • 上电瞬间电流过大导致电压跌落:检查软启动电路,或者增加输入电容
  • LDO 输出振荡:检查输出电容的 ESR,或者增加一个 1Ω~10Ω 的小电阻串联在输出端
  • 多路电源共地问题:确保所有电源的参考地是同一个点,避免地环路

3.6 小结

电源调试,说白了就是两件事:测准电压,看准时序。工具就是示波器、逻辑分析仪,再加上你的耐心。

记住,上电时序不是玄学,是芯片物理特性的必然要求。你尊重它,它就给你稳定的系统;你忽视它,它就给你莫名其妙的 bug。