基于fpga技术的微波炉控制器.doc

上传人:F****n 文档编号:98877614 上传时间:2019-09-15 格式:DOC 页数:21 大小:2.60MB
返回 下载 相关 举报
基于fpga技术的微波炉控制器.doc_第1页
第1页 / 共21页
基于fpga技术的微波炉控制器.doc_第2页
第2页 / 共21页
基于fpga技术的微波炉控制器.doc_第3页
第3页 / 共21页
基于fpga技术的微波炉控制器.doc_第4页
第4页 / 共21页
基于fpga技术的微波炉控制器.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《基于fpga技术的微波炉控制器.doc》由会员分享,可在线阅读,更多相关《基于fpga技术的微波炉控制器.doc(21页珍藏版)》请在金锄头文库上搜索。

1、基于FPGA技术的微波炉控制器*大学*学院现代电子系统设计*系(院)*专业题目:基于FPGA技术的微波炉控制器学生姓名: 班级: 学号: 指导教师: 完成日期: 年 月摘 要 本文介绍了应用FPGA芯片和硬件描述语言(VHDL)设计微波炉控制器系统的方法。系统使用VHDL编程实现各底层模块的功能,顶层的设计采用图形输入完成。本文主要阐述模块化设计的思想和状态图的描述方法,以及它们在硬件描述语言中的应用,并展示了其在Quartus开发系统下的仿真结果和烧写到EPM570T100C5后的现象。 主要有以下几个模块:状态控制器KZQ、数据装载器ZZQ、烹调计时器JSQ、显示译码器YMQ47以及分频器

2、和动态显示电路。 该控制器具有系统复位、状态控制、时间设定、烹饪计时、动态显示译码等功能。 关键字:FPGA;VHDL;微波炉;控制器;状态图;定时器目 录1.绪论11.1任务的提出11.2设计的基本要求11.3设计的目的和意义12.系统总体设计22.1系统总体方案设计22.2系统功能模块描述(具体的电路图和VHDL设计文件将在附件中给出)23.系统详细设计23.1 状态控制器KZQ的设计23.2 数据装载器ZZQ的设计53.3 烹调计时器JSQ的设计53.4 显示译码器YMQ47的设计54系统仿真64.1状态转换控制器KZQ仿真图64.2数据装载器ZZQ仿真图64.3计时器JSQ仿真74.4

3、显示译码器YMQ47仿真图85.设计总结86.参考文献87.附件97.1整体的原理图97.2各个基本模块的VHDL语言972.1分频器97.2.2控制器KZQ107.2.3装载器ZZQ117.2.4计时器JSQ,和其中需用到的DCNT6和DCNT10127.2.5译码器YMQ47157.2.6动态显示电路需要用到的DCNT4和decoder15村民建房委员会应建立村级农房建设质量安全监督制度和巡查制度,选聘有责任心和具有一定施工技术常识的村民作为义务巡查监督员,开展经常性的巡查和督查。171.绪论随着人民生活水平的提高,微波炉开始进入越来越多的家庭,它给人们的生活带来了极大的方便。它省事、省电

4、、方便和卫生。作为现代的烹饪工具,微波炉控制器体现着它的重要性能指标。目前大部分微波炉控制器采用单片机进行设计,电路比较复杂,性能不够灵活。本文采用先进的EDA技术,利用Quartus工作平台和VHDL设计语言,设计了一种新型的微波炉控制器系统。该控制器具有系统复位、状态控制、时间设定、烹饪计时、动态显示译码等功能。1.1任务的提出设计一个微波炉控制器1.2设计的基本要求(1)七段数码管及发光二极管完成微波炉的定时及状态显示;(2)控制器的输入信号包括定时控制信号、定时数据的输入、复位信号、开始煮饭的控制信号等;(3)其他(我们自己添加了测试数码管是否能够正常显示的TEST信号)。1.3设计的

5、目的和意义目前大部分微波炉控制器采用单片机进行设计,电路比较复杂,性能不够灵活。本文采用先进的EDA技术,利用Quartus工作平台和VHDL设计语言,设计了一种新型的微波炉控制器系统。该控制器具有系统复位、状态控制、时间设定、烹饪计时、动态显示译码等功能。2.系统总体设计2.1系统总体方案设计根据该微波炉控制器的功能设计要求,本系统可由以下6个模块组成:1.分频器; 2.状态控制器KZQ;3. 数据装载器ZZQ;4. 烹调计时器JSQ;5. 显示译码器YMQ47;6.动态显示电路。其内部组成原理图如图1所示。图12.2系统功能模块描述(具体的电路图和VHDL设计文件将在附件中给出)各个模块的

6、功能介绍(1)分频器fenpinqi模块的功能是实现对实验箱上的50Mhz的分频,是整个系统能够正常显示的基础。(2) 状态控制器KZQ的功能是控制微波炉工作过程中的状态转换,并发出有关控制信息;输入信号为CLK、TEST、START、SET_T、RESET和DONE,输出信号为LD_DONE、LD_CLK、LD_8888和COOK信号。 (3) 数据装载器ZZQ的功能是根据KZQ发出的控制信号选择定时时间、测试数据或烹调完成信息的装入。(4) 计时器JSQ的功能是负责烹调过程中的时间递减计数,并提供烹调完成时的状态信号供KZQ产生烹调完成信号。(5) 显示译码器YMQ47的功能就是负责将各种

7、显示信息的BCD转换成七段数码管显示的驱动信息编码。需要译码的信息有:数字09,字母d、o、n、E。(6)动态显示电路的功能是将显示译码器YMQ47驱动信息编码在数码管有限的条件下显示出来。3.系统详细设计3.1 状态控制器KZQ的设计 状态控制器KZQ的功能是控制微波炉工作过程中的状态转换,并发出有关控制信息,因此我们可用一个状态机来实现它。经过对微波炉工作过程中的状态转换条件及输出信号进行分析,我们可得到其状态转换图如图2所示,其输入、输出端口如图3所示。图2 KZQ的状态转换图图3 KZQ的输入、输出端口图 3.2 数据装载器ZZQ的设计 ZZQ的输入、输出端口如图4所示,根据其应完成的

8、逻辑功能,它本质上就是一个三选一数据选择器。本设计采用一个进程来完成,但由于三个被选择的数据只有一个来自输入端口,因此另两个被选择的数据则通过在进程的说明部分定义两个常数来产生。图4 ZZQ的输入、输出端口图3.3 烹调计时器JSQ的设计 烹调计时器JSQ为减数计数器,其最大计时时间为59:59。因此我们可用两个减计数十进制计数器DCNT10和两个减计数六进制计数器DCNT6级联构成。3.4 显示译码器YMQ47的设计 本显示译码器YMQ47不但要对数字09进行显示译码,还要对字母d、o、n、E进行显示译码,其译码对照表如表1所示。表1 YMQ47的译码对照表 4系统仿真4.1状态转换控制器K

9、ZQ仿真图4.2数据装载器ZZQ仿真图4.3计时器JSQ仿真因为计时器是由两个减计数十进制计数器DCNT10和两个减计数六进制计数器DCNT6级联构成,所以,先完成两个减计数十进制和六进制计数器的仿真。以下分别是两减计数器的功能仿真图。十进制计数器DCNT10仿真图六进制计数器DCNT6仿真图在前面仿真正确的基础上,生成相应的元件,对两计数器进行级联,进行编译、仿真得到仿真结果图。下图是对59分59秒的仿真结果。由以上仿真结果可以看出,该JSQ模块实现了烹调计时的定时作用。4.4显示译码器YMQ47仿真图5.设计总结本设计使用Quartus软件进行编写,并在实验箱上实现。本设计有六个小模块模块

10、,也可以分成两个大模块,一个模块是由KZQ、ZZQ、JSQ组成的,这个模块是本设计的基本,另一个模块是有分频器、译码器、动态显示电路组成的,这个模块是为了配合实验箱。第一次实验的时候,发现管脚不够分配,知道这是因为实验箱上只有一个静态显示数码管,有8个动态显示数码管。于是,进行改进,在原来的基础上增加了动态显示模块。第二次实验的时候,发现数码管跳的过快,基本分辨不出来数字的变化,于是,想到是分频分的不够,于是,又改了一下分频器的分频系数。最后一次实验时,能够正确的进行显示,并能够完成系统复位、状态控制、时间设定、烹饪计时、动态显示译码等功能。唯一的缺陷是,当计时到00:00时,显示灯是灭了一下

11、,然后继续亮。这是需要改进的地方。对于时间的设定,我们虽然没有实现键盘控制,但是我们可以通过软件进行设置,并不是通过接地或者接高电平写死了,而是可以改变的。我们自己添加了测试数码管是否能够正常显示的TEST信号。6.参考文献1谭会生,张昌凡。EDA技术及其应用M.西安:西安电子科技大学出版社2江思敏.VHDL数字电路及系统设计.北京:机械工业出版社3*院现代电子设计课本和实验指导书7.附件7.1整体的原理图7.2各个基本模块的VHDL语言72.1分频器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all

12、;entity fenpinqi is port (nreset:in std_logic; clk:in std_logic; co:out std_logic; qcnt:buffer std_logic_vector(19 downto 0) ); end fenpinqi; architecture behave of fenpinqi is begin process(clk,nreset) begin if(nreset=0)then qcnt=; elsif(clkevent and clk=1)then qcnt=qcnt+1; end if; end process; co=

13、qcnt(19); end behave;7.2.2控制器KZQ-KZQ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY KZQ ISPORT(RESET,SET_T,START,TEST,CLK,DONE:IN STD_LOGIC; COOK,LD_8888,LD_CLK,LD_DONE:OUT STD_LOGIC);END ENTITY KZQ;ARCHITECTURE BEHAVE OF KZQ IS TYPE STATE_TYPE IS(IDLE,LAMP_TEST,SET_CLOCK,TIMER,DONE_MSG); SIGNAL NXT_STATE,CURR_STATE:STATE_TYPE; BEGIN PROCESS(CLK,RESET) IS BEGIN IF RESET=1 THEN CURR_STATE=IDLE; ELSIF CLKEVENT AND CLK=1 THEN CURR_STATE=NXT_STATE; END IF; END PROCESS; PROCESS(CLK,CURR_STATE,SET_T,START,TEST,DONE) IS BE

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号