
带监测输出的线性稳压器这个设计方向在电源管理系统里其实挺有代表性。这几年不少电源芯片厂商都在往这个思路上走——稳压器不只负责把电压稳住还顺便把负载电流和芯片温度这两个关键状态量以电压形式引出来方便后端做监控、保护甚至闭环控制。这个设计一开始是给一套传感器采集板做的供电方案。板子上有模拟前端、ADC和无线模块电源轨是5V输入、3.3V输出最大负载电流1A。但实际使用中供电对象不只是主控还有一套独立的高精度模拟链路对电源噪声和电压精度比较敏感同时功耗变化大从几十毫安到接近安培波动。放在以前问题不大直接选一颗LDO就行。但这次客户提了两个需求一是要知道当前实际负载电流是多少方便做功耗统计和故障预测二是要能感知电源芯片自身的温度状态防止长期高温工作导致寿命衰退。这就不是一颗普通LDO能解决的了。于是就有了这个项目的核心设计目标在保证线性稳压器基本性能的前提下额外提供两路模拟监测输出——电流监测输出和温度监测输出分别以电压信号形式反映负载电流和芯片温度方便直接接入MCU的ADC或者外部的模拟比较器做阈值判断。整个设计思路、关键计算、实测数据和踩坑记录在这里做一个完整的复盘。1. 监测需求分析与方案选型1.1 监测输出到底解决什么问题很多人可能觉得想知道电流那还不简单串个采样电阻用万用表量就行了。但在实际产品里这种思路完全不适用。系统需要的是实时、连续、可被数字系统读取的信号而不是靠人工去测。带监测输出的稳压器本质上就是把测量这件事集成到供电链路内部让电源轨本身就具备自检能力。具体到应用场景有三类第一类是功耗预算验证。很多嵌入式设备宣称的功耗指标和实际运行功耗差距很大。通过电流监测输出连接ADC可以实时记录不同负载模式下的真实电流曲线用来优化电源管理策略。第二类是故障预警。如果电流监测输出电压突然升高或者频繁波动说明负载侧可能出现了异常——比如电机堵转、传感器短路、射频功放过载。这时候系统可以提前做保护动作而不是等电源芯片过热烧毁以后再断电。第三类是温度监测用于寿命管理。半导体器件的寿命和结温强相关。如果能在芯片逼近温度上限之前通过软件降频或者减小负载电流来降低功耗整个产品的可靠性会提升一个档次。所以这个项目的意义在于把电源从被动供电变成了主动感知。线性稳压器不再只是静静地把电压稳住而是能开口说话告诉你现在的工作状态。这恰恰是很多智能硬件、工控仪表、车载电子里特别需要的功能。1.2 为什么选择分立方案而不是直接买成品芯片市面上确实有带监测输出功能的集成LDO产品比如内部集成电流镜输出功能的一些型号。但在实际项目里我最终放弃了直接用这些芯片原因有三点首先是选型灵活性受限。集成方案的监测输出通常是开漏电流镜像形式需要自己加电阻把它转换成电压。但电流镜像的精度往往受芯片内部工艺偏差影响不同批次温漂不一样对需要精确电流测量的场景不够友好。其次是温度监测的采样点问题。很多集成LDO内部虽然有热保护电路但并不会把温度信号以可用的模拟电压形式引出来。如果需要温度电压信号必须自己想办法——要么用芯片外壳贴NTC要么在PCB上靠近芯片的位置放热敏电阻。最后是散热设计的灵活性。分立方案的功率管可以采用更大封装的MOSFET导热到PCB铜皮的效果更好对于持续1A负载的场景散热余量更大。集成LDO的封装限制了它带走热量的能力。所以我最终确定的架构是用分立元件搭建线性稳压器核心用高边采样电阻加差分放大器做电流监测用热敏电阻加调理电路做温度监测两路监测输出都经过缓冲后以0至2V的模拟信号引出。这个方案完全可控每一级的精度和温漂都能独立校准虽然PCB面积会大一些但对于性能优先的项目来说完全值得。2. 电流监测输出链路设计2.1 采样方案的对比低边电阻与高边差分电流检测的第一步是选择采样方式。低边采样就是在负载回路和地之间串采样电阻电流流经电阻产生压降用运放放大。这个方案优点是输入共模电压接近地运放选型容易电路简单。但缺点很致命采样电阻上的压降会抬高系统地平面电位导致整个系统地噪声增加对模拟电路干扰很大。在给高精度模拟链路供电的应用里低边采样直接排除。高边采样是在电源输出和负载之间串采样电阻这样系统地和负载地可以保持同一电位不会引入地弹。但代价是采样电阻两端的共模电压接近输出电压3.3V差分放大器必须能承受这个共模输入范围。好在现在轨到轨运放很普及这个难点已经不算什么了。我选择的高边采样电阻为0.05Ω精度1%温漂系数50ppm/°C以内。最大1A负载时压降为50mV这个压降对于3.3V输出的线性稳压来说相当于增加了一点dropout电压可接受。阻值不能再大了否则满载时压降和功率损耗都会明显上升也不能再小了否则小电流时压降太小后级放大器的噪声和失调会淹没有用信号。2.2 差分放大器参数计算与增益设定采样电阻上的信号范围是0至50mV这个信号太微弱而且不是以地为参考的悬浮信号所以要先用仪表结构或者差分放大器把信号转换成以地为参考的电压再放大到ADC好用的范围。设计目标是在满量程1A时输出2V满量程也就是增益为40倍。我用的放大器拓扑是经典的差动放大电路结构如图1所示回顾一下这个拓扑的增益公式Vout (R4 / R1) * (V_sense - V_sense-) G * Vsense其中需要满足R1 R3R2 R4增益G R2 / R1。为了得到40倍增益我取R2 R4 200kΩR1 R3 5kΩ。这个阻值组合有几个好处5kΩ的输入阻抗对采样电阻网络的负载效应很小不会影响原有采样精度200kΩ作为反馈电阻与运放输入电容产生的极点频率约为几十kHz不会干扰1kHz以内的直流监测信号阻值不至于过大否则噪声增加运放偏置电流在电阻上产生的压降也会变成误差。运放选用了低失调电压的精密运放输入失调电压典型值约50μV折合到输入端误差为1.25mV输出对应负载电流误差约31mA。对1A满量程来说大约3%的零位误差这对于监测用途来说可以接受。如果想做得更好可以选择更低失调的斩波运放代价是成本提高。2.3 监测精度的三个误差来源做过实际电路的人都知道理论计算和实测总会有出入。电流监测链路的主要误差来源有三个第一个是采样电阻的初始精度和温漂。0.05Ω的电阻在1A电流下自身温升可能达到数十摄氏度如果电阻温漂系数差阻值变化引入的误差会直接反映在输出电压上。所以必须选低温度系数的合金电阻不要用普通的贴片厚膜电阻。第二个是差动放大器电阻网络的匹配度。前面这个电路增益精度完全取决于R1/R2与R3/R4的匹配程度哪怕是0.1%的失配也会带来共模抑制比的显著下降。在实际制作中使用0.1%精度的薄膜电阻网络而不是用分立电阻逐个配对。这就是集成电阻网络在这个场合的价值。第三个是反馈运放的输入失调电压温漂。运放的失调电压会随温度变化在工业温度范围内可能漂移数微伏到数十微伏。为了减小这个影响可以在没有负载电流时把监测输出电压作为零点记录下来软件里做零点校准。这个操作在实际项目中是非常有必要的。2.4 输出缓冲与滤波电流监测的输出最终要接到MCU的ADC引脚。ADC的采样电容在转换过程中会从信号源抽取短暂电流脉冲。如果信号源输出阻抗太高这个电流脉冲会导致采样误差。为了保险起见我在差动放大器输出电压后面加了一级RC低通滤波和一级电压跟随器。RC低通滤波的截止频率设置在10kHz左右用于滤除开关噪声和射频干扰电压跟随器用输入阻抗极高的运放构成阻抗隔离效果很好ADC采样时不会拉低监测电压。这级跟随器的输出电压公式可以表示为Vimon 40 * Iload * 0.05Ω 2 * Iload也就是说当负载电流为0.5A时Vimon 1.0V当负载电流为0.25A时Vimon 0.5V。这个线性关系在后端软件里直接做一次乘法就能还原出真实电流值十分方便。3. 温度监测输出链路设计3.1 温度传感器的选型与摆放位置分析温度监测的核心问题是怎么测量芯片的温度并且把它变成电信号。市面上常见的方法无非三种热电偶、IC温度传感器、热敏电阻。热电偶需要冷端补偿和小信号放大电路在PCB上实现太麻烦IC温度传感器比如TMP36精度高、线性好但它封装比较大测量的是环境温度而非芯片温度热耦合路径太长响应慢所以最终我选择了NTC热敏电阻。NTC热敏电阻的典型特性是阻值随温度升高而指数下降。我选了一颗10kΩ B值3950的NTC在25°C时阻值为10kΩ。这个元件体积小可以放在距离功率调整管很近的位置甚至通过导热焊盘直接接触功率管的散热焊盘热响应速度可以做到秒级以内。摆放位置是整个温度监测设计的关键。我的方案是把NTC放在调整管漏极铜皮附近距离功率管本体不超过5mm同时用一小块独立的铜皮区域连接避免被其他发热源干扰。这样做的好处是NTC感知的温度非常接近功率管的实际壳温。不过这里也有一个权衡NTC离功率管近测得的温度高离得远测得的温度与实际结温偏差大。实测下来距离5mm和距离15mm的温差大约有8°C至12°C所以位置选好之后就不要随意改动否则校准数据就会失效。3.2 电桥与放大器电路实现NTC本身是电阻器件需要把它转换成电压信号。我用了一个简单的分压结构加缓冲运放电源Vref2.5V精密基准接NTC到地同时并联一个10kΩ精密电阻到地。这样在25°C时NTC正好等于10kΩ输出电压为Vref的一半即1.25V。当温度升高NTC阻值降低输出电压随之降低。温度降低时NTC阻值升高输出电压升高。这个分压结构的变化范围是-20°C时NTC约39kΩ输出电压约0.51V80°C时NTC约1.4kΩ输出电压约2.28V。需要注意的是这个输出是非线性的因为NTC的阻值温度曲线本来就是指数型。为了便于软件换算我在前端没有做线性化处理而是把电桥输出电压直接送给ADC由软件查找表来换算温度。这样的好处是硬件简单精度完全取决于查找表的密度。温度信号从分压点出来之后同样需要经过一级电压跟随器缓冲然后再输出。因为NTC的阻值较高直接驱动ADC会导致采样误差缓冲后输出阻抗就低了很多。3.3 用恒流源替代分压方案的一步优化理论上讲采用精密恒流源给NTC供电把NTC上的压降作为信号这样能够避开电源电压波动的影响。我最初的设计是直接用稳压器输出电压做分压后来发现一个问题LDO的输出电压本身虽然稳定但还是会有微小的负载调整率波动这个波动会直接耦合到温度监测输出上。在后续版本中我增加了一路1mA精密恒流源专门给NTC供电。这时NTC上的电压等于Vntc I_const * Rntc 1mA * 10000Ω25°C 10V这个电压太高了超出了简化电路的合理范围。所以恒流源电流降低到了100μA此时25°C时NTC压降为1V这个范围刚好适合直接采集。这个改动让温度监测输出电压与LDO的输入电压、输出电压波动完全脱钩稳定性得到了明显改善。3.4 温度校准与自热效应控制热敏电阻的标称阻值和B值误差通常在1%至5%之间。如果不做校准温度测量的绝对误差可能会达到±3°C甚至更大。对于只是做高温保护的应用这个精度勉强能用但如果要给系统做温度补偿就需要校准。我的校准方法非常简单把板子放入温箱在25°C和60°C两个温度点分别记录ADC读数然后线性插值出整个温度范围对应的ADC值查找表。这个方法不需要高精度仪器只需要一个可靠的温度参考即可但校准完成后系统温度精度可以在±1°C以内。自热效应是另一个容易被忽视的因素。当电流流过NTC时自身会发热导致阻值变化从而引入测量误差。对于10kΩ的NTC100μA电流下自热功率为0.1mW。NTC的耗散系数通常在1至2mW/°C之间所以自热温升大约0.05°C到0.1°C可以忽略。但如果我当初选了1mA恒流源自热功率会变成10mW温升可能达到5°C以上那就完全不可接受了。这也是后来把恒流源电流从1mA改为100μA的重要原因之一。4. 原理图设计要点与PCB布局实战4.1 功率环路与信号环路的隔离设计线性稳压器的原理图连接看似简单输入接功率管功率管输出经过LC滤波接到负载。但PCB上布线和元件布局才是决定性能的关键。功率路径上电流较大最高1A这条路径上的敷铜必须足够宽一般建议每A电流至少40mil铜宽。同时功率路径的所有过孔都要加强不能只打一个过孔否则过孔电阻和热阻都会成为瓶颈。电流监测用的采样电阻必须放在功率路径上但采样信号的取线必须是独立的开尔文连接。也就是说要从采样电阻的两个焊盘上分别引出细线到差分放大器而不是从大电流铜皮上直接连过去。如果直接在大电流铜皮上取信号铜皮本身的电阻压降会叠加到采样电阻压降上导致测量误差。温度监测NTC的走线也有讲究。NTC本身是两线器件走线电阻对测量结果有直接影响。虽然NTC阻值达到千欧级普通走线电阻只有几十毫欧影响不大。但如果走线距离过长且经过了大电流区域铜皮发热导致的电阻变化也会引入误差。所以NTC走线尽量短粗并且远离功率管输出铜皮的大电流路径。4.2 散热铜皮与热敏元件布局的冲突与平衡线性稳压器的散热设计直接决定了芯片能承受的最大功耗。输入5V输出3.3V压差1.7V。在1A负载下调整管上的功耗为1.7W。这个功耗如果不通过有效途径散掉芯片结温会迅速升高。我的散热策略是调整管采用具有较大散热焊盘的封装散热焊盘直接连接到PCB底层的大面积铜皮铜皮通过多个过孔连接到顶层形成上下双层散热。在正常工作环境下这种设计可以让调整管的热阻降到30°C/W左右1.7W功耗下的温升约51°C加上环境温度25°C结温约76°C在可接受范围内。但这里有个矛盾如果要让NTC测到芯片温度NTC必须靠近调整管但如果NTC太靠近调整管的散热铜皮它可能被散热铜皮上的热量加热测得的温度不是真实的芯片核心温度而是某个局部过热点的温度。解决办法是NTC离开散热铜皮一定距离通过一小截细铜皮连接到调整管散热焊盘的边缘既保证了热耦合又不会过度受局部热斑影响。4.3 输出电容选择与环路稳定性线性稳压器的稳定性设计是整个项目里最需要细心的地方。输出电容的ESR会直接影响稳压环路相位裕度。ESR太低的陶瓷电容可能引起振荡ESR太高的电解电容又会让瞬态响应变差。在这个设计里输出电容我选择了一颗22μF的X7R陶瓷电容同时串联了一颗0.1Ω的电阻来调整ESR至合适范围。这是为了让输出极点与调整管的内部补偿零点形成合适的交叠保证全负载范围内环路稳定。实测在不同负载电流下输出电压没有出现振荡或低频纹波增大的现象。这里有一个常见误区需要强调如果使用了内部集成LDO控制器芯片通常数据手册会给出明确的输出电容范围和ESR要求按手册设计即可。但在分立方案中环路补偿必须靠实测来验证尤其要在最小和最大负载电流两个极端条件下检查瞬态响应是否衰减、电压是否过冲。我使用电子负载在0到1A之间进行阶跃测试监测输出电压波形确认过冲电压不超过50mV调节时间在50μs以内达到了设计指标。5. 实测数据与问题排查全记录5.1 电流监测通道的实测数据焊接完第一版测试板之后我用电子负载和数字万用表对电流监测通道做了详细测量。测试条件是输入5V输出3.3V室温25°C。电子负载从0.1A开始以0.1A步进增加到1.0A记录每个点的VBCOUT电压如下表为了检验整个链路的效果我用一个直流电源的电流表读数与监测输出电压反推出的电流做了对比。实测下来有一个比较明显的现象小电流0.1A时监测输出电压为0.213V反推电流为0.1065A与实际0.1A之间的偏差约为6.5%。但到了大电流1.0A时反推电流为1.007A偏差只有0.7%。这就是零点失调电压导致的非线性误差——在小电流时失调电压占比大误差被放大。好在软件里做一次零点校准就能把这个误差压下来。5.2 温度监测通道的实测数据温度通道的验证使用了加热平台和红外测温仪。把PCB固定在加热平台上从30°C开始每10°C记录一次直到80°C。同时记录了NTC分压点的输出电压。从实测数据来看输出电压随温度的变化关系接近线性下降大约每摄氏度下降17mV但从30°C到80°C整个区间内线性度并非完美低温端斜率略陡高温端斜率略平。这是NTC本身指数特性带来的可以接受。如果对线性度有更高要求改用一个精度高的集成温度传感器配合附加运放做线性化会更加合适。实际使用中温度输出不是直接读数来用的。我编写了软件查找表将实测的ADC值映射到实际温度。为了验证精度我在常温25°C和60°C两个点做了两点校准校准后的读数误差在±1°C以内完全满足设计要求。5.3 调试中遇到的典型问题整个调试过程大概持续了三个晚上遇到问题不少。最有代表性的几个故障现象值得记录第一个问题是电流监测输出在空载时电压偏高。初次测试时空载监测输出电压为0.085V远大于理论上的0V。排查后发现是差动放大器的输入偏置电流流过采样电阻造成的压降。因为采样电阻只有0.05Ω这个误差本应很小。但问题出在输入端设置了滤波电容导致运放输入偏置电流在滤波电阻上产生了额外压降。解决办法是减小滤波电阻阻值把偏置电流的影响压到可忽略的水平。第二个问题是温度监测输出在整机运行时波动明显。最初怀疑是电源噪声干扰后来用示波器一看输出信号上叠加了约10mV的100Hz纹波。根源是NTC分压参考电压直接取自LDO输出LDO虽然输出电压稳定但仍存在小幅度负载瞬态波动。最终改成独立基准供电之后这个问题彻底消失。第三个问题最具启发性监测输出正常但LDO在满载时出现低频振荡。这个问题的根源是输出电容的ESR和后级负载电容谐振。原因是电流监测采样电阻串联在输出路径中它的存在改变了输出滤波网络的特性导致在某个负载点附近相位裕度不足。最终通过调整输出电容容值和ESR后恢复了稳定。这里有一个很重要的排查思路当系统出现振荡时先用示波器观察输出纹波的特征频率。如果是几百Hz的低频振荡多半是环路补偿问题如果纹波频率很高则通常是开关噪声或地弹问题。对症下药比盲目修改元件参数有效得多。5.4 常见问题速查表把调试中遇到的情况整理成一份速查表方便以后复现时对照故障现象可能原因排查方法与解决措施电流监测输出零位偏高失调电压、PCB漏电流、偏置电流在滤波电阻上产生压降减小输入滤波电阻阻值必要时软件记录零点并校准电流监测读数不随负载变化采样电阻虚焊或差分放大器共模输入范围不足用万用表直接测采样电阻两端压降逐级检查信号链温度监测输出波动大参考电压不稳定、NTC走线太长大电流干扰改用独立精密基准供电用开尔文接法连接NTC走线满载时输出振荡输出电容ESR过低或过高、采样电阻影响补偿用电子负载做阶跃测试调整额外串联电阻和输出电容容值温度读数长时间不变化NTC与功率管热耦合差、距离太远调整NTC位置用热风枪对着功率管吹观察响应速度监测输出与ADC连接后读数偏小ADC输入阻抗不足采样电容抽载在监测输出与ADC之间增加电压跟随器缓冲6. 扩展方向与个人实操心得6.1 监测输出的后端利用方式两路监测输出做好之后如何充分利用这个信号其实决定了整个设计的价值。我在这套系统里的用法是MCU以100Hz的采样率同时读取电流和温度两个通道然后做实时处理。电流数据主要用来做功耗统计。系统在休眠模式下电流只有10mA在正常运行模式下电流约400mA在无线发送瞬间电流会冲到980mA。通过ADC采样电流监测输出可以准确识别系统处于哪个工作状态甚至在代码异常导致电流异常飙高时触发中断提前断电保护。温度数据主要用来做老化监测。设备在密闭机箱内持续运行热量聚集可能导致芯片结温升高。当温度监测输出电压低于某个阈值时说明芯片温度已经逼近上限软件就会自动降低无线发射功率降低整机功耗让温度回落。这种闭环策略比单纯硬件过温保护更柔顺不会突然断电导致数据丢失。6.2 如果想用集成方案替代如果你不想搭这一整套分立电路其实市面上也有集成度很高的方案。有些电源模块内部已包含电流监测输出和温度标志输出使用起来更加方便只需要配置一个电阻来设定电流监测比例。但这类方案往往成本较高而且电流监测精度不如外部分立方案可校准。另一种替代思路是把电流监测和温度监测做成独立的功能模块放在LDO之外比如电流检测放大器配合热敏电阻独立的调理电路。这种方案灵活性高可以复用到不同的电源轨上但PCB面积需求更大。选集成还是分立还是要平衡成本、面积、精度三者的优先级。如果芯片用量大、对成本敏感且已经有成熟的校准流程外部分立方案其实是更稳妥的选择。如果追求开发效率、样品量少或布板面积极紧集成方案值得考虑。6.3 最后分享几条实际经验做这个项目的最大体会是简单的电路往往隐藏着最多的细节问题。带电流和温度监测输出的线性稳压器从原理图上看并不复杂但真正做出高精度、高稳定性的成品需要关注的细节非常多。第一每个测点的参考地要独立。模拟监测信号和功率地如果不能有效分离共阻抗耦合带来的误差比很多人想象中更大调试时找问题会耗费大量时间。第二校准过程要保留温度记录。电流监测的失调电压会随温度变化温度监测的NTC曲线也会随老化偏移。在最终产品中预留校准参数存储区出厂前逐台做两点校准比依赖元器件标称精度可靠得多。第三监测输出信号注意加保护。在工业现场监测输出可能会被误接到外部电源如果没有保护电阻或ESD器件监测运放很容易损坏。我在输出端串了一颗1kΩ电阻既能限流又不影响后端ADC的采样。第四别忘了回头验证稳压器核心性能。增加监测功能以后不能只看监测功能是否正常还要重新测试原来稳压器的各项指标——负载调整率、线性调整率、纹波抑制比、瞬态响应。因为这些指标很可能因为输出路径上多了一个采样电阻或改变了反馈点位置而发生变化。总的来说这个项目最终的成果是一块尺寸不大但功能相当完整的电源管理模块。它既能当作普通LDO用又具备实时监控能力对于系统的调试、运维和可靠性设计都有直接帮助。以后再做类似电源项目的时候这套带监测输出的设计思路完全可以复用到其他电压轨上只要调整采样电阻和增益电阻的数值就可以快速适配。