基于FPGA器件如何实现可编程电源的设计?
扫描二维码
随时随地手机看文章
可编程电源指某些功能或参数可以通过计算机软件编程进行控制的电源。可编程电源的实现方法有很多种。其中,现场可编程门阵列(Field ProgrammableGate Array,FPGA)具有性能好,规模大,可重复编程,开发投资小等优点。随着微电子技术的发展,FPGA的成本不断下降,正逐渐成为各种电子产品不可或缺的重要部件。由于FPGA有着如此众多的优点,因此系统采用FPGA作为控制芯片,实现可编程电压源系统,为需要可调电压源的电子产品提供高精度、高可靠性的电压。
1 系统设计
采用Altera公司Cyclone系列EP1C6Q240C8为控制芯片。通过Altera的IP工具MegaWizard管理器定制LPM_ROM宏功能模块,用.mif格式文件存放产生电压的数据;利用硬件描述语言(HDL)设计分频电路、地址发生器或数据计数器等控制电路。地址发生器对ROM进行数据读取。ROM中各单元的数据经串/并转换电路,在DAC控制电路的作用下,串行数据从高位到低位读入数/模转换器中,数/模转换器出来的模拟电压信号经过运算放大器放大后,得到所需的模拟电压。系统框图如图1所示。
根据项目需求,定制10 b×32 Word的LPM_ROM。可以产生32路1 024阶可调的电压。此外,可以根据需要定制不同的位宽,不同单元数的LPM_ROM宏功能模块,可以产生符合精度要求的多通道电压。
2 控制电路设计
2.1 分频电路模块
开发板提供的系统时钟为50 MHz,系统的时钟信号通过分频模块进行分频,将分频后的时钟信号分别提供给控制电路模块、地址发生器和并/串转换电路作为时钟控制信号。该模块部分VHDL源程序如下:
程序中,duty为控制占空比的参数;count为控制分频的参数。通过改变duty和count两个参数,得到占空比及分频数可调的时钟信号,极为方便。
2.2 其他模块的实现
其他控制模块包括地址发生器、DAC控制电路、并/串转换电路。存储数据中只读存储器ROM是通过QuartusII软件中Mega Wizard Plug-In Manager命令定制元件的。地址发生器产生地址信号addr_tom和读使能信号clk_rom,对ROM中的数据进行读取。读取到的数据data为并行数据,由于采用的是串行数据输入的数/摸转换器,所以要进行并/串转换。data并行数据在load使能信号的作用下,赋植给寄存器data_q,经并/串转换电路对data_q进行从高位到低位的并/串转换。在DAC控制电路产生读数据信号clk_dac和片选信号cs_dac的作用下,转换电路的输出信号从高位到低位串行读入数/模转换器DAC中。
现场可编程门阵列(FPGA)被发现在众多的原型和低到中等批量产品的心脏。 FPGA的主要优点是在开发过程中的灵活性,简单的升级路径,更快地将产品推向市场,并且成本相对较低。一个主要缺点是复杂,用FPGA往往结合了先进的系统级芯片(SoC)。
这种复杂性使得电源上的苛刻要求。为了应对这些挑战,电源需要几个输出和开关稳压器的效率和线性稳压器的清洁电力的组合。
计算系统电源
供电的FPGA看起来像一个完整的系统供电。电源设计工程师面临的3到15的电压轨供给(有时甚至更多)的挑战;而这仅仅是开始。 FPGA是通常制造的使用需要低核心电压的最新晶片制造技术,但是电源也必须供电多个导轨特种块和电路,提供多个电压电平,对于高功率模块供给额外的电流,和满足噪声敏感元件的要求。
只是为了让事情变得更加复杂,甚至FPGA的同一制造商可以差别很大,使其成为重要的是,工程师选择每个芯片的最佳电源。这样的选择取决于多种因素,诸如电压和功率需求为每个导轨,导轨‘排序要求,以及系统的电源管理的需要。
在设计一个FPGA电源的第一步骤是确定各个电压轨和他们的要求。 FPGA供应商通常会提供一个“销单”,用于指定每个供电引脚连接到设备的电压轨的电压电平。
FPGA的轨道在根据块被供电在几个不同的电压运行。要求通常包括核心(供电的内部逻辑阵列),I / O(驱动所述I / O缓冲器可以在银行被分组,从一个不同的电压的每个操作),锁相环(PLL)(供电中的PLL核心),以及收发器(供给收发器,接收器和发射器中的数字和模拟电路)。
一旦个人电压轨已经确定,下一步是计算的电流消耗依次在每个轨道上。目前抽签共享轨应在分析被添加到铁路上来,总该铁路。 FPGA厂商通常提供的在线计算器用于这一目的。接着,工程师应当加起来所有构成FPGA的,以便准确地估计整个芯片的功耗的元件的功率消耗。
计算的功率消耗后,下一步骤是检查规范电压变化容限和最大电压纹波为每个轨道。这些参数通常可以在FPGA中的数据表中找到。
负载调节规范确定的范围内(以mV)以内的电压调节器的输出可能偏离了负载的变化。一个典型的规范负载调整为±5 mV时,如果电源是由开关型DC-DC电压转换器导出(“开关稳压器”)。这仅仅是一个,如果在1.2 V指定的电压轨0.4%的偏差
电压纹波从峰到峰测量以mV,其大小依赖于的电压调节器提供所分析的特定轨道的设计。输出滤波严重影响电压 - (电流)纹波性能。 (见技术专区的文章“电容的选择是关键,以良好的电压调节器设计”。)大多数FPGA承受高达2%或轨电压,这是非常现代的开关稳压器的能力范围之内的好电压纹波。
开关或线性稳压器?
在FPGA电源设计过程的下一步骤是确定是否一个特定的轨道应该由一个开关调节器或线性调节器提供动力。特别需要注意的是针对提供噪声敏感的电路,如PLL和收发器电路的模拟电源轨。这些轨噪声过大可能会危及电路的性能。
线性稳压器提供无波动功率,具有快速的响应,更简单易用,并采取比开关设备的空间更小。它们是噪声敏感的PLL和收发器轨道一个不错的选择。主要的缺点是缺乏效率的,尤其是当输出电压比输入低了很多。
开关稳压器的高电源轨,他们的更高的效率低于噪音更重要的是更好的选择。它们是数字核心逻辑和I供电不错的选择/ FPGA中,其中电流的要求可以很容易地运行到几十安培的O操作。的开关稳压器的缺点是,它比较复杂,体积较大,并且需要更多的外部元件。 (见技术专区的文章“了解优势和线性稳压器的缺点”。)
由此产生的电源可以有点复杂,包括在“权力树”(图2)几个开关稳压器和线性稳压器。
图2:包括开关和线性稳压器的FPGA电源
FPGA电源模块
对于FPGA的电源通常包括开关和线性稳压器一起工作,以提供不同的电压和稳定的电力以合理的效率相结合。设计这样的供给是不平凡的,但事情可以做简单得多由各地基础电源模块集成了几个开关和线性稳压器集成到一个芯片电路。
Maxim的MAX8660的电源模块,例如,包括四个开关稳压器(频率为2 MHz的运行,从而鼓励使用小型电感器)和四个线性稳压器。所述开关调节器自动从脉宽调制(PWM)来轻负荷运转切换到减少工作电流,延长电池寿命。
该器件提供输出电压范围为0.725-3.3 V(0.4-1.6 A)的开关稳压器和1.7-3.3 V(30-500毫安)为低降(LDO)线性稳压器从2.6到所有的工作范围6 V输入。
该芯片还包含电源管理功能和功能,如开/关控制的输出,低电池检测,复位输出,和一个2线I2C串行接口。
Intersil公司提供了ISL9440为更小的FPGA应用。该芯片结合了一个LDO线性稳压器三个开关稳压器。每个输出可调低至0.8 V和设备从4.5-24 V电源工作。
该ISL9440提供内部软启动和独立的使能输入,便于电源轨排序在一个紧凑的5×5mm的QFN封装。该芯片采用了内部回路补偿,以尽量减少紧凑的设计和较低的总-解决方案成本的外围元件。
德州仪器(TI)还提供电源模块相结合的开关稳压器的无噪声电源线性稳压器的效率。例如,LM26480(图3)集成两个1.5 A降压(“降压”)开关稳压器和两个300毫安线性稳压器。该器件采用2.8至5.5 V电源和第一开关稳压电源0.8-2 V电压1.5,而第二个提供1.0-3.3 V电压1.5答:2 MHz的开关稳压器以高达96%的效率运行。线性稳压器提供1-3.5 V电压高达300 mA的电流。
与任何电子元器件一样,FPGA器件需要有电源电压的供应才能工作。尤其对于规模较大的器件,其功耗也相对较高,其供电系统的好坏将直接影响到整个开发系统的稳定性。所以,设计出高效率、高性能的FPGA供电系统具有极其重要的意义。
不同的FPGA器件、不同的应用方式会有不同的电压电流的需求。如图2.4所示,简单的归纳,可以将FPGA器件的电压需求分为三类:核心电压、I/O电压和辅助电压。
核心电压是FPGA内部各种逻辑电路正常工作运行所需要的基本电压,该电压用于保证FPGA器件本身的工作。通常选定某一款FPGA器件,其核心电压一般也都是一个固定值,不会因为电路的不同应用而改变。核心电压值可以从官方提供的器件手册中找到。
I/O电压顾名思义便是FPGA的I/O引脚工作所需的参考电压。在引脚排布上,FPGA与ASIC最大的不同,便是FPGA所有的可用信号引脚基本都可以作为普通I/O使用,其电平值的高低完全由器件内部的逻辑决定。当然了,它的高低电平标准也受限于所供给的I/O电压。任何一片FPGA器件,它的I/O引脚通常会根据排布位置分为多个bank。同一个bank内的所有I/O引脚所供给的I/O电压是共用的,可以给不同的bank提供不同的I/O电压,它们彼此是不连通的。因此,不同bank的不同I/O电压为FPGA器件的不同接口应用提供了灵活性。这里举一个例子,Cyclone IV系列器件的某些bank支持LVDS差分电平标准,此时器件手册会要求设计者给用于LVDS差分应用的bank的I/O电压供2.5V电压,这就不同于一般的LVTTL或LVCOMS的3.3V供电需求。而一旦这些用于LVDS传输的I/O bank电压供给为2.5V,那么它就不能作为3.3V或其他电平值标准传输使用了。
除了前面提到的核心电压和I/O电压,FPGA器件工作所需的其它电压我们通常都称为辅助电压。例如FPGA器件下载配置所需的电压,当然了,这里的辅助电压值可能与核心电压值或I/O电压值是一致的。很多FPGA的PLL功能块的供电会有特殊要求,也可以认为是辅助电压。由于PLL本身是模拟电路,而FPGA其他部分的电路基本是数字电路,因此PLL的输入电源电压也很有讲究,需要专门的电容电路做滤波处理,而它的电压值一般和I/O电压值不同。此外,例如Cyclone V GX系列FPGA器件带高速Gbit串行收发器,通常有额外的参考电压;MAX10系列器件的ADC功能引脚电路也需要额外的参考电压;一些带DDR3控制器功能的FPGA引脚上通常也有专门的参考电压……诸如此类的参考电压我们都可以归类为FPGA的辅助供电电压,在实际电源电路连接和设计过程中,都必须予以考虑。
目前比较常见的供电解决方案主要是LDO稳压器、DC/DC芯片或电源模块。LDO稳压器具有电路设计简单、输出的电源电压纹波低的特点,但是它的一个明显劣势是效率也很低;而基于DC/DC芯片的解决方案能够保证较高的电源转换效率,散热容易一些,输出电流也更大,是大规模FPGA器件的最佳选择;而电源模块简单实用并且能够有更稳定的性能,只不过价格通常比较昂贵,在成本要求不敏感的情况下,是FPGA电源设计的一种最为简单快捷的解决方案。以笔者多年的经验来看,在LDO稳压器、DC/DC芯片或电源模块的选择上,一般遵循以下原则:
● 电流低于100mA的电压可以考虑使用LDO稳压器产生,因为电路简单、使用元器件少、PCB面积占用小,且成本也相对低廉。
● 对电源电压的纹波极为敏感的供电考虑使用LDO,如CMOS Sensor的模拟供电电压、ADC芯片的参考电压等。
● 除了上述情况,一般电流较大、对电源电压纹波要求不高的情况,都尽量考虑使用DC/DC电路,毕竟它能够提供大电流供电,且提供最好的电源转换效率。
● 对于电源模块,笔者见到最多的是军工等成本不敏感、板级PCB空间较大的应用中使用,它其实是LDO稳压器和DC/DC电路优势的整合。