第四章 电源架构设计:给游戏机一颗稳定的“心脏”

电源设计,说白了就是给游戏机里的每个芯片“喂饭”。喂多了烧芯片,喂少了不干活,喂的顺序不对还会死机。我刚开始做硬件那会儿,总觉得电源嘛,不就是电压电流对上就行?结果第一版打样回来,FPGA死活起不来,查了三天才发现是上电时序反了。嗯,从那以后,我再也不敢小看电源架构设计了。

4.1 电源树规划:先画地图再动工

拿到一个游戏机项目,我习惯先做一件事——画电源树。就像盖房子要先看水电图一样,电源树就是整个板子的能量地图。

什么是电源树?

简单说,就是列出每个芯片需要几路电压、多少电流、什么精度要求。然后从输入电源开始,一级一级往下分配。举个例子,一个典型的游戏机主板上,可能有这些电压需求:

电压 用途 典型电流 纹波要求
12V 外接电源输入 2-3A ±5%
5V USB、音频、外设 1-2A ±3%
3.3V IO电压、Flash、DDR 1.5-3A ±3%
1.8V PLL、高速接口 0.5-1A ±2%
1.1V 核心电压(FPGA/SoC) 3-8A ±1%
0.9V DDR VTT 0.5A ±2%

画电源树的时候,我有个习惯:先算总功率,再分路设计。比如12V输入,总功率大概30W左右。那5V这路如果输出2A,就是10W,效率按85%算,从12V取电大概要1A。这样一级一级算下去,才能保证电源芯片不选小,也不浪费。

核心原则:电源树规划要遵循“先高压后低压、先大电流后小电流”的顺序。高压转低压效率高,大电流走线要短。

4.2 DC-DC与LDO选型:该用开关还是线性?

这个问题我经常被问到。其实选择很简单:看压差和电流

DC-DC(开关电源)

效率高,能到90%以上。适合大压差、大电流的场景。比如12V转1.1V,压差10.9V,电流8A,用LDO的话,光发热就有87W,板子都能煎鸡蛋了。但DC-DC有开关噪声,纹波大,对布局要求高。

LDO(低压差线性稳压器)

噪声低,纹波小,电路简单。适合小压差、小电流的场景。比如3.3V转1.8V给PLL供电,电流才100mA,用LDO就很好。但效率低,压差越大发热越严重。

我在项目中遇到过一个问题:给DDR供电时,用了DC-DC转1.8V,结果DDR读写总出错。查了半天,发现是DC-DC的开关频率耦合到了DDR时钟线上。后来换成LDO,问题就解决了。所以,对噪声敏感的电路,尽量用LDO

对比项 DC-DC LDO
效率 高(85-95%) 低(取决于压差)
纹波 大(10-50mV) 小(<1mV)
电路复杂度 高(需要电感、电容) 低(只需输入输出电容)
适用场景 大压差、大电流 小压差、小电流、低噪声
成本 较高 较低

选型小技巧:我一般先看数据手册里的“典型应用电路”,照着画基本不会错。但要注意,电感值和电容值不能随便改,否则可能不稳定。

4.3 电源完整性(PI)基础:别让电压“抖”起来

电源完整性,说白了就是保证芯片管脚上的电压稳定。你想想看,如果核心电压1.1V,纹波有100mV,那芯片内部逻辑就可能误判。尤其是游戏机这种高性能场景,GPU、CPU瞬间电流变化很大,很容易出现电压跌落。

PI设计的关键点:

  • 去耦电容:这是最常用的手段。大电容(10-100μF)滤低频,小电容(0.1-1μF)滤高频。我习惯在每对电源管脚旁边放一个0.1μF的陶瓷电容,距离不超过2mm。
  • 电源平面:多层板中,用一整层做电源平面,可以大大降低阻抗。比如4层板,第二层做GND,第三层做电源,效果就很好。
  • 走线宽度:大电流走线要够宽。1A电流至少需要0.5mm宽(1oz铜厚)。我一般按1A/0.5mm来估算,再留20%余量。
  • 过孔数量:大电流换层时,多打几个过孔。一个过孔大概能过0.5-1A电流,8A电流至少打10个过孔。

我记得有一次,一个同事设计的板子,核心电压1.1V,纹波测出来有80mV。他查了三天没找到原因。我过去一看,发现去耦电容离芯片太远,走线绕了一大圈。后来把电容移到芯片背面,纹波直接降到20mV。所以,电容的位置比容值更重要

注意:不要把所有电容都堆在一起。要分散放置,靠近负载端。尤其是高频小电容,必须紧贴芯片管脚。

4.4 上电时序设计:谁先谁后,有讲究

游戏机里的芯片,尤其是FPGA和SoC,对上电顺序有严格要求。比如FPGA,通常是核心电压先上,IO电压后上。如果顺序反了,IO管脚上的电压可能会通过内部保护二极管倒灌到核心,轻则芯片发热,重则直接烧毁。

常见的上电时序要求:

  • FPGA/SoC:核心电压(Vcore)先上,IO电压(Vccio)后上,间隔时间通常要求1-10ms。
  • DDR:VDD先上,VTT后上,VREF最后上。或者同时上,但VTT不能早于VDD。
  • PLL:模拟电压(VCCA)先上,数字电压(VCCD)后上。

实现上电时序的方法有很多:

  1. RC延时:用电阻电容组成延时电路,简单便宜,但精度差。适合对时序要求不高的场景。
  2. 电源监控芯片:比如TPS3808,可以监控电压上升,输出使能信号。精度高,可调延时时间。
  3. FPGA控制:用FPGA的GPIO控制电源芯片的使能脚。灵活,但需要FPGA先上电,有点“先有鸡还是先有蛋”的问题。
  4. 专用电源管理芯片(PMIC):集成多路电源,自带时序控制。比如TI的TPS65218,一颗芯片搞定所有电源,省心省力。

我个人习惯用电源监控芯片加RC延时组合。成本不高,可靠性也够。曾经有个项目,为了省几毛钱,用了纯RC延时,结果温度一变化,时序就飘了。后来还是老老实实加了监控芯片。

避坑指南:我曾经犯过一个错误——以为所有芯片的上电时序都一样。结果某款DDR芯片要求VDD和VTT必须同时上升,而我设计的VTT比VDD晚了2ms。板子一跑就死机。后来仔细看数据手册才发现,不同厂家的芯片要求可能完全不同。所以,一定要看数据手册!一定要看数据手册!一定要看数据手册!

4.5 实战建议:从原理图到PCB的电源设计流程

说了这么多,最后给个实战流程吧。我一般按这个步骤来:

  1. 列出所有电源需求:电压、电流、纹波、精度、上电时序。
  2. 画电源树:确定每路电源的输入输出关系,计算总功率。
  3. 选型:根据压差和电流,选择DC-DC或LDO。大电流用DC-DC,小电流低噪声用LDO。
  4. 设计原理图:参考数据手册的典型电路,注意电感、电容的选值。
  5. PCB布局:电源芯片靠近负载,大电流走线加宽,去耦电容靠近管脚。
  6. 仿真验证:用仿真工具(比如LTspice)看看纹波和瞬态响应。
  7. 打样测试:板子回来后,先测电源,再测其他功能。

嗯,电源设计就是这样。看起来简单,但细节很多。你想想看,一个游戏机里几十个芯片,每个芯片的电源要求都不一样。但只要把电源树画清楚,选型选对,布局合理,上电时序搞定,基本就稳了。

下一章,我们会聊聊时钟与复位设计。时钟是板子的“心跳”,复位是“重启键”,这两个搞不好,游戏机一样玩不转。到时候见。