为FPGA应用设计良好的电源管理解决方案并非简单的任务,而目前已经有许多相关的技术讨论。本文一方面旨在找到正确解决方案,并选择最合适的电源管理产品,另一方面则是提出如何优化实际解决方案,以用于FPGA之相关建议。
找到合适的电源解决方案
寻找为FPGA供电的最佳解决方案并不简单。许多供应商以适合为FPGA供电的名义推销某些产品,为FPGA供电的DC-DC转换器选择有何特定要求?其实并不多。一般而言,所有电源转换器都可用来为FPGA供电。推荐某些产品通常是基于以下事实:许多FPGA应用需要多个电压轨,例如用于FPGA核心和I/O,还可能需要额外的电压轨来用于DDR内存。将多个DC-DC转换器全部整合到单个稳压器芯片中的电源管理IC(PMIC)常常是其首选。
一种为特定FPGA寻找优秀供电解决方案的流行方法,是使用许多FPGA供应商均提供的已有电源管理参考设计。这对于优化设计来说是一个很好的入门方式,但此类设计往往需要修改,因为FPGA系统通常需要额外的电压轨和负载,这些也需要供电,且在参考设计上增加一些东西常常也是必要的。还有一件事需要考虑,那就是FPGA的输入电源不是固定的,输入电压在很大程度上取决于实际的逻辑位准,以及FPGA所实现的设计。完成对电源管理参考设计的修改之后,它看起来将与最初的参考设计不同。可能有人会宣称,最好的解决方案是根本不用电源管理参考设计,而是直接将所需的电压轨和电流输入到电源管理选型与优化工具中,例如ADI的LTpowerCAD等。
图1 透过 LTpowerCAD工具选择合适的DC-DC转换器为FPGA供电。
LTpowerCAD可用来为各个电压轨提供电源解决方案。它还提供一系列参考设计,以让设计人员快速入门,且该工具可以免费下载。一旦选择了电源架构和各个电压转换器,就需要选择合适的被动组件来设计电源。进行这件事时,需要牢记FPGA的特殊负载要求,它们分别是:
˙各项电流需求
˙电压轨时序控制
˙电压轨单调上升
˙快速电源瞬变
˙电压精准度
各项电流需求
FPGA的实际电流消耗在很大程度上取决于使用情况。不同的频率和不同的FPGA内容需要不同的功率,因此,在FPGA系统的设计过程中,典型FPGA设计的最终电源规格必然会发生变化。FPGA制造商提供的功率估算工具有助于计算解决方案所需的功率等级,在构建实际硬件之前,获得这些信息会非常有用。但是,为了利用此类功率估算工具获得有意义的结果,FPGA的设计必须最终确定,或者至少接近最终完成。
在一般的情况下,工程师设计电源时考虑的是最大FPGA电流。如果最终发现实际FPGA设计需要的功率更少,设计人员就会缩减电源。
电压轨时序控制
许多FPGA要求不同电源电压轨以特定顺序上电。核心电压的供应往往需要早于I/O电压的供应,否则一些FPGA会被损坏。为了避免这种情况,电源需要按正确的顺序上电。使用标准DC-DC转换器上的致能接脚,可以轻松实现简单的上电时序控制。然而,组件关断通常也需要时序控制,仅执行致能接脚时序控制,很难取得良好的结果。更好的解决办法是使用具有进阶整合时序控制功能的PMIC,例如ADP5014,图2中以红色表示的特殊电路模块支持调整上电和关断时序。
图2 PMIC整合了对灵活控制上电/关断时序的支持。
图3显示了利用此组件实现的时序控制。透过PMIC上的延迟(DL)接脚可以轻松调整上电和关断时序的时间延迟。
图3 多个FPGA电源电压的启动和关断顺序。
如果使用多个单独的电源,增加时序控制芯片便可实现所需的上电/关断顺序。一个例子是LTC2924,它既能控制DC-DC转换器的致能接脚来打开和关闭电源,也能驱动高阶N信道MOSFET来将FPGA与某个电压轨连接和断开。
电压轨单调上升
除了电压时序之外,启动过程中还可能要求电压单调上升,这意味着电压仅线性上升,如图4中的电压A所示,此图中的电压B是电压非单调上升的例子。在启动过程中,当电压上升到一定电平时负载开始拉大电流,就会发生这种情况,防止这种情况的一种办法,是延长电源的软启动时间,并选择能够快速提供大量电流的电源转换器。
图4 电压A单调上升,电压B非单调上升。
快速电源瞬变
FPGA的另一个特点是它会非常迅速地开始汲取大量电流,这会在电源上造成很高的负载瞬变。出于这个原因,许多FPGA需要大量的输入电压去耦,陶瓷电容非常靠近地用在组件的VCORE和GND接脚之间,高达1mF的值非常常见。如此高电容有助于降低对电源提供非常高峰值电流的需求,但是,许多开关稳压器和LDO规定了最大输出电容,FPGA的输入电容要求可能超过电源允许的最大输出电容。
电源不喜欢非常大的输出电容,因为在启动期间,开关稳压器的输出电容看来像短路。对此问题有一个解决办法,较长的软启动时间可以让大电容组上的电压稳定地升高,电源不会进入短路限流模式。
图5 很多FPGA的输入电容要求。
一些电源转换器不喜欢过大输出电容的另一个原因是该电容值会成为调节回路的一部分。整合回路补偿的转换器不允许输出电容过大,以防止稳压器的环路不稳定,在高阶回馈电阻上使用前馈电容常常可以影响控制回路,如图6所示。
针对电源的负载瞬变和启动行为,开发工具链(包括LTpowerCAD,尤其是LTspice)非常有帮助。该工具可以达到良好的建模和模拟,从而有效实现FPGA的大输入电容与电源的输出电容的去耦,图6即展示了这一个概念。虽然负载端(POL)电源的位置往往靠近负载,但在电源和FPGA输入电容之间常常存在一些PCB布线。当电路板上有多个彼此相邻的FPGA输入电容时,离电源最远的那些电容对电源传递函数的影响较小,因为它们之间不仅存在一些电阻,还存在寄生布线电感。这些寄生电感允许FPGA的输入电容大于电源输出电容的最大限值,即使所有电容都连接到电路板上的同一节点也无妨。在LTspice中,可以将寄生布线电感添加到原理图中,并且可以模拟这些影响,当电路建模中包含足够的寄生组件时,仿真结果接近实际结果。
图6 当没有回路补偿接脚可用时,利用前馈电容可以调节控制回路。
电压精准度
FPGA电源的电压精准度通常要求非常高,3%的变化容差带相当常见。例如,为使0.85V的Stratix V核心电压轨保持在3%的电压精准度窗口内,要求全部容差带仅为25.5mV,这个小窗口包括负载瞬变后的电压变化,以及直流精准度。同样,对于此类严格要求,包括LTpowerCAD和LTspice在内的可用电源工具链在电源设计过程中非常重要。
图7 电源输出电容与FPGA输入电容之间的寄生去耦。
最后一点建议,是关于FPGA输入电容的选择。为了快速提供大电流,通常选择陶瓷电容。此类电容很适合这种用途,但需要小心选择,使其真实电容值不随直流偏置电压而下降。一些陶瓷电容,尤其是Y5U型,当直流偏置电压接近其最大额定直流电压时,其真实电容值会降低到只有标称值的20%。
- 推荐MM9942,$1