概述:介绍一种基于FPGA的可编程电压源系统的设计与实现。采用FPGA为控制芯片,应用QuartusⅡ软件和硬件描述语言为工具,通过数/模转换和运放把数字信号转换成模拟电压信号。实验表明,该系统操作灵活方便,稳定性强,调压精度高,电压可调范围大(O~26 V),具有很好的实用性和工程参考价值。
可编程电源指某些功能或参数可以通过计算机软件编程进行控制的电源。可编程电源的实现方法有很多种。其中,现场可编程门阵列(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源程序如下: