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