基于FPGA简易数控电源.docVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录 一 课题要求 二 数控电源整体设计的原理框图 2.1 数控电源软件的整体设计 2.1.1分频器模块设计 2.1.2键盘输入模块设计 2.1.3可逆100进制计数器模块设计 2.1.4数据选择器模块设计 2.1.5位码选择器模块设计 2.1.5驱动共阴极数码管七段译码器模块设计 2.1.6二-十进制译码器模块设计 2.1.7层次化设计 2.1.8调试及结果 2.1.9收获与体会 三 参考文献 四 附录 4.1.1 按键电路 4.1.2 显示电路 4.1.3 DAC0832转换电路 4.1.4 放大电路 4.1.5 元件清单 一 课题要求 本课题所介绍的数控稳压电源与传统稳压电源相比,具有操作方便,电压稳定度高,其输出电压大小采用了数字显示的特点。主要用到了一块核心芯片FPGA其型号为EP2C5T144C8.本课题具体要求如下: (一)技术要求: 1.熟练掌握QuartusⅡ6.0软件的使用方法,同时能够对仿真波形进行一定的分析; 2. 熟练掌握运用VHDL语言进行层次化设计; (二)功能要求 1.输出电压:范围0~+9.9V,步进0.1V; 2.输出电压值由数码管进行动态显示; 3.由“+”、“-”两键分别控制输出电压步进增减; 4.输出电压预置在6.6V; 在本次课程设计中,本人主要负责软件的设计及相关软硬件的调试。 二 数控电源整体设计的原理框图 图2-1 +5V、+12V及-12V由实验箱提供,+5V为FPGA工作电压,也是D/A芯片的工作电压,+12V及-12V为运放供电;通过“+”按键或“-”按键向FPGA输入信号,FPGA得到增计数脉冲信号或减计数脉冲信号,通过其内部相关电路从而计数,内部计数器的信号一路送给外部显示电路来显示当前的电压值,另一路送给D/A转换,D/A转换电路将数字量按比例,转换成模拟电压,再经过调整,从而输出稳定的直流电压。 2.1 数控电源软件的整体设计 图2-2 由于FPGA芯片自带50MHZ的有源晶振,其频率太高,必须经过合适的分频才能使用。经过100万分频器即得到50HZ的信号,再作为100进制可逆计数器模块和位码选择模块的工作时钟,同时作为键盘的输入信号;50MHZ经过200万分频器即得到25HZ的信号作为键盘模块的工作时钟;键盘模块对输入的计数脉冲信号进行消抖处理;100进制可逆计数器模块实现0—99或99—0的计数功能;2选1模块实现选择显示数据的整数和小数的功能;7段译码器模块实现把计数器的输出二进制转换为数码管显示的字符码;位码选择模块实现选择哪一个数码管显示的功能;二-十进制译码器模块实现将计数器的输出信号转换为D/A所需要的二进制数据。 2.1.1分频器模块设计 (1)100万分频器DVF的设计 源程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DVF IS PORT(CLK:IN STD_LOGIC; FOUT:OUT STD_LOGIC); END; ARCHITECTURE ONE OF DVF IS BEGIN PROCESS(CLK) VARIABLE CNT:INTEGER RANGE 0 TO 500000; VARIABLE X:STD_LOGIC; BEGIN IF CLKEVENT AND CLK=1 THEN IF CNT500000 THEN CNT:=CNT+1; ELSE CNT:=0; X:=NOT X; END IF; END IF; FOUT=X; END PROCESS ; END ONE; 生成的电路模块如下 图2-3 仿真波形图如下: 图2-4(缩小波形图) 图2-5(放大波形图) 仿真结果分析:输入CLK的F0=50MHZ,(即T0=20ns)而输出FOUT的T1=20ms, (即F1=50HZ)则次分频器设计符合要求。 (2)200万分频器DVF的设计 源程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DVF1 IS PORT(CLK:IN STD_LOGIC; FOUT:OUT STD_LOGIC); END; ARCHITECTURE ONE OF DVF1 IS BEGIN PROCESS(CLK) VARIABLE CNT:INTEGER RANGE 0 TO 1000000; VARIABLE X:STD_LOGIC; BEGIN IF CLKE

文档评论(0)

精品天地 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档