
1. 为什么5V转3.3V会让LDO烫得离谱1.1 LDO的发热本质多出来的电压都在调整管上变成热量很多刚接触嵌入式硬件的小伙伴第一次用LDO把5V降到3.3V板子一上电手指往芯片上一放直接被烫得缩回来。第一反应往往是芯片是不是坏了其实不是坏了而是LDO的工作原理决定了它天然就是一个电热转换器。LDO全称是Low Dropout Regulator低压差线性稳压器。它内部本质上是一个可调的串联电阻也就是调整管。输入5V输出3.3V多出来的那1.7V不可能凭空消失物理定律不允许能量被抹掉这1.7V的压差乘以流过的电流就全部以热的形式从调整管上散发出去。用公式写出来极其简单P (V_in - V_out) × I_out比如5V转3.3V负载电流200mA那么LDO上消耗的功率就是(5 - 3.3) × 0.2 0.34W。一个指甲盖大小的SOT-23封装芯片热阻通常在200°C/W到300°C/W之间0.34W意味着芯片内部结温比环境温度高出68°C到102°C。夏天室温35°C的实验室里芯片结温直接破百外壳摸上去就是烫得不能长时间碰的温度。这跟你家里用的电暖器是同一个发热原理电暖器是把电能全部变成热LDO是把不需要的那部分电压变成热。所以当你看到LDO烫手时不要怀疑芯片坏了先算算功耗大概率是功耗本身就不小。1.2 明知会发热为什么还在大量使用LDO有人会问既然LDO发热这么厉害为什么PCB上还到处都是这种芯片直接全部用DCDC开关电源不就好了这里有一个很多人没想明白的工程权衡问题。LDO最大的优势有三个。第一是输出纹波极低开关电源的纹波通常在10mV到50mV量级而LDO的输出纹波可以做到微伏级别这一点对模拟电路、传感器供电、音频电路来说简直是刚需。第二是电路简单输入输出各加一个电容就能工作不需要电感不需要二极管不需要精心设计PCB布局。第三是成本低、体积小、物料少对量产产品来说省一个电感和两个电容成本和面积的节省是实打实的。所以现实情况是很多板子上是DCDCLDO的组合方案。先用DCDC把5V或者12V降到3.6V到4V左右再用LDO把3.6V降到3.3V。这样LDO上的压差只有0.3V到0.7V功耗就能控制在很小的范围内同时还能保留LDO低纹波的优势。这个思路在电池供电的产品里特别常见锂电池电压3.0V到4.2V波动如果直接用LDO稳压到3.3V电池满电4.2V时压差有0.9V低电量3.6V时压差只有0.3V功耗波动很大。而用DCDC先把电压稳压到3.6V再进LDO整条链路的效率和发热就都稳定了。1.3 先搞清楚热阻再谈散热数据手册里最容易忽略的一页开始算散热之前得先把热阻这个概念讲清楚。热阻的符号是Rθ单位是°C/W含义是每消耗1W功率温度升高多少摄氏度。这跟电阻特别像只不过电阻对应的是电压和电流热阻对应的是温差和热流。芯片数据手册里通常会给两个热阻参数一个是RθJA结到环境热阻另一个是RθJC结到外壳热阻。RθJA是指芯片内部的结到周围空气的热阻这是一个包含了封装本身、引脚、PCB铜箔散热的综合热阻环境不同、PCB设计不同实际值会变化。RθJC是指芯片结到封装外壳表面的热阻这个值相对固定主要取决于封装材料。实际判断芯片烫不烫用的核心公式是T_j T_a P × RθJAT_j是结温T_a是环境温度P是芯片功耗RθJA是结到环境热阻。绝大多数芯片的结温上限是125°C或者150°C设计的时候一般要求留出20%到30%的余量也就是说长期工作在100°C左右的结温虽然没超限但已经是需要警惕的状态了。很多人的误区是只看数据手册上的最大输出电流觉得我只要电流没超过标称值就没问题。大错特错LDO的电流能力是在特定压差和特定散热条件下定义的同样的芯片压差大、电流大功耗超了就是超了跟标称电流没有直接关系。2. 手把手算LDO功耗几个典型场景一次算明白2.1 功耗公式里容易漏掉的三个小项前面说的P (V_in - V_out) × I_out是主功耗但实际做功耗评估的时候还有三个小项经常被忽略。第一是LDO自身的静态电流Iq也就是芯片内部电路工作消耗的电流这个电流也会从输入侧流过功耗是V_in × I_q。静态电流通常在几十微安到几毫安不等对低功耗待机场景来说是不可忽略的。第二是输入电流和输出电流不完全相等。LDO输入电流等于输出电流加上静态电流所以严格来说总功耗是V_in × (I_out I_q) - V_out × I_out化简后就是(V_in - V_out) × I_out V_in × I_q。大多数情况下I_q很小主功耗占绝对主导但低功耗设备待机时负载电流只有几十微安这时候I_q反而成了主要消耗。第三是瞬态功耗。负载不是恒定不变的传感器开启瞬间、无线模块发射瞬间电流可能是平均电流的好几倍。这时候瞬时功耗很大虽然平均温度不一定高但如果持续时间长比如几百毫秒的无线发射结温就可能有明显波动。判断散热要考虑的是平均功耗加瞬态功耗的包络不只是看静态数值。2.2 三个典型场景的功耗对比我列三个最典型的应用场景来算一下大家可以直接对号入座。场景一5V转3.3V给MCU供电负载电流100mA。这是最常见的情况比如STM32最小系统板整体功耗不大。功耗P (5 - 3.3) × 0.1 0.17W。如果是SOT-23封装RθJA大约250°C/W温升42.5°C环境温度25°C时结温67.5°C稍微有点热但不至于烫手勉强能用。场景二同一个方案负载电流增加到300mA。功耗P (5 - 3.3) × 0.3 0.51W。同样的SOT-23封装温升127.5°C环境温度25°C时结温152.5°C直接超过绝大多数芯片的结温上限。这种情况不管什么封装都救不回来SOT-23封装下芯片必烧。场景三改用SOT-89封装RθJA大约50°C/W到60°C/W。同样0.51W功耗温升25°C到30°C结温在50°C到55°C之间妥妥的安全范围。SOT-89封装底部有一个大的金属焊盘热量可以直接传导到PCB铜箔上散热能力比SOT-23强了好几个量级。这三个场景对比下来应该能直观感受到两个结论。第一功耗大小决定发热量压差乘以电流一点都不含糊。第二封装和PCB散热能力决定了同样的功耗下温度能压到多少。选型时这两个因素必须同时考虑。2.3 关键细节算功耗要按最恶劣工况来做功耗核算最容易犯的错误是只用典型值不用最大值。实际项目里输入电压是有波动范围的负载电流也是有峰值的环境温度更是变化的。这三个变量都应该取最恶劣的组合。以USB 5V供电为例USB规范允许输出电压在4.75V到5.25V之间波动很多充电器实际空载电压偏高到5.2V甚至5.3V。如果你按5.0V算功耗实际输入却是5.3V压差多了0.3V功耗就多算了接近20%。负载电流也是一样MCU数据手册给的电流指标通常分多种模式正常工作电流可能只有80mA但所有外设全开、Flash写入、ADC采样同时发生时峰值电流可能到150mA甚至更高。计算功耗要按极限工作状态的电流来算不是按平均电流。环境温度同样要考虑。消费电子一般要求最高环境温度40°C到50°C工业级产品要到70°C到85°C。功耗产生的温升是叠加在环境温度之上的同样的0.2W功耗在25°C的环境和70°C的环境里结温完全不同。我见过最典型的翻车案例是有人做一个户外设备所有功耗都按室温25°C算好了结果夏天暴晒下设备外壳内部温度到65°CLDO结温直接冲上130°C设备工作一会儿就自动重启。后来一测就是热保护触发了。所以算功耗的时候第一个动作就是确认环境的极限温度。3. 怎么判断LDO到底会不会过热结温估算与安全边界3.1 从热阻到结温一个完整的估算流程要判断LDO会不会过热我的习惯是走一遍完整的估算流程。这个流程四步走每一步都有明确的输入和输出任何会看数据手册的人都能自己算出来。第一步确认工作条件。包括输入电压范围、输出电压、最大负载电流、最高环境温度这四个数是后续所有计算的基础。建议在表格里记下来V_in_max、V_out、I_out_max、T_a_max。第二步算最大功耗。用P (V_in_max - V_out) × I_out_max加上V_in_max × I_q估算。注意一定要用输入电压最大值因为压差最大的时候功耗最大。第三步查数据手册热阻。找到RθJA的典型值和最大值有些手册会给出不同PCB板层数下的热阻值一般4层板的热阻比2层板低很多因为多了完整的地平面可以散热。第四步算结温。T_j T_a_max P × RθJA然后跟数据手册里的结温上限比较。如果T_j小于上限的80%散热OK如果超过80%就要考虑换封装、加散热铜箔或者换方案。3.2 常见封装的热阻参考值我这里整理一个常见封装的典型热阻参考表注意这是标准JEDEC测试板的数据实际PCB上的热阻会因铜箔面积、层数不同而变化但用来做初步判断足够了。封装典型RθJA°C/W散热特点SOT-23200~300引脚细小主要靠引脚和PCB铜箔散热SOT-8950~80底部有金属焊盘散热能力明显改善SOT-22340~70大焊盘引出可铺大铜箔加强散热SOP-860~100引脚多但分散芯片底部无散热焊盘SOIC-8Exposed Pad30~50底部有散热焊盘需要画对应PCB焊盘DPAK/TO-25230~60大功率封装散热路径短而粗DFN-8Exposed Pad25~45底部焊盘大需要过孔辅助导热看这个表就能明白SOT-23和SOT-89的散热能力差异巨大同样的1W功耗SOT-23温升250°CSOT-89温升50°C到80°C。这也是为什么很多LDO的数据手册虽然写最大输出电流500mA甚至1A但你用SOT-23封装实际跑到那么大电流就会炸因为封装根本散不了那么多热。3.3 反推允许最大功耗自定义安全边界掌握了热阻的算法反过来还可以做逆向设计。比如在SOT-23封装下要求结温不超过100°C环境温度最高40°C那么允许的最大功耗就是(100 - 40) / 250 0.24W。有了这个值再回头核对5V转3.3V的应用允许的最大负载电流就是0.24 / (5 - 3.3) 141mA。也就是说在SOT-23封装下、按这个安全边界5V转3.3V最多只能带140mA左右的负载。超过这个值要么换封装、要么换拓扑。这个逆向推算法在实际选型中特别实用。因为很多时候我们面对的是一个确定的负载电流不确定的是选什么封装和什么芯片。把公式倒过来用就能快速筛选出满足热要求的封装类型和芯片型号比一个一个去估算快得多。实际项目里我通常留更保守的边界结温控制在85°C以内。一方面是为了长寿命另一方面是LDO旁边往往还有别的器件局部温度太高会影响周围元器件的工作状态和寿命。4. 散热方案实操从降功耗到PCB散热的完整思路4.1 先降功耗再谈散热级联DCDC是最有效的手段解决LDO发热问题顺序非常重要。第一优先级是降低功耗第二优先级才是提高散热能力。因为热阻做得再好功耗如果太大温度还是压不下来。SOT-23热阻250°C/W2W功耗照样烧SOT-89热阻60°C/W2W功耗还有120°C温升同样不可接受。降低功耗最有效的手段就是减小压差。5V转3.3V的压差1.7V如果能先把5V降到一个更接近3.3V的中间电压再进LDO功耗就直接降下来了。这就是DCDCLDO级联方案的历史使命。具体做法有两种。第一种是前端用DCDC把5V降到3.6V后端LDO输出3.3V压差只有0.3V200mA负载下功耗只有0.06W几乎不热。第二种是直接从锂电池场景考虑电池电压3.0V到4.2V用DCDC升压到3.6V再到LDO或者用DCDC降压到3.6V再到LDO。前级DCDC的输出纹波可能让一些人担心但LDO本身的电源抑制比PSRR很高在100kHz以下的纹波能抑制掉50dB以上所以对最终输出的影响很小。在市电供电、接口供电的产品里DCDCLDO是又省电又省散热的折中方案强烈推荐。4.2 PCB铜箔与过孔免费但需要设计的散热路径如果功耗已经通过设计降下来了但还是有余热那么PCB层面的散热设计就要做好。很多人以为散热只是芯片封装的事其实对LDO这种中小功率器件来说PCB铜箔才是真正的散热器。PCB散热的核心思路是把芯片产生的热量通过引脚传递到铜箔平面上再由大面积铜箔通过对流和辐射散到空气里。所以布局时要注意几个细节。第一LDO的输入、输出引脚和接地引脚尽量连接到大面积铜箔尤其是GND引脚直接连到完整的地平面效果最好。第二底层如果走不了太多线可以在LDO正下方铺一块独立的地铜箔用多个过孔连到主板地形成垂直散热通道。第三过孔孔径和数量要适量一般打9到16个0.3mm的过孔比打4个大过孔效果好因为散热更均匀。对于带外露焊盘的封装比如SOT-89、SOT-223、SOIC-8 Exposed Pad那个焊盘一定要焊接到PCB的铜箔上。很多人画封装时把这个焊盘当普通引脚处理只画一个很小的焊盘结果散热焊盘悬空热量完全传不出去。正确做法是散热焊盘对应位置画一个尽量大的铜箔区域配合过孔阵列连接到内部地层。实际经验来看同样一颗SOT-23封装的LDO在2层板上满铺铜和什么都没铺的两种情况结温能差20°C到30°C。散热不是玄学是明明白白的热阻变化。4.3 什么时候该换LDO、什么时候该换DCDC有些场景不管你PCB怎么做散热LDO天生就不合适。我给你一个比较实用的判断标准功耗超过0.5W的LDO应用基本就别折腾LDO了直接上DCDC省心省事。以5V转3.3V为例0.5W意味着负载电流294mA。这个场景下SOT-23封装必挂SOT-89封装勉强但温升也有30°C到40°C如果环境温度高依然危险。而换成一颗同步降压DCDC效率通常在90%以上损耗不到0.1W同样输出300mA只是多了一个电感和两个电容的物料成本。另外还有一种情况负载电流不大但输入输出电压差特别大比如24V转5V。如果用LDO即便只有50mA负载功耗也有0.95WSOT-223封装都hold不住。这种高压差场景下DCDC是唯一合理的选择。当然如果确实必须用LDO且压差和电流都比较极端还有一招是选择外部调整管的LDO架构比如用PNP管或者PMOS管做调整管配合一个基准源。但这种方案电路复杂度高一般在特殊需求下才用普通产品设计不推荐。5. 常见问题排查为什么LDO明明选对了还是发热5.1 空载也发烫多半是自激振荡或者地线环路有时候项目上会遇到一个诡异现象LDO输出空载电流表量输出电流都不到1mA芯片却热得离谱。这时候不要去怀疑LDO型号选大了先查两个常见的坑。第一个是自激振荡。LDO的输出电容容值或者ESR不匹配轻载或者特定频率下可能会产生自激振荡输出端出现高频振荡波形芯片内部调整管在做高频开关功耗急剧增大。用示波器观察输出端波形如果发现高频正弦波基本就是自激。解决办法是换一个合适容值或者不同ESR档位的输出电容一般数据手册会给出稳定工作所需的电容范围和ESR范围。第二个是地线环路。如果PCB上LDO的GND引脚铜箔面积太小或者地平面被割裂LDO的地回路阻抗偏高就会导致部分输出电流从地线回流时产生额外功耗。这属于PCB布局层面问题量GND引脚到系统地之间可能有几十毫伏的压差。我遇到过好几次空载发烫的情况最后查出来是输入去耦电容距离LDO引脚太远高频阻抗大导致芯片内部稳压环路不稳定。把电容挪到离引脚3mm以内后恢复正常。布局布线这些细节看起来不起眼实际影响非常大。5.2 输出正常但芯片烫手先算功耗再谈优化很多人一看到芯片烫第一反应是换一个更大封装或者加散热片。其实正确的排查顺序应该是反过来先确认功耗是否在预期范围内。完整排查路径是用万用表量输入电压、输出电压用电流表或者示波器电流探头量实时负载电流三个数值代入公式算出实际功耗再对比你当初设计时的预估功耗。如果实际功耗远大于预估功耗那就不是散热设计的问题而是电路本身有问题。常见的原因是输出端负载实际偏大或者某个引脚对地短路。比如LDO输出端并联了LED驱动电路LED电流受温度影响会漂移热的时候电流更大功耗也更大形成正反馈。这种问题靠散热片是压不住的只有从电路设计上把电流控制住。如果算下来功耗确实在设计范围内但还是烫得很异常那就要考虑是不是芯片本身有问题。可以换一颗同型号的芯片试一下排除芯片个体差异和假货可能。5.3 用热成像和理论估算互验排查发热问题我强烈建议有条件的朋友用热成像仪看一眼。不一定要专业级别的热像仪一个手机外接热成像模块就能做初步诊断。热成像能直接看到芯片表面温度和温度分布还能看到PCB上哪些区域温度比较高这对判断散热路径是否畅通非常有帮助。热像仪显示的是封装表面温度也就是T_c壳温不是结温T_j。想得到结温需要再用公式T_j T_c P × RθJC换算。RθJC的值数据手册里也有一般在10°C/W到30°C/W之间相比RθJA小很多所以壳温到结温的温差不算大但要注意壳温测量点要选在封装上最热的位置不是随便对准芯片表面就行的。我用热成像排查过一个LDO发热问题温度分布图一目了然芯片表面温度85°C但正下方PCB铜箔区域只有40°C说明热量根本没有有效地传导到PCB铜箔上。后来检查发现是SOT-89的散热焊盘虚焊了重新焊接后同样的功耗下表面温度降到了60°C左右。这就是热成像和理论估算互相验证的价值。6. 一张表速查LDO选型与散热避坑清单把前面所有的经验整理成一张速查表做项目的时候可以对着检查。检查项要点避坑提示输入电压范围取V_in_max计算功耗不要用典型值USB口供电可能到5.25V负载电流取最大瞬态电流不看平均电流无线模块、传感器开启瞬间电流很大环境温度按产品实际使用环境的最高温度算密封壳体内温升可能比室温高20°C以上热阻取值参考数据手册给的RθJA结合实际PCB调整2层板热阻远大于4层板封装选择功耗0.3W优先选SOT-89及以上带散热焊盘封装SOT-23适合电流100mA以下场景PCB布局电容靠近引脚GND大面积铺铜过孔散热阵列散热焊盘必须焊接不能悬空拓扑选择压差大或者电流大果断用DCDC5V转3.3V电流超过300mA就别硬扛LDO缓启动考虑大电容负载上电瞬间电流很大按启动瞬间功耗评估不能只看稳态这个表算是把我这几年做LDO相关设计踩过的坑浓缩了现在做项目评审的时候我基本就是拿着这张表逐项打勾很少再在LDO散热上翻车了。最后再分享一个小技巧。选新LDO芯片的时候我会先把目标型号的数据手册下载下来直接翻到Application Information或者Thermal Information那一章先看的就是RθJA和推荐PCB布局。如果这两个参数不好看直接跳过基本不耽误太长时间。芯片好不好散热参数往往比电气参数更能说明问题。