简介:面向需要为运放等器件提供稳定双电源的硬件工程师,这份基于TPS54160的24V转正负15V双输出电源设计资源,提供了从原理图、PCB到封装库的完整Altium Designer设计方案。压缩包共9个文件,涵盖SchDoc原理图、PcbDoc PCB、PcbLib封装库、PDF数据手册、PCB预览文件和技术探讨文本,整体仅4.7MB,结构紧凑便于直接参考。资源已有2249人浏览学习,是双电源设计领域较有代表性的参考案例。设计内容具体展示了同步降压转换器的外围电路搭建、关键器件选型、PCB布线中的关键信号路径与铜箔宽度处理,以及电源和地线布局以减少干扰;配套封装库可直接用于AD16.1排版,适合电源设计入门及运放供电模块的快速搭建与复用。 上周接了个工控板的供电需求,板子上的运放和模拟前端需要±15V双电源,输入只有一路24V直流。手上没有合适的DC-DC模块,也不想为这么小的功率去绕变压器,于是翻出很久没用的TPS54160,决定自己把正负15V电源做出来。TPS54160这个型号在工业电源里不算冷门,60V输入耐压、1.5A输出、内置高侧MOSFET,做24V转正负15V双输出刚刚好。这篇文章就把我从方案选型、拓扑计算、AD原理图绘制到PCB布局出Gerber的完整过程写出来,给同样想用一颗降压芯片做出双电源的同行做个参考。
1. 为什么是TPS54160:方案选型背后的一笔账
1.1 双输出电源的需求拆解
接到需求先别急着画图,把账算清楚。板载运放、仪表放大器、模拟开关这类器件对电源的要求是:正负两路压差对称、纹波不能太大、负载电流一般在0.2A到0.5A这个量级。我这次的项目要求正负15V各能输出1A左右,这个电流其实已经不算小了。
先看几个常规路子:
- 买成品DC-DC模块:省事,但好的正负电源模块不便宜,体积也大,而且输入输出参数未必刚好匹配。
- 变压器方案:反激绕双副边,能出正负压,但自己绕变压器对多数人来说既麻烦又不好控制漏感,小批量不划算。
- 降压芯片方案:用一颗降压芯片做正压,再用一颗同样的芯片做负压,也就是inverting buck-boost结构,两颗料同一个封装、同一个外围设计思路,BOM统一,最灵活。
我最后选了TPS54160。为啥?这颗片子最大输出1.5A,降压模式做+15V时余量不错;输入电压范围3.5V到60V,24V输入下面还有很大的降额空间,遇到工业现场输入电压尖峰也不至于打坏芯片。更重要的是它的地引脚、SW引脚、反馈引脚踩坑的容忍度还行,比较适合自己在AD里折腾。
1.2 一片做正压,一片做负压
正压那路好理解,就是标准Buck降压,24V降到15V。负压那路用同样的TPS54160做inverting buck-boost,把输出做成负的。这样两路共用一个输入电源,互不干扰,只要PCB布局处理好,两路的开关频率保持一致还能减少相互串扰。
有人会问:为什么不用单芯片反激,一个变压器同时出±15V?如果负载很小(几百毫安以下)当然可以,但1A负载下反激变压器的峰值电流和损耗都不太好控制,而且变压器绕制的工艺一致性、安规距离这些都是量产时要背的包袱。两片TPS54160做出来的正负电源,虽然成本比反激方案高一点,但可靠性、可调性、可复制性都更好。我个人的原则是:能不用磁性元件做耦合就不用,磁的东西一旦绕不好,调试时间成倍往上翻。
2. 两种拓扑的计算:Buck与Inverting Buck-Boost的每一步
2.1 正压Buck的占空比与电感计算
先算正压这一路。TPS54160内部高侧MOSFET的导通占空比在连续导通模式下约等于Vout/Vin,输入24V、输出15V,占空比D大概0.625。这个值在芯片最大占空比限制之内,不需要担心。
电感的取值直接决定纹波电流大小。我按纹波系数r=0.3来算,最大负载1.5A对应纹波电流ΔIL约0.45A,开关频率选700kHz。电感量用降压拓扑的公式:
L = (Vin - Vout) × D / (fsw × ΔIL)
代入:24V输入、15V输出,D≈0.625,fsw取700kHz,ΔIL取0.45A,算出来约17.8µH。实际取标称值22µH,饱和电流要大于1.8A。市面上一颗22µH/3A的功率电感不难找,XAL系列或者一体成型电感都行。
续流二极管选型也别偷懒。Buck续流二极管承受的反向电压约等于输入电压24V,但为了应对开关节点振铃,我直接按60V耐压的肖特基来选,比如SS26或者SS36。电流方面,二极管的平均电流是(1-D)×Iout,算下来大约0.56A,2A的器件足够,3A的型号余量更大,BOM统一的话正负两路都用SS36也没问题。
输出电容方面,陶瓷电容ESR低,适合放在输出端吸收高频纹波。用两个10µF/25V的X7R陶瓷电容并联,理论纹波电压只有几毫伏,再叠加ESR引起的纹波也在可接受范围内。这里有一点要注意:陶瓷电容在DC偏压下容值会缩减,所以取容值时留点余量,不要算得刚刚好。
2.2 负压Inverting Buck-Boost的占空比与电感计算
负压那一路是很多人容易搞混的地方。Inverting buck-boost的输出电压绝对值可以大于输入也可以小于输入,占空比公式是:
D = |Vout| / (Vin + |Vout|)
输入24V、输出-15V时,D≈0.385。这个拓扑里电感的平均电流不是Iout,而是Iout/(1-D),因为只有当开关管关断时电感才向输出供能。按最大1.5A负载算,电感平均电流约为2.44A,峰值电流还要再加一半纹波,大约2.6A以上。所以负压的电感不能照抄正压那一个,额定饱和电流建议选3A以上的33µH电感。
电感量同样按纹波系数0.3计算:
L = Vin × D / (fsw × ΔIL)
代入24V、0.385、700kHz、0.45A,算出来约29.3µH,取标称33µH。这里我特意把电感取大了一些,因为负压拓扑的电流路径比Buck更长,环路寄生电感更敏感,电感取大一点能改善负载调整率。代价是瞬态响应稍微慢一点,但给模拟供电完全够用。
2.3 负压拓扑里最容易搞错的反馈电阻
负压电路最关键也是最容易翻车的地方是反馈电阻的参考点。在标准Buck里,芯片GND接系统GND,FB引脚通过分压电阻检测输出电压,FB参考地就是芯片地。但在inverting buck-boost中,芯片的GND引脚实际上接的是负压输出端,也就是-15V这一轨,而不是系统0V。
这就带来一个实际问题:FB分压电阻的上端不能像正压那样接输出正,而是要接系统GND(0V),下端接-15V输出,中间抽头接FB。从芯片的角度看,FB引脚相对芯片GND(-15V)为0.8V,也就是FB的绝对电位大约在-14.2V。用这个反推分压电阻比值:
R1接0V,R2接-15V,要求分压后FB落在-14.2V。算下来R1和R2的比值约为17.75:1,取R2=10kΩ,R1=178kΩ(1%精度)。有趣的是,正压那一路的反馈电阻算出来也是R1=177.5kΩ上下,取178kΩ/10kΩ,两路BOM正好统一。
反馈电阻的精度直接影响输出电压精度。±15V给运放供电,正负对称性如果差太多,后级共模抑制比再高也救不回来。所以我全部选了1%的贴片电阻,有条件的话用0.1%的更好。温漂也要注意,至少选100ppm/°C以内的,否则温度一变,正负压差就漂。
3. AD原理图落地:从手册到工程文件的转化
3.1 芯片库与封装准备的常见路径
原理图用Altium Designer画,第一步是确保有正确的芯片封装。TPS54160是MSOP-10封装,底部带PowerPAD散热焊盘。AD里如果用了第三方封装库,一定要检查PowerPAD的焊盘尺寸和布局,很多封装库把PowerPAD画得偏小,焊接时散热不好,重载时芯片容易过热。
我在项目里的做法是:先用TI官网Webench工具生成一份参考电路,它会给出完整的外围BOM和推荐参数,然后对照数据手册逐项核对,再在AD里重建原理图符号和封装。Webench导出的AD工程虽然能用,但层名、网络名、封装命名风格经常跟自己的规范不一致,后期维护反而麻烦。自己建库花不了多少时间,却能避免后续一堆坑,特别是引脚编号和引脚名称这些细节。
3.2 外围电路设计的几个关键引脚
TPS54160的外围不算复杂,但有几个引脚必须按手册要求处理,否则电路能通,稳定性却很差。
- EN引脚:用来设置输入欠压关断点。手册里EN内部有1.2V阈值,通过两个电阻分压可以设定启动电压。我按输入电压低于8V就关断来设计,取上分压电阻200kΩ、下分压电阻100kΩ左右,24V供电时EN远高于阈值,正常工作。这个功能在输入电压跌落时很管用,能防止输出掉到不可控状态。
- RT/CLK引脚:用来设定开关频率。我按700kHz设计的电感,RT/CLK引脚对地接一个按手册表格选择的电阻。实际调试时如果想降低开关频率来减小开关损耗,改这个电阻就行。
- COMP引脚:电流模式控制的补偿端,需要外接RC网络。补偿参数我是从Webench生成的BOM里直接借鉴的,再根据实际负载稍作调整。电源补偿这玩意经验成分很大,新手不建议一上来就自己推零点极点,先抄参考电路跑通,再慢慢改。
- BOOT引脚:自举电容接在BOOT和SW之间,选100nF/16V或100nF/25V的陶瓷电容,紧靠芯片放置。这个电容失效或漏电会导致高侧MOSFET驱动不足,输出带载掉压,事后排查很痛苦。
3.3 网络标签与电源符号规范
原理图绘制时,网络标签名称要趁早规范化。我用的命名规则是:输入电源用VIN_24V,输出正压用+15V,输出负压用-15V,系统地用GND,负压那一块的地用VEE_REF或者其他和GND明显区分的名字。因为在AD里,同名网络会被当成同一网络连接,如果把负压电路的“地”也标成GND,整个电路就直接短接报废了。
这个细节我在早期项目里栽过跟头。负压拓扑的芯片GND引脚在原理图上如果画成接到GND网络符号,AD不会报错,但打样回来一上电就冒烟。正确做法是:负压部分的芯片GND引脚、反馈电阻下端、补偿网络的地,都统一接到-15V网络,而不是GND。原理图阶段就要用不同网络名把这个区别刻在脑子里,后面PCB阶段才不会乱铺铜。
4. 正负15V共存的PCB布局:地平面和功率回路的博弈
4.1 布局顺序:先功率回路,再信号引脚
电源PCB布局有一句老话:功率回路面积越小,EMI越好。TPS54160这种内置开关管的降压芯片,布局时第一优先是输入电容、芯片VIN/SW引脚、续流二极管、电感这个环形回路。输入电容要尽量靠近VIN引脚,对地返回路径要短。
正压Buck和负压Buck-Boost在布局上要分开规划。负压那一路的芯片GND引脚要单独接回-15V输出电容的负端,不能直接打过孔到系统GND。我习惯的做法是:先把正压路的功率环路布置在板子左侧,负压路布置在右侧,中间用系统GND铜皮和+15V输出走线隔开,避免两路开关噪声互相耦合。
下图为布局的大致思路:正压路从VIN_24V输入到+15V输出,负压路从同一个VIN_24V输入到-15V输出,两路的输入电容都在公共电源入口处做π型滤波,共用一组输入储能电容,但每颗芯片VIN引脚旁各放一个0.1µF去耦电容。
4.2 地平面的处理:在AD里怎么分层和铺铜
PCB层叠上,我用了双层板:顶层走信号和功率,底层做整块地平面。负压那一块区域,底层不做系统GND铺铜,而是把芯片GND引脚、反馈电阻地、输出电容负端用铜皮连起来,汇到-15V输出端的单点。
在AD里铺铜时,用“多边形填充”工具分别给顶层和底层拉铜皮。负压区域要单独设置铺铜网络,比如负压地网络,不要图省事直接铺GND。如果板的面积允许,我还会在功率区域下面多打几个0.3mm过孔,把散热引入底层大铜皮,MSOP-10封装底部的PowerPAD散热主要靠这些过孔。
有个细节值得说:SW节点和电感下方的铜皮要处理谨慎。SW节点是高频开关节点,如果电感和SW下方铺了大片地铜皮,二者之间会形成寄生电容,开关噪声通过寄生电容耦合到地,EMI测试容易超标。所以SW节点、电感正下方我都不铺铜,顶层只走必要的连接线,让底层地平面保持完整。这就是AD里“多边形填充挖空”功能的一个典型用途:对某个特定区域做禁止铺铜。
4.3 布线规则:间距、线宽和过孔
布线规则在AD的PCB规则管理器中设置。我的做法是:
- 最小线宽:普通信号线6mil,电源线至少20mil,考虑到1A负载,30mil更稳妥。
- 间距规则:常规间距0.2mm,但24V输入网络和GND之间单独加一条规则,间距设到0.5mm以上。这一步可以用AD的Clearance规则实现:在Where The First Object Matches里选InNet('VIN_24V'),在Where The Second Object Matches里选InNet('GND'),再填间距值。热搜里很多人问“AD中怎么设置一个网络和GND的间距”,指的就是这个。
- 过孔:电源走线如果要换层,至少放两个过孔并联,降低过孔电阻和寄生电感。孔径0.4mm/焊盘0.8mm比较常规,散热过孔可以更小一些。
走线拐角我习惯用45度而不是90度。对电源线来说90度拐角倒不至于立刻出问题,但会产生阻抗突变和额外的辐射点,养成熟练的走线习惯能少很多事。信号线高度密集时,等长线那是数字电路的事,这块板子用不上。
4.4 焊盘和封装处理:把SMD焊盘改成通孔焊盘的场景
实际layout中还会遇到一个操作:有些器件的封装库用的是贴片焊盘,但我想在调试时外接引线或插测试钩,需要把焊盘修改为通孔焊盘。在AD里双击焊盘打开属性面板,把Hole Size从0改成所需孔径,顶部/底部层叠的焊盘尺寸同步调整,就变成一个过孔焊盘。电源板的输出端和GND端我习惯各放一个通孔焊盘,方便示波器探头接地和鳄鱼夹夹线,别小看这个小改动,调试时幸福感提升不少。
5. 出图前的自检:DRC、Gerber与打样清单
5.1 DRC规则配置和常见报错
PCB画完不等于能打样,AD里必须跑一遍DRC。我在规则管理器里按优先级设置了间距、线宽、过孔到焊盘、未连接网络检查,然后按快捷键运行Design Rule Check。常见的报错就那几类:间距不足、未连接网络、丝印压焊盘、过孔落在焊盘上但没开窗。
间距不足多半是电源线和信号线靠太近,可以把电源网络间距规则单独放宽,或者手动推一推线。未连接网络往往是原理图网络标签写错,回原理图查一遍。丝印压焊盘如果影响到焊接,调整丝印位号或换层。
DRC报告里如果只有警告没有错误,我会再人工过一遍:确认PowerPAD散热焊盘有没有打过孔、负压地网络是否与系统GND完全隔离、输入输出电容的极性(如果有电解电容)是否正确。这些在DRC里不一定报出来,但真出了问题就是冒烟级别的事故。
5.2 用AD导出Gerber的规范操作
Gerber文件是给PCB工厂的生产文件。AD里导出Gerber时注意几个点:
- 格式选RS-274X,这是主流工厂都支持的格式。
- 单位选毫米还是英寸要统一,我习惯用毫米,2:4精度(两位整数、四位小数)。
- 层映射要确认:Top Layer对应顶层铜,Bottom Layer对应底层铜,Top Overlay/Bottom Overlay选丝印层,还有Keep-Out层和机械层。如果是四层板,内层电源地也要勾上。
- 钻孔文件单独导出,格式选Excellon,单位和Gerber保持一致。
- 导出的文件放在单独文件夹里,把.SVG或.PDF格式的装配图也导一份,方便焊接时核对位号。
出Gerber前我会在AD里用3D预览过一遍整个板子,检查有没有元件悬空、封装方向是否一致、正负电源区域的丝印是否清晰。3D预览不能取代DRC,但对抓明显低级错误非常有效,特别适合在发给工厂的前一天晚上做。
5.3 打样回来后的快速验证流程
板子打样回来别急着焊满整个板子。我的习惯是:先只焊正压那一路,上电量+15V;正常后再焊负压那一路,量-15V;两路都正常才把所有运放、负载接上去。上电时用一个可调限流的直流电源,电流设置为200mA,避免短路时烧板子。
负压那一路调试时,因为芯片GND参考-15V轨,示波器探头的地线不能随便夹在系统GND上测FB波形,否则相当于把负压输出短路了一部分。测量负压时最好用差分探头,或者把示波器探头的地线夹在负压输出端,反过来测。这个细节手册上不会写,但实际操作中特别容易犯。
6. 实测中的噪声与稳定性经验
板子调通后,我用示波器看了两路的输出纹波。正压路大约10mV以内,负压路纹波略大,15mV左右,对模拟供电来说都能接受。带载从0.2A跳到1A,两路电压跌落都在50mV以内,恢复也快,TPS54160的环路补偿做得比较省心。
有一个问题值得单独说一下:轻载时TPS54160会进入Eco-mode省电模式,开关频率大幅降低,输出电压纹波会变大。如果后级是精密的模拟前端,轻载纹波更不能接受,那可以把RT/CLK频率设高一点,或者在输出端再加一级LC滤波。我在这块板上加了一个简单的LC滤波(1µH+10µF)给运放供电引脚单独去耦,实测纹波进一步压到5mV以下。
最后再分享一个经验:电源板设计最怕的不是计算量大有偏差,而是地线概念不清晰。正负电源拓扑里哪个地是系统GND、哪个地是负压轨,必须在原理图阶段就分清楚,到了PCB铺铜再纠正就晚了。我的建议是,画原理图时给负压电路的GND单独起一个网络名,比如VEE,等电路调试稳定后再统一整理成正式原理图版本。多花十分钟起名,能省后面一整天的排查功夫。
本文还有配套的精品资源,点击获取