简介:面向LED照明系统设计人员,尤其适合熟悉电源管理IC与LED驱动器的工程师,围绕TPS54201宽输入电压(4.5V~28V)1.5A同步降压LED驱动芯片,解决低输入电压下负载LED电流不稳定的问题,并给出实际电路实现方法。当输入电压不足以提供设定电流时,芯片会进入hiccup保护,表现为输出周期性关断与重启,容易引发灯光闪烁;资料依据TI官方应用手册,通过增加三个电阻和一个PNP三极管调整反馈引脚电压,去除不必要的hiccup保护,同时保留LED开路保护与采样电阻开路保护,兼顾系统安全性与灯光稳定性。内容覆盖芯片模拟与PWM调光控制方式、反馈网络工作点分析、外加电路设计方法、实际电路原理图,以及正常状态、LED短路、采样电阻开路等测试波形,所有实验均在标准测试平台完成。资料包内含单个PDF文件,大小约630KB,内容紧凑,适合应用于汽车照明、工业照明等对稳定性要求较高的领域。已有56人学习下载,可作为电源工程师调试LED驱动电路时快速上手的一份参考。
1. 低输入电压下的TPS54201:为什么要动hiccup保护
TPS54201这颗4.5V-28V输入的1.5A同步降压LED驱动,调光精度能做到1%,保护功能也算齐全,但有一个场景会让它“抽风”:输入电压偏低、LED设定电流对应的正向压降接近输入电压乘最大占空比时,芯片会进入hiccup(打嗝式)保护,输出周期性地关闭再重启,终端用户看到的直接表现就是灯闪。汽车照明、工业照明里输入电压跌落并不罕见,这个坑不填,整机验证根本过不去。这篇应用笔记给出的方案很朴素:三个电阻加一颗PNP三极管,在FB引脚上做电压补偿,解除误触发的hiccup,同时保留LED短路和采样电阻开路保护。适合正在调LED驱动环路、被保护策略干扰的电源工程师来复现。
2. 先拆hiccup保护链路:FB电压、COMP输出与512/16384周期
2.1 LED伏安特性决定了误触发的边界
要理解这个方案的用意,得先明白TPS54201为什么会误入打嗝。LED不是电阻性负载,它的伏安特性是典型的二极管曲线:电流从零开始爬升时,电压先快速升到导通门槛,之后进入平台区,电流哪怕翻几倍,正向压降也只变化零点几伏。所以在设计时,我们实际上是以目标电流I_led(set)对应的正向压降V_F为基准来校核供电条件的。比如某灯具用6颗串联的LED,常温下V_F约19V,那输入电压乘实际占空比至少要能覆盖19V,再扣掉采样电阻压降、电感直流电阻压降和芯片本身的导通压降。
TPS54201是同步降压架构,最大占空比大约90%,这是由高边开关管的最小关断时间决定的。也就是说,即便把PWM引脚配置成最大电流输出,输出电压的极限也就是V_in×90%再打个折扣。当输入电压偏低,比如车规12V系统在冷启动时跌到9V,设定电流对应的V_F按19V算,9V×0.9=8.1V远低于19V,芯片无论怎么拉占空比都满足不了负载,这时候问题就来了。
这里有一个很多工程师容易忽略的细节:芯片并不能区分“负载真的开路”和“电压不够推不动负载”。这两种情况在FB引脚上表现出来的特征几乎一样——FB电压持续低于0.2V基准。LED开路时,采样电阻上没有电流,FB自然被拉低;输入电压不足时,环路已经把占空比顶到最大,但电流依然达不到设定值,采样电阻上的压降同样低于0.2V。内部误差放大器的输出COMP在两种情况下都会被推到上限,于是保护逻辑看到的是同一个结论:开路,开始走保护流程。
2.2 FB低压持续512周期后关断:保护计时的硬逻辑
TPS54201的LED开路保护是用FB电压直接判断的,触发条件不是瞬时低压,而是持续低压。具体时序在应用笔记里写得很清楚:当FB电压持续低于阈值,COMP保持高,芯片开始进入“保护等待计时”状态;如果这个状态连续保持512个开关周期,芯片就会关断输出;关断后再等待16384个开关周期,才重新启动尝试驱动LED。
这个512/16384的比例是固定的,一次循环对应的时间长短取决于开关频率。开关频率设得高,512个周期只有几十到几百微秒,打嗝看起来没这么突兀;开关频率低一些,用户肉眼就能看到频率较低的明暗变化。关键点在于:hiccup模式一旦建立,输出管间歇性工作,LED电流的平均值被大幅拉低,亮度明显下降,并且伴随周期性的闪动。在汽车仪表背光、刹车灯这类应用中,这种闪烁是绝对不被接受的。
那么芯片为什么不能直接进入恒流限压状态,非要走hiccup?这跟保护逻辑的实现方式有关。LED驱动芯片通常用FB脚兼作开路保护和电流调节反馈,正常调节时FB被稳压在0.2V。一旦FB持续拉低,内部逻辑会认为回路已经断开,如果继续硬顶占空比,电感电流失去采样电阻反馈约束,可能一路冲到危险值。为了避免输出长期异常时炸掉开关管,芯片选择“宁可重启也不硬顶”。这种策略在大多数应用里是合理的,问题只出在“电压不足”和“真开路”共用同一套判断条件。
2.3 用示波器快速确认hiccup的三个特征
调这类问题,示波器是第一步工具。把应用笔记里的打嗝波形拆成三个判据,现场可以直接对照:
第一,看开关节点V_SW。正常工作时V_SW是连续稳定的方波,幅度等于V_in;进入hiccup后,V_SW会先出现一段正常开关,然后整个中断,中断一段时间后又恢复,恢复期间输出靠电感续流和输出电容维持,但电压已经出现明显跌落。第二,看LED电流ILED。用电流探头测,正常状态是一条直流叠加较小纹波;hiccup模式里会看到电流先建立起来,随后掉到零,之后再来,包络呈周期性锯齿或梯形。第三,看FB电压VFB。这是最直观的判据,正常调节时FB稳定在0.2V附近,而hiccup状态下FB大部分时间趴在0V附近,只在芯片重启后短暂回到0.2V,随即又掉下去,形成一组一组的长短波形。
判断时要注意探头带宽和触发设置。V_SW建议用10×探头,带宽不低于100MHz;ILED如果没有电流探头,可以用采样电阻两端的差分电压折算,但要注意地弹干扰。还有一个实用技巧:把示波器触发放到V_SW上,设置正常触发,看V_SW丢失触发后波形是否周期性重现,这比盯着ILED更容易捕捉到芯片重启的瞬间,也方便用光标量出512个周期和16384个周期对应的时间,反推开关频率是否和手册对得上。
3. 外加电路设计:三个电阻加一颗PNP,如何只消除误保护
3.1 电路结构与导通阈值
应用笔记的核心方案里,追加器件只有三个电阻R1、R2、R3(实际装配时R3可能用两颗电阻串联等效)和一颗PNP三极管T1。连接方式是这样的:R1、R2串联后跨接在输入电压和地之间,分压点接PNP的基极;PNP的发射极接输出端V_out;集电极通过R3接到FB引脚附近的采样电阻网络。用PNP而不是NPN,是因为我们需要的动作是“当输出电压相对偏高时导通”:PNP的发射极电压是V_out,基极电压是V_in的分压,V_out比基极高出0.5V以上时三极管开始导通,集电极电流从V_out经R3注入FB网络,把FB电压抬到0.2V附近。
阈值条件写成式子就是:V_out > R2/(R1+R2) × V_in + 0.5V。R2/(R1+R2)就是分压比D',这个比例被设定在0.8到0.9之间,含义是跟踪输入电压的某个比例:当V_out相对V_in的比值超过这个设定比例、且高出0.5V的发射结压降时,说明输出已经接近输入电压乘最大占空比的极限,芯片即将进入顶占空比状态,此时补偿电路接管FB。
有人会问,为什么不直接用比较器加基准源?用分立三极管的优势是响应快、成本低、不加额外的基准IC。这个0.5V刚好利用PNP的导通阈值,省掉基准电路;而且三极管导通是渐进的,不会在阈值点产生振铃。代价是阈值随温度会有漂移,这一点放到后面的避坑章节细讲。
3.2 FB补偿的工作原理与公式
当V_out低于阈值,T1截止,外加电路完全不工作,芯片按原来的调节方式运行。当V_out高于阈值,T1导通,集电极电流I3流过R3,再流进FB网络,在FB脚上建立一个附加电压。应用笔记里给的关键方程是:
0.2 = I3 × R_F + I_LED × R_sense
这个式子的含义是:FB脚要维持在0.2V基准,这一电压由两部分提供——采样电阻上的电流压降I_LED×R_sense(这是正常调节就有的),以及外加电路注入电流在R_F上产生的压降I3×R_F。当输入电压不足导致I_LED×R_sense达不到0.2V时,外部电路自动补上差额,让FB看起来“满足”了调节条件,芯片就不会误判开路。
随之可以推导出V_out与I_LED的关系式:V_out减去阈值电压等于I3在两段电阻上的总压降,再结合0.2V的FB方程,可以解出I_LED的表达式。这个表达式在I-V坐标系里画出来是一条直线,输入电压越低,这条线越往左下方移动,它与LED伏安特性曲线的交点就是实际工作点。这样设计者可以在改版前先用伏安曲线和这条负载线做交会,预估低输入情况下LED实际被拉到多少电流,而不必每次打样试错。注意,这个工作点电流会略低于设定电流,因为输出能力摆在那里,补偿电路只是让芯片不进入打嗝,并不能凭空变出能量。
3.3 参数计算流程与初始值
按照应用笔记给出的设计方法,取值顺序是这样的。
第一步,确定分压比例D'=R_down/(R_up+R_down),针对最大占空比90%留足裕量,取0.8到0.9。推荐组合是R_up=10kΩ、R_down=51kΩ,算下来约0.836,处于区间中间偏下,安全边际不错。
第二步,选取集电极支路电阻R_e。这里要特别说明一个容易误判的点:R_e=100Ω并不是直接限制电流的主力,真正限制注入电流的是FB网络的等效阻抗R_F。流过R_e的电流与流过R_F的电流基本相同,所以约束关系是R_e要满足在最恶劣输入电压和最大输出电压下,注入电流在R_F上产生的附加电压不超过0.2V。按这个约束核算后,原文选取R_e=100Ω。
第三步,实板验证时微调。R_e越小,补偿越强,但功耗也越大;R_e越大,补偿越弱,可能在输入电压很低时依然顶不住。我一般会在100Ω到220Ω之间备两个料位,实测低输入时的VFB波形后再定。
| 参数 | 含义 | 推荐值 | 备注 |
|---|---|---|---|
| D' | 分压比 R_down/(R_up+R_down) | 0.8~0.9 | 参考最大占空比90%留裕量 |
| R_up | 基极分压上电阻 | 10kΩ | 基极电流很小,可放宽 |
| R_down | 基极分压下电阻 | 51kΩ | 与R_up组合得到约0.836 |
| R_e | 注入支路电阻 | 100~220Ω | 按FB网络等效阻抗核算 |
| T1 | PNP三极管 | MMBT2907A或同类 | 通用小信号PNP即可 |
这里有个容易搞混的点:R_down和R_up的位置不要接反。R_down是靠近地的那颗,R_up是靠近V_in的那颗,比例式里的分子一定是R_down,因为PNP基极电压是从R_down上取分压。接反的话导通阈值完全错位,甚至可能在正常工作时误触发补偿,把调光曲线搞坏。
4. 实测验证三步走:正常、短路、采样电阻开路
4.1 正常状态:高输入和低输入的双波形对比
改完电路后的第一件事,不是直接去复现故障,而是先确认外加电路在正常工作时“不存在”。把输入电压从高往低扫,同时观察V_SW、VFB和ILED。高输入电压段,比如V_in=24V、设定电流下LED压降只有十几伏,V_out明显低于R2/(R1+R2)×V_in+0.5V,PNP截止,补偿支路完全不工作。这时把有无外加电路的波形叠在一起对比,应当几乎完全重合——VFB稳定在0.2V,ILED纹波不变,开关频率不变,这就说明补偿电路没有给原环路引入额外负载。
然后慢慢降低输入电压,直到V_out开始逼近阈值。无外加电路时,VFB会突然掉下去,ILED周期性回零,也就是hiccup;加上补偿电路后,VFB始终被维持在0.2V附近,哪怕输入已经低到输出能力不足,ILED也不会回零,只是电流值略低于设定目标,灯光变暗但不闪。应用笔记里的实测波形对比很直观:低输入电压时,没有补偿的VFB像梳子一样一截一截掉下去,加了补偿的VFB是一条平线。
在这个实验里要顺便量一下补偿支路的介入点是否和理论阈值吻合。用示波器的光标分别量出V_out和V_in,算一下R_down/(R_up+R_down)×V_in+0.5V,再对照VFB波形开始被“托住”的电压点。如果偏差超过0.1V,优先检查分压电阻精度和PNP管的V_EB离散性。
4.2 LED短路测试:保护是否被绕过
加了补偿电路后,最担心的是FB电压被外部强行维持,导致LED短路保护失效。所以第二个实验必须做:直接把LED负载两端短路,看芯片能不能正常进入保护。
结果是让人放心的。因为LED短路后,V_out被拉到接近0V,PNP的发射极电压远低于基极分压点的电压,T1截止,补偿电路完全不起作用。FB电压由采样电阻网络决定,短路时电流被电感续流和芯片本身限制,FB持续低于0.2V,芯片照样走512周期关断、16384周期重启的打嗝流程。
从实验波形上看,含与不含外加电路的LED短路响应几乎一致,V_SW都是先正常开关一阵子然后整体中断,ILED掉到零。这说明补偿电路的设计边界把握得很准:它只在“输出有电压但电流不足”时介入,一旦输出真被短路,自身就退出工作,不干扰原保护链路。这个逻辑在方案设计时就已经决定了,但上板实测确认一遍很有必要。
4.3 采样电阻开路测试:保护链条依然完整
第三个必测项是采样电阻开路。采样电阻R_sense是LED电流的检测元件,一旦开路,流过FB网络的电流路径断掉,FB电压会直接掉到接近地。理论上,补偿电路此时也补不回来,因为PNP的注入电流是流过R_F的,而采样电阻开路意味着整个电流检测回路断掉,FB节点的电位由内部上拉或偏置决定,一个几百微安的注入电流不足以把FB抬到0.2V。
实测结果和应用笔记一致:含与不含外加电路,采样电阻开路时都进入了hiccup保护,波形几乎重合。这验证了一个重要结论——外加电路只是“补充”了FB电压的不足部分,而不是“替代”FB的检测功能。一旦电流检测通路本身失效,补偿电路没有足够的驱动能力去掩盖故障,保护依然可靠。
做完这三组测试,可以下结论:该方案能去掉的是“输入电压不足导致的开路误判”,而真正的LED短路、采样电阻开路保护全部保留。这也是这个方案比单纯调高电流设定值或放宽保护阈值更稳妥的地方。
5. 低输入电压LED驱动设计的常见问题与避坑记录
5.1 FB注入电流过大,导致基准点偏移
现象:加补偿电路后,低输入电压下灯确实不闪了,但把输入电压恢复到正常范围,设定电流却比原来偏低了几个百分点,调光曲线整体下移。
原因:补偿支路的注入电流在正常高输入时应该为零,但如果R_e取值太小,或者PNP管的V_EB偏低,在V_out还没到阈值时就提前微导通,FB节点被额外灌入电流,内部环路为了让FB回到0.2V,不得不减小采样电阻上的压降,也就是减小LED电流。这在示波器上可能看不出明显异常,但积分光通量会变。
解决:核算R_e的下限,确保最恶劣温度下PNP的导通点仍然高于正常工作电压范围。验证方法很简单,把输入电压调到最高,测量FB引脚上是否有额外的直流偏置电流流入,或者对比加电路前后高输入电压下的设定电流是否完全一致。如果发现偏高输入时电流就变,说明导通点设低了,把R_down调大一点,或者给基极分压支路串联一个小电阻抬高阈值。
5.2 PNP导通阈值随温度漂移,低温时失效
现象:常温下调试好的板子,放到低温箱里-30℃测试,低输入电压下又开始闪灯,补偿电路好像失灵了。
原因:PNP三极管的发射结开启电压V_EB不是常数,温度系数大约-2mV/℃,从25℃降到-30℃,0.5V的导通点可能会抬高到0.55V以上,再加上LED的正向压降在低温下本身会升高,两个因素叠加,原本留的0.5V门槛就不够了。
解决:设计阈值时不要把0.5V当成精确的基准,要把它看成一个区间。我的习惯是常温下把导通点设在比理论最低工作点低0.3V到0.4V的位置,这样低温漂移后仍然能覆盖;同时实测低温箱里的VFB波形,确认打嗝没有回归。如果低温下确实失效,可以在基极分压点并联一个小阻值的负温度系数热敏电阻做补偿,但一般工程上通过留阈值裕量就够了。
5.3 输入电压瞬间跌落时补偿来不及建立
现象:用电子负载模拟汽车冷启动或者大功率负载切换,输入电压在十几毫秒内从14V跌到8V,输出灯闪了一下才稳住,比稳态低输入测试时明显。
原因:外加电路是被动的线性补偿,PNP从截止到导通需要基区电荷建立,响应时间通常在微秒到几十微秒量级;但输入电压跌落过程中,输出电压也会跟着快速下降,在V_out跌破阈值之前的一段时间里,芯片已经误判开路并开始计512个开关周期了。瞬态过程没有给补偿电路留出足够的“提前量”。
解决:瞬态问题要靠电容补。常见做法是在PNP基极到地并联一个几nF的小电容,让基极分压点在输入跌落瞬间保持一下,使T1更快进入导通;或者在R_e支路上串联一个小电感。注意电容不能太大,否则输入恢复时会延迟PNP关断,反而影响正常调光。我一般从1nF试起,用示波器看VFB波形,直到瞬态期间的VFB不再跌破0.2V为止。
5.4 R_e取值不当,调光曲线在低压段出现拐点
现象:用PWM引脚做模拟调光时,在某个输入电压以下,亮度调节出现明显非线性,甚至在低占空比设定下电流反而比高占空比设定时更高。
原因:R_e太小,补偿电流过大,FB被外部电流“锁”在0.2V,内部环路实际上失去了对电流的精确控制,LED电流主要由补偿支路和LED伏安特性决定,而不是由设定占空比决定。此时调光曲线就变成了一条外部电路决定的斜率,自然非线性。
解决:R_e要大于理论下限,保证在最低输入电压、最大设定电流下,补偿电流只占FB检测回路电流的一小部分。用原笔记给的约束公式算出上限后,再留50%裕量。如果调光精度要求高,可以在R_e上并联一个小阻值电位器,在实测中微调,找到补偿强度与调光线性度之间的平衡点。
5.5 分压电阻精度不够,量产批次触发点不一致
现象:样板测试全部通过,小批量生产时发现一部分板子在输入电压接近正常值时就出现亮度下降,另一部分则在更低的电压下才出现补尝介入,批次一致性差。
原因:R_up和R_down用的是普通5%精度电阻,批次间分压比偏差大,D'的离散范围可能跨过0.8到0.9的整个区间;再加上PNP管V_EB的离散,实际导通点可以相差0.2V以上。
解决:分压电阻改用1%精度,关键位置的R_down用E96系列;PNP管选择V_EB离散小、h_FE高的型号。如果对一致性要求更高,可以把分压比设计成可微调的,用电位器在出厂测试里校准导通点。对于车规项目,这一步不能省,因为低温、老化和批次漂移叠加起来,很容易突破预留裕量。
6. 进阶验证:用工作点交会法在改版前预判LED电流
6.1 用脚本快速估算补偿介入后的工作点
等板子回来再发现问题,来回一次就是好几天。我现在的习惯是改版前先做一个工作点交会估算:把LED的伏安特性曲线近似成一条直线,再叠加上外加电路的负载线,看交点落在哪里。这样输入电压、分压比、采样电阻和R_e怎么搭配,心里先有个数。
下面是用来做这个估算的脚本,参数需要按你自己的实测值填:
# 工作点交会估算:输入条件 -> 补偿介入后的LED电流 vin = 9.0 # 低输入电压, V d = 0.836 # 分压比 R_down/(R_up+R_down) rsense = 0.1 # 采样电阻, ohm re = 100.0 # 外加电路注入支路电阻, ohm rf = 10000.0 # FB网络等效电阻, ohm(用实测值) vf0 = 19.5 # LED在目标电流附近的截止电压, V rdyn = 0.3 # LED动态电阻, ohm vth = d * vin + 0.5 print(f"补偿导通阈值: {vth:.2f} V") def led_vf(iled): return vf0 + rdyn * iled # 从0到2A扫描,找满足FB方程的工作点 for ma in range(0, 2001, 20): iled = ma / 1000.0 vo = led_vf(iled) if vo <= vth: continue i3 = (vo - vth) / (re + rf) # 忽略V_CE和FB吸收电流 vfb = i3 * rf + iled * rsense if abs(vfb - 0.2) < 0.005: print(f"工作点: {iled:.3f} A, LED压降 {vo:.2f} V, 补偿电流 {i3*1000:.2f} mA")这段脚本的逻辑是:先算出补偿导通阈值V_th;然后假设LED压降随电流线性变化,以0.02A为步长扫描;当V_out高于阈值时,计算注入电流I3在FB网络上产生的压降,加上采样电阻压降,看是否等于0.2V基准。等于的点就是估算的工作点。参数说明里要注意:rf不是随便填的,需要根据实际FB网络的等效阻抗来定,测量方法是在FB节点加一个已知小电流,看电压变化量;re和rf共同决定了补偿强度,扫描步长可以根据精度需求调整。脚本跑出来的电流值只能用来做趋势判断,最终还是要用示波器实测VFB确认。
6.2 我留给自己的验证习惯
那次被低温坑过一次之后,我给自己定了一条规矩:凡是用这种外挂补偿方案的LED驱动板,调试顺序必须是先跑交会脚本、再上电源看高输入波形、再做低输入扫描、最后进温箱过一遍极限温度,每一步都留波形和数值记录。特别是低输入扫描,不能只盯着灯亮不亮,要看VFB是不是稳定在0.2V,因为只有VFB稳住了,才说明补偿电路真的接管了反馈,而不是靠运气闪过去的。这套资料里给出的波形图和数据表,值得照着重新做一遍,能省掉不少弯路。希望帮到你。
本文还有配套的精品资源,点击获取