集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2584|回复: 2

采用FPGA的可编程电压源系统原理及设计方案

[复制链接]
老怪甲 该用户已被删除
老怪甲 发表于 2010-4-9 23:24:46 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-5-31 13:43 编辑

采用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中。完整程序如下:

程序

程序

  2.3 程序仿真

  在QuartusⅡ软件中,用原理图的方式把上面两个程序例化成工程。图2为例化后的结果。

例化后的结果

  ROM中的数据采用.mif格式进行存储。ROM中存储的数据如图3所示。

ROM中存储的数据

  对工程进行全编译,用启动仿真器对工程进行功能仿真。仿真结果如图4所示。从仿真结果可以看出,din_dac输出的数据与ROM内写入的数据完全一致。clk_dac和cs_dac:也完全满足数/模转换器所需的控制信号。

仿真结果

图4 仿真波形输出
Sunlife 发表于 2016-6-18 16:54:26 | 显示全部楼层
             感谢分享。
雷磊 发表于 2023-4-20 16:49:49 | 显示全部楼层
基于fpga 技术的usb无损图像采集卡
http://www.fpgaw.com/forum.php?m ... 5&fromuid=54563
(出处: 集成电路技术分享)
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-16 17:40 , Processed in 0.062490 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表