利用FPGA器件如何实现可编程电源的系统设计?
扫描二维码
随时随地手机看文章
为现场可编程门阵列 (FPGA) 设计电源系统并非易事。FPGA 是高度可配置的半导体器件,用于一系列应用和终端市场。常见的例子包括通信、汽车、工业、医疗、视频和国防。由于它们是高度可配置的,因此可以在它们周围放置各种组件以形成最终的系统设计。尽管潜在应用和系统的列表可能无穷无尽,但所有设计的一个共同点是它们都需要电源。
为 FPGA 上电通常需要多个电压轨。根据您的应用,您的主要输入电源可能来自背板、隔离电源、非隔离电源,甚至是电池。从这些主要输入中,通常会生成一个中间直流电压来为 FPGA 的主电源轨供电。这些中间电压通常为 5 V 或 12 V DC。表 1 和表 2 列出了 FPGA 的一些典型电压轨、电压和容差。
确定每个轨的适当电流水平可能是一项棘手的任务,因为电流的范围可以从几百毫安到 60 A 及以上。提前计划可以避免过度设计(支付太多)或设计不足(必须重新设计)电源轨的错误。FPGA 供应商提供了准确的工具,可根据您使用 FPGA 的方式估算最坏情况下的功耗。
赛灵思功耗估算器( XPE),如图 1 所示,涵盖了赛灵思 FPGA 的多个系列。在该工具中,您可以选择您正在使用的确切部件并输入您的时钟和配置信息,以确定您的电源需求,并根据估计做出适当的设备选择。
赛灵思 Zynq® UltraScale+™ RFSoC 支持 -2 和 -1 速度等级,其中 -2E 器件性能最高。-2LE 和 -1LI 器件可以 0.85V 或 0.72V 的 VCCINT 电
压工作,专为实现更低的最大静态功耗而设计。使用以 VCCINT = 0.85V 工作的 -2LE 和 -1LI 器件时,L 器件的速度规格与 -2I 或 -1I 速度
等级相同。以 VCCINT = 0.72V 工作时,-2LE 和 -1LI 器件的性能以及静态和动态功耗都将下降。
DC 和 AC 特性按以下温度范围来指定:扩展级 (E)、工业级 (I) 和军工级 (M)。除正常工作的温度外或者除非另行说明,否则特定速度等级
的所有 DC 和 AC 电气参数都相同(即,-1 速度等级的扩展级器件的时序特性与 -1 速度等级的工业级器件相同)。但在每个温度范围
内,仅限选定的速度等级和/或器件才可用。
本数据手册中的 XQ 参考信息仅适用于 XQ 加固型封装中可用的器件。请参阅《军用级 UltraScale 架构数据手册:简介》 (DS895),以获
取有关 XQ 军用级器件编号、封装和订购的更多信息。
所有供电电压和结温规格均代表最差情况下的规格。所含参数为常用设计和典型应用的公用参数。
可编程电源指某些功能或参数可以通过计算机软件编程进行控制的电源。可编程电源的实现方法有很多种。其中,现场可编程门阵列(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中。
可编程逻辑器件 (Programmable Loeie Device,PLD)是一种用户编程实现某种逻辑功能的逻辑器件,主要由可编程的与阵列、或阵列、门阵列等组成,可通过编程来实现一定的逻辑功能。
PLD 按集成度高低可分为简单 PLD 和复杂PLD,简单 PLD包括可编程只读存储器 ( Proerammable Read Onlv Memory,PROM)、可编程逻辑阵列 (Prograrmable Logie Array, PIA)器件、可编程阵列逻辑(Prograrmable Array Logie, PAL)器件、通用阵列逻辑 ( Generic ArrayLogic, CAL)器件;复杂 PLD 包括可擦可编程逻辑 (Erasable PLD, EPLD) 器件、复杂的可编程逻辑 (Complex Programmable Logie Device, CPLD)器件、场可编程门阵列 ( Field Programmable Gate Array, FPGA)器件等。
随着可编程器件的发展,可以将 CPU、DSP、ADC/DAC、存储器等集成到一个可编程器件上,从而构成可编程系统芯片 (System On Programmable Chip, SoPC),如图所示。
对PLD进行测试时,需要对其内部包含的资源进行结构分析,经过测试配置(TC)将其编程配置为具有特定功能的电路,再通过向量实施(TS) 过程对电路进行功能及参数测试。
因可编程逻辑单元工艺不同,PLD 的编程工艺也不相同,主要有熔丝(Fuse)、反熔丝(Ani-fuse)、可擦可编程只读存储器 (Erasable ProgrammableRead Only Memory,EPROM)、电可擦可编程只读存储器 (Electrically ErasableProgrammable Read Only Memory, E²PROM)、静态随机存取存储器 (StaticRandom Aecess Memory, SRAM)和闪速存储器(Flash Memory)等。
常用的测试编程方法有在系统可编程 (In-System Programmable, ISP)、联合测试工作组(Joint Test Action Group, JTAG)协议编程、串行外设接口 ( Serial PeripheralInterface. SPI)编程、主模式/从模式编程等在系统可编程 (ISP)技术是莱迪思公司在 20 世纪 80 年代提出的一种先进的编程技术,广泛用于 PROM、CPLD 和 FPGA 等的在系统编程。
ISP 状态机有两种,即三状态 ISP 状态机和 IEEE1149.1 标准的 JTAG 状态机(见图)。