咱们做显示相关硬件的人,都知道液晶屏的Gate驱动需要一组正压一组负压,也就是常说的VGH和VGL。以前我拿到新项目,第一个想法就是上DC-DC:升压做VGH,再反压做VGL,电路成熟、资料多、心里踏实。但后来在一些对成本敏感、板子空间又紧张的小尺寸屏项目里,DC-DC那套电感方案越来越不顺手,要么电感高度超标,要么开关纹波把触摸搞得不干净。也就是那时候,我开始认真研究电荷泵这条路,做下来发现,VGH和VGL这两个电压其实特别适合电荷泵来生成,成本和面积都能省一大截,电路还异常简单。
这篇就围绕“电荷泵生成VGH/VGL”这件事,把原理、计算、选型、PCB布局到调试踩坑整个流程都捋一遍。不管你是刚接触显示驱动的新手,还是被DC-DC方案折腾过、想换个思路的工程师,这篇应该都能给你点可以直接用的东西。
1. 先搞清楚VGH和VGL到底是什么,别等点亮屏才后悔
很多新手拿到屏的规格书,先看的是分辨率、接口、色彩格式,把电源电压那一栏草草扫一眼就过去了。这是不对的。VGH和VGL这两个电压一旦给不对,轻则显示异常,重则把Gate驱动IC烧掉。我建议做屏端设计之前,先把这两组电压的原理啃透。
1.1 TFT液晶屏的“开关”原理
TFT液晶屏的每个像素,本质上是一个电容结构,要维持它两端的电压来保持灰阶显示。谁来给这个电容充放电?就是TFT管。TFT管是场效应管,Gate端需要足够高的正压才能打开,需要足够低的负压才能彻底关闭。
这里有一个容易被忽略的点:如果Gate关闭电压不够负,TFT管关不彻底,会导致像素电压慢慢漏掉,画面就会出现残影、拖尾,甚至闪烁。而如果开启电压不够高,TFT管没有完全导通,像素充电不充分,显示对比度就会下降,灰阶也不准。
VGH就是Gate开启电压,VGL就是Gate关闭电压。不同的液晶面板,这两组电压的数值要求不一样。TN屏和IPS屏的驱动电压差异很大,同尺寸的屏不同厂商给出的参考值也可能差出两三伏,所以我做设计的时候,第一件事永远是翻规格书找“Recommended Driving Condition”那一页。
1.2 常见屏的VGH/VGL参数范围
我接触过的屏里,VGH的范围大概在15V到20V之间,VGL在-5V到-10V之间。举个例子,一些7寸的TFT屏,规格书推荐VGH=16V、VGL=-7V;而有些分辨率高一点的屏,会把VGH推到18V甚至20V。
这意味着什么?如果用DC-DC,你需要一路升压到十几伏,还有一路反压到负的几伏,两路开关电源。电感、电容、续流二极管、反馈电阻,一圈算下来,光BOM就多了七八颗料。如果这两路电流还不大,那用DC-DC其实就是在“高射炮打蚊子”——开关电源的动态响应和带载能力一点没浪费,但成本和面积全搭进去了。
而电荷泵能做什么?它能用几个电容加几个二极管,从5V或者3.3V直接升出十几伏正压,也能反出负压。没有电感,就没有电感选型、没有EMI的开关节点毛刺问题,整个电路简单到像玩具,但它就是能把VGH和VGL老老实实地供出来。
2. 为什么老手推荐电荷泵?因为DC-DC在这场景里确实“用力过猛”
先说清楚,我不是说DC-DC不好。DC-DC在负载电流大、需要稳压精度高、输入输出电压差大的场景里,是绝对主力。但VGH和VGL这种负载,有它的特殊性,这种特殊性恰恰让电荷泵占了便宜。
2.1 DC-DC方案的先天问题
DC-DC做VGH和VGL,典型的方案是Boost加Inverting Buck-Boost。这套方案的问题,我在实际项目中体会很深:
一是电感高度。小尺寸液晶模组经常放在便携设备里,整机厚度压到很薄,绕线电感的高度往往就成了瓶颈。选功率电感要考虑饱和电流,尺寸大一点的感值才能撑住纹波要求,这跟“薄型化”的需求是冲突的。
二是EMI问题。Boost和Inverting拓扑的开关节点电压摆幅非常大,di/dt也高,PCB布线稍微不合理,就会把噪声耦合到背光驱动或者触摸IC上。触摸屏在充电模式下对噪声极其敏感,DC-DC的开关噪声很容易让触摸报点乱跳。我调试过一台设备,就是因为VGL那路DC-DC的开关噪声串到了触摸屏的驱动信号里,折腾了整整一周才定位到。
三是物料成本。电感、专用PWM控制器或者带开关管的DC-DC芯片,再加上反馈分压电阻、补偿网络,整套下来成本和电荷泵完全不在一个量级。对于年出货几百万台的产品来说,省下的每一毛钱都是纯利润。
2.2 电荷泵的工作原理与无电感优势
电荷泵也叫开关电容变换器,核心思想是利用开关去控制电容的充电和放电,通过电容的串并联切换实现电压变换。这不是什么新东西,最早的计算器升压芯片就是这么干的。
电荷泵最吸引人的优势,第一是无电感,整个电路由电容和二极管组成,BOM极其简单,高度也低,非常适合薄型产品。第二是没有磁性元件,就不存在电感啸叫问题,也不存在电感饱和风险,这对可靠性来说是实打实的加分项。第三是EMI特性好,电容充放电产生的噪声频谱主要集中在开关频率的倍频上,而且没有高dv/dt的开关节点,辐射干扰比DC-DC小很多。
当然,电荷泵的短板也有:带载能力弱、输出纹波偏大、电压调整率差。但在VGH和VGL这两路“小电流、高电压”的输出上,它的短板恰好不致命,长处反而全用上了。
| 对比项 | DC-DC(Boost/Inverting) | 电荷泵 |
|---|---|---|
| 磁元件 | 需要电感 | 不需要 |
| 输出纹波 | 较低,取决于LC滤波 | 相对较高,取决于开关频率和电容 |
| 带载能力 | 强 | 弱,适合mA级负载 |
| 成本 | 较高 | 很低 |
| PCB面积 | 较大 | 小 |
| EMI风险 | 较高 | 低 |
| 电压调整率 | 好 | 差,负载变化时电压波动明显 |
3. 电荷泵设计核心:倍压、反压的计算方法
电荷泵设计的关键,在于想清楚每一级电容是怎么充电、怎么放电的,算清楚电压增益和损耗,然后根据负载电流去估算需要多大的电容和多少开关频率。
3.1 倍压电路:从5V到20V的递进逻辑
VGH如果是20V,输入是5V,那就要做4倍压。电荷泵的倍压级联,每一级是由一个二极管加一个电容组成的,原理可以这样理解:在时钟的第一半周期,开关把输入电压接到电容上给它充电,电容两端电压充到接近输入电压;第二半周期,开关切换连接方式,让这个已经充好电的电容串联到输出端,由于电容电压不能突变,输出电压就被“抬升”了一截。
以二倍压电路为例,当SW为低电平时,二极管D1导通,电容C1通过D1充电到VIN;当SW为高电平时,C1的负极被拉到VIN,正极就会变成约2×VIN,经过D2给输出电容C2充电,从而在输出得到约2×VIN的电压。
三倍压、四倍压就是在这个基础上继续级联。每一级的二极管会带来一个正向压降,所以实际的输出电压要减去二极管的压降。用公式表示就是:
Vout = N × VIN − (N−1) × VD
其中N是倍压级数,VD是二极管正向压降。如果输入5V,二极管压降0.3V,做4倍压,理论输出就是20V减去0.9V,大约19.1V。这个值会随负载电流增大进一步跌落,因为电容充放电存在等效内阻,也就是Charge Pump的Output Impedance,后面我会细说。
3.2 反压电路:从正压得到VGL负压
VGL是负压,电荷泵也能做,原理和倍压正好反着来,利用电容两端的电压不能突变的特性,把一个已经充好电的电容的“负极端”接到地,电容正极的电压就会被“推到”负电压。
这里我最常用的是在正压的基础上做反压,比如用VGH作为输入源,通过一级电荷泵反压得到−VGH。这样做的好处是仅用一路时钟就能同时得到正负两路电压,电路更简洁。
反压的公式是:
Vout = −(VIN − VD)
如果你用VGH=20V做输入,减去一个二极管压降0.3V,输出约-19.7V。但一般的屏只需要-7V左右的VGL,这里有两种处理方案:一是用5V输入做反压得到约-4.7V,然后再用LDO或者电阻分压微调;二是反压后串一个低压差线性稳压器把电压“修”到目标值。
3.3 输出阻抗:决定电荷泵能不能带得动的关键
电荷泵有一个非常重要的参数,叫等效输出阻抗。它不是一个真实的电阻,而是当负载电流增加时,输出电压下降的比例。输出阻抗越大,负载变化引起的电压波动就越大。
等效输出阻抗主要受两个因素影响:一是开关频率,频率越高,每个周期传送的电荷量越小,输出阻抗越低;二是飞跨电容的容值,电容越大,存储的电荷越多,等效阻抗越低。但增大容值和频率都会增加成本和功耗,所以需要在带载能力和成本之间找平衡。
我做设计时,会先估算负载电流。VGH和VGL主要驱动的是Gate线的寄生电容,平均电流往往不到1mA,峰值可能会到几十毫安。所以设计目标一般是保证在5到10mA的负载下,输出电压跌落不超过0.5V。这个指标对电荷泵来说压力不大,但也不是随便选几个电容就能达到。
4. 一个可复现的VGH/VGL电荷泵方案
说完了原理,我们来做一个能落地的方案。假设输入电压VIN=5V,目标输出是VGH=20V、VGL=-7V,两路负载电流要求都是5mA。
4.1 整体架构选择
VGH用4倍压电荷泵从5V升压,VGL则是用VGH再经过一级反压得到约-19.7V,然后用一个简单的LDO或者电阻分压加稳压管调出-7V。
这个架构有一个明显的好处:因为反压的输入是已经稳定的VGH,所以VGL的精度直接受VGH影响,而不是受输入5V影响,这样两路电压的漂移方向是一致的,对液晶屏这种相对宽电压范围的应用来说完全够用。
时钟信号从哪里来?标准做法是用一个带时钟输出的电荷泵IC,比如TI的TPS60110系列或者国产的类似型号,内置振荡器和开关MOSFET,只需外接飞跨电容和输出电容。如果想省成本,也可以直接用MCU的PWM输出做时钟,然后外接二极管电容网络,驱动能力需要计算一下,PWM引脚的驱动电流要足够给电容充电,我实测下来大多数MCU的PWM引脚直驱小尺寸电荷泵问题不大。
4.2 电容与二极管的参数计算
飞跨电容的容值选择,我通常按照如下经验来估算:
Iout = f × C × Vripple
这就是电荷泵最基本的电荷搬运公式:输出电流等于开关频率乘以飞跨电容再乘以允许的输出纹波电压。反过来,如果确定了输出电流、开关频率和允许纹波,飞跨电容就是:
C = Iout / (f × Vripple)
假设开关频率f=500kHz,允许纹波Vripple=50mV,输出电流Iout=5mA,那么C=5mA/(500kHz×50mV)=0.2μF。实际选大一点取1μF,给损耗和老化留余量,同时也降低输出阻抗。
输出电容的选择更多是基于负载瞬态响应的考虑。电荷泵的输出电容容量越大,负载突变时电压跌落越小,但太大也会导致启动时浪涌电流高。我一般取输出电容为飞跨电容的2到5倍,这里选4.7μF。需要注意,这里必须用X7R或者X5R介质,Z5U和Y5V温度特性太差,低温时容量跳水会严重影响输出。
二极管的选型,重点看反向恢复时间和正向压降。普通的1N4148反向恢复时间在纳秒级,开关频率500kHz下完全够用。但如果追求更高的效率,换用肖特基二极管如BAT54S,正向压降只有0.3V左右,比1N4148的0.7V低不少,可以让输出电压更高一点、发热更小一点。我在设计里用的就是BAT54S系列,因为它的封装很小,适合贴片。
这里我用Python写了一个简单的估算脚本,方便大家根据自己项目的参数快速算一遍:
# VGH/VGL电荷泵参数估算 f = 500e3 # 开关频率 Hz iout = 5e-3 # 负载电流 A vripple = 0.05 # 允许纹波 V # 飞跨电容 c_flying = iout / (f * vripple) print(f"飞跨电容至少需要: {c_flying*1e6:.2f} uF") # 4倍压理论输出 vin = 5.0 n_stages = 4 v_diode = 0.3 vgh = n_stages * vin - (n_stages - 1) * v_diode print(f"VGH理论输出: {vgh:.2f} V") # VGL反压输出 vgl_raw = -(vgh - v_diode) print(f"VGL反压理论值: {vgl_raw:.2f} V") print(f"需要用LDO或稳压管把VGL调整到: {-7:.2f} V")输出大概是:
飞跨电容至少需要: 0.20 uF VGH理论输出: 19.10 V VGL反压理论值: -18.80 V 需要用LDO或稳压管把VGL调整到: -7.00 V如果VGH的19.1V离20V目标差得有点多,处理办法有三个:把输入电压从5V抬高一点、选压降更低的肖特基二极管,或者把倍压级数在4级和5级之间调整(注意推高耐压)。我实际项目中常常留一个0欧电阻,让产线可以根据实际输出电压选择4倍压还是5倍压,非常实用。
4.3 PCB布局的三条心得
电荷泵电路看着简单,布局随手放也能工作,但要做好、做稳,还是有不少细节。我分享三个实际经验:
第一,飞跨电容要靠近芯片的开关引脚和电源引脚,走线短而粗。原因很简单,飞跨电容每个开关周期都要充放电一次,走线长了引入的寄生电感会阻碍高频电流流动,导致效率下降和振铃。我在一个项目里把飞跨电容从芯片旁边挪开2厘米,输出纹波直接翻了一倍。
第二,输出电容的地要单独走线回到芯片的地引脚,不要跟功率地混在一起。电荷泵的输出电流是脉冲形的,如果脉冲电流流过地平面上的公共段,就会在ADC参考地或者触摸屏接口地上产生压降,表现为低噪声被污染。采用星型接地或者单点接地,把所有“信号地”和“功率地”分开,对整机抗干扰有明显的帮助。
第三,二极管布局方向要一致,阴极朝向输出方向,而且尽量并排放在一起。不要小看这个细节,二极管摆放混乱会导致走线绕圈,增加寄生电感和不必要的辐射面积。贴片肖特基二极管本身面积小,散热能力弱,如果走线太细,大电流时发热会比较集中。
5. 调试中的常见问题与排查实录
说实话,电荷泵方案本身不复杂,但我调试过的项目里,真正花时间解决的问题往往不是原理问题,而是工程化细节。
5.1 问题速查表
| 现象 | 可能原因 | 排查方向 |
|---|---|---|
| VGH空载正常,带屏后跌落严重 | 飞跨电容容量不足或ESR过大 | 增大飞跨电容,检查电容介质类型 |
| VGL电压总是偏高(不够负) | 反压二极管压降过大、接地回路阻抗高 | 换肖特基二极管,检查地回路过孔数量 |
| 屏幕开机瞬间有白闪 | VGH上升速度太慢 | 加大输出电容,或检查启动时序 |
| 触摸屏报点乱跳 | 电荷泵耦合噪声到触摸电路 | 检查布局,增加滤波电容,切换开关频率抖动模式 |
| 低温下VGH/VGL明显不足 | 电容低温容量衰减 | 换X7R电容,测试-20度实际容值 |
5.2 三个值得记录的真实教训
第一件事发生在一次低温测试中。常温下所有电压都正常,到了-10度环境下,屏幕就是点不亮,测量发现VGH跌到了12V。排查半天,最后锁定到飞跨电容上——当时用的是Y5V介质电容,常温下标称1μF,实际到了-10度可能连0.3μF都不到了。从那以后,我所有电荷泵电路的电容一律指定X7R,再没出过类似问题。
第二件事是关于“启动时序”的。有一次屏幕能亮,但每次开机都会闪一下白屏。用示波器抓各路电压的上升波形,发现VGH升到目标值的时间比逻辑电源晚了接近10毫秒。Gate驱动IC在供电还没稳定的时候就已经开始工作了,这就造成了白闪。解决办法是把电荷泵的使能引脚接到延迟RC电路上,让VGH先升上来再拉高逻辑电源。这类问题时隐时现,不抓波形根本找不到规律。
第三件事很有意思。VGL调了很久,怎么调都比目标值偏正0.4V左右。本来以为是二极管的压降问题,换了一款更低压降的肖特基也没有改善。最后用万用表毫伏档测反压电容和地之间的电压,才发现原因是反压电容的地回路经过了一段细长的走线和两个过孔,这段寄生电阻在脉冲电流下产生了约0.4V的压降,等于把负压“抬”上去了。把地回路改成大面积铺铜,问题立刻没了。
6. 什么时候该用电荷泵,什么时候别硬上
电荷泵不是万能药,它有自己的边界。我也见过有人拿电荷泵去做背光LED供电,结果电流需求几十毫安到上百毫安,电荷泵根本扛不住,效率还低得离谱。选型一定要看负载的量和种类。
6.1 电荷泵的适用边界条件
我的判断经验是三条:
第一,输出电流最好在10mA以内。超过这个数,电荷泵需要的飞跨电容会变得很大,面积优势反而消失了。VGH和VGL这种Gate驱动供电,平均电流通常只有几毫安,非常合适。
第二,电压调整率要求不能太苛刻。如果产品对VGH的电压精度要求是±1%,那电荷泵基本做不到,因为它的输出阻抗本身就随负载和温度变化。但液晶屏的Gate供电电压范围宽,规格书通常给到±5%甚至更宽,电荷泵完全能覆盖。
第三,输入输出电压差不能太大。比如输入3.3V、输出要30V,那需要9倍压,二极管压降和电容损耗累加起来非常惊人,效率和体积都不可接受。这种场景老老实实上DC-DC。
6.2 我的选型判断流程
我现在拿到新项目,会先做这样一个快速判断:如果把VGH和VGL的负载电流加总,小于15mA,且板子高度或者面积受限,就直接考虑电荷泵;如果负载电流超过30mA,或者要求输出电压非常精确,那就用DC-DC;落在中间地带的,结合成本和团队熟悉度来定。
另外还有一个很实用的思路:DC-DC和电荷泵可以混用。比如VGH用DC-DC Boost做出来,VGL用VGH反压电荷泵来生成。DC-DC一路升压到20V,电荷泵反压这路不需要大电流,刚好把DC-DC的额外一路开关电源省掉。这样既能保住DC-DC的带载能力,又能缩小负压电路的面积和成本,算是一种非常实用的折中方案。
我个人在实际项目里,越来越偏爱这种“少一路开关电源”的设计方式。每次画板子时看到BOM表里少了一个电感、少了一个控制器,心里都会踏实一分。毕竟少一个元件,就是少一个潜在故障点,这是电子设计里最实在的逻辑。下次你要是再遇到VGH和VGL生成,不妨先别急着抄DC-DC的老方案,掏出笔来算算负载电流,说不定电荷泵就是那个让你“少折腾几轮”的最优解。