微波炉控制器的设计改进版(井冈山大学电信学院).doc_第1页
微波炉控制器的设计改进版(井冈山大学电信学院).doc_第2页
微波炉控制器的设计改进版(井冈山大学电信学院).doc_第3页
微波炉控制器的设计改进版(井冈山大学电信学院).doc_第4页
微波炉控制器的设计改进版(井冈山大学电信学院).doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微波炉控制器的设计与分析 学院:电子与信息工程学院 专业:电子信息科学与技术 姓名:詹丽君 学号:80514062 指导老师:肖开选 - 1 - 时间:2010 年 12 月 15 日 摘要摘要:本论文介绍了应用 fpga 芯片和硬件描述语言(vhdl)设计微波炉控制器系统的方法。系统 使用 vhdl 编程实现各底层模块的功能,顶层的设计采用图形输入完成。论文主要阐述模块化设 计的思想和状态图的描述方法,以及他们在硬件描述语言中的应用,并展示了其在 maxplusii 开发系统下的仿真结果。 微波炉控制器系统是一个实用型的系统,系统不仅具有操作简单的功能,而且烹调效果好, 你可以按照固定程序烹调一些家常菜,可以采取分时、分不同级别火力加热,既能节约时间又 能节约能源。主要有以下几个模块:输入模块、控制模块和显示模块。输入模块实现按键扫描 和键盘译码、控制模块包括状态转换控制、数据装载、烹饪计时、温度控制、音效提示等等、 显示模块涉及到显示译码和指示灯的闪烁。 经过对系统做需求分析,详细功能设计、编码,模块连接,并利用 fpga 实现相应的功能, 经过波形仿真、下载调试,验证了设计方案的可行性及实现方法的有效性,基本实现了系统的 要求。 关键词关键词:fpga;vhdl;微波炉定时控制器;状态图 abstract:this paper introduces the method that applying fpga chip and vhdl to design the control system of microwave ovens. the system uses vhdl to fulfill the function of - 2 - each bottom module and the design of the top layer is completed via graphic entering. this paper mainly illustrates the idea of module design and description method of state chart and that their application in vhdl and simulation results in the develop system of maxplusii. microwave controller system is a utility-type system that includes not only the function of simple operation, but also good effect of cook. according to fixed routine, you can cook some homely dish via taking different time and different level firepower to heat, and this can not only save time, but also save energy. it mainly includes a couple of modules as follows: input module, control module and display module. input module fulfills key-press scanning and keyboard decoding, control module includes status switching control, data loading, cook time, temperature control, sound effect tip and so on, display module comes down to display coding decipher and the flashing of indicator light. through the analysis of requirement, detailed function design, coding, module connection, using fpga to fulfill relevant function. through waveform simulation, download debugging, it verifies the feasibility of the design and the effectiveness of realization method and basically fulfill the requirement of the system. keywords: fpga;vhdl; microwave oven timer controller; status chart 1.绪论绪论 随着人民生活水平的提高,微波炉开始进人越来越多的家庭,它给人们的生活 带来了极大的方便。微波炉由 2450mhz 的超高频来加热食物。它省时、省电、方便 和卫生。作为现代的烹饪工具,微波炉的控制器体现着它的重要性能指标。目前大 部分微波炉控制器采用单片机进行设计,电路比较复杂,性能不够灵活。本文采用 先进的 eda 技术,利用 maxplus ii 工作平台和 vhdl 设计语言,设计了一种新型的 微波炉控制器系统。该系统具有系统复位、时间设定、烹饪计时、温度控制和音效 提示等功能,在 fpga 上实现。 1.1.任务的提出任务的提出 在现代人快节奏生活中,微波炉已成为便捷生活的一部分。随着控制技术和智 能技术的发展,微波炉也向着智能化、信息化发展。而现有市售的微波炉其主要弊 - 3 - 端为:不能按既有程序进行烹调,需要使用者根据食物的类型、数量、温度等因素 去设定微波炉的工作时间,若设定的工作时间过长,含水分较多的食物可能会产生 过热碳化的现象,若时间过短则达不到预期的烹调效果。不仅在节能方面未做过多 考虑,使用者还需要经常翻看使用说明书才能完成操作过程。针对这些问题,笔者 认为有必要研制一种操作简单且烹调效果好的微波炉,根据一些家常菜按固定程序 烹调的现象,可采取分时、分档火力加热,节时又节能。 1.2.课题的内容和要求课题的内容和要求 本课题是基于 fpga 的微波炉控制器设计,设计题目为微波炉定时控制器。 设 计要求如下: 1、复位开关: 2、启动开关: 3、烹调时间设置: 4、烹调时间显示: 5、七段码测试: 6、启动输出: 7、按 test 键可以测试七段码管,显示为“5959” ; 8、设定时间后,按启动键开始烹调,同时七段码显示剩余时间,时间为 0 时, 显示烹调完成信息“cdef” 。 1.3.设计的目的和意义设计的目的和意义 目前大部分微波炉控制器采用单片机进行设计,电路比较复杂,性能不够灵活。 本设计采用先进的 eda 技术,利用 vhdl 设计语言,设计一种新型的微波炉控制器。 该控制器具有系统复位、状态控制、时间设定、火力档位选择、烹饪计时、温度控 制、显示译码和音效提示等功能,基于 fpga 芯片实现。 该微波炉控制系统,除实现常规的解冻、烹调、烘烤的基本功能外,还进行了 创新设计,实现了微波炉的自定义设置。 本系统控制部分以 fpga 芯片为核心,通过功能按键设置和手动数据输入,完 成不同功能时自动以预置方案或者自定义方案加热。其中,预制方案提供烹调、烘 - 4 - 烤、解冻等系统烹调流程,仅供用户选择,无需设置;而自定义方案,用户根据食 物含量、重量等手动设置时间、温度和选择火力等操作。在烹饪过程中,能通过数 码管显示或者指示灯提示知道食物的成熟度,可以智能控制。 该系统在功能执行时,能实现门开关检测、键盘输入扫描、温度控制、led 显 示、工作状态指示、蜂鸣等。 2.系统总体设计系统总体设计 2.1.系统总体设计方案系统总体设计方案 根据题目要求,现需设计一个微波炉控制器 wblkzq,通过该控制器再配以 4 个 七段数码二极管完成微波炉的定时及信息显示。该系统控制部分以 fpga 芯片为核 心,根据该微波炉控制器的功能设计要求,本系统可由以下 4 个模块组成: 状 态控制器 kzq; 数据装载器 zzq; 烹调计时器 jsq; 显示译码器 ymq47。 以下是该系统总体框图,如图 1 所示: 图 1 微波炉控制器系统总体框图 指示灯功能如下: 完成提示:提示微波炉工作完成。该灯亮时,表示烹饪完成; 意外报警:提示意外情况发生。该灯亮时,表示出现意外,微波炉暂停工作; - 5 - 解冻:该灯亮时,表示工作在解冻模式下; 烘烤:该灯亮时,表示工作在烘烤模式下; 烹调:该灯亮时,表示工作在烹调模式下; 测试:该灯亮时,表示微波炉处于测试状态; 开门指示:指示微波炉的门的状态,门开时灯亮,门关时灯灭; 工作状态:指示微波炉处于工作状态,工作时灯亮,不工作时灯灭; 2.2.系统功能模块描述系统功能模块描述 本系统主要由输入、控制和显示部分组成。输入部分主要完成用户对控制功能 的设置,采用按键作为输入设备。控制部分是本系统的核心,它接收用户的输入, 完成相应的控制逻辑功能,并将当前的工作状态等信息送到显示部分。显示部分主 要监视系统工作状态并提示用户进行控制操作。 以下是该系统功能模块图,如图 2 所示 - 6 - 图图 2 2 系统功能模块图系统功能模块图 .2.1.输入模块输入模块 输入部分一般采用键盘或旋钮作为输入,本系统采用键盘进行输入设置,即由 一个 4*4 矩阵键盘实现数据输入控制。该矩阵键盘上 16 个按键分别是:10min 1min/100/high 10sec/10/middle 1sec/1/low /+1 复位 暂停/取消 测试 /-1 火力设定 温度设定 时间设置 烹调 烘烤 解冻 开始/确 认。输入模块包括时钟脉冲电路、键盘扫描电路、消枓同步电路和键盘译码电路, 通过该模块将扫描得到的按键值送到控制模块。由于实验室的设备有限,则此部分 模块不具体阐述。 2.2.2.控制模块控制模块 控制部分作为整个微波炉控制器系统的核心,它采用 fpga 芯片作为主控核心, 完成许多复杂的控制和数据处理任务。它通过输入模块提供的按键输入实现数据信 息装载处理,并将处理结果通过显示模块显示出来。其涉及到数据的装载、状态转 换控制、烹饪计时、温度控制、火力控制、音响效应提示等。 2.3.3.显示模块显示模块 显示部分采用七段数码管和发光二极管来实现。由于数码管显示信息较少,一 些信息用数码管显示不够直观,因此本系统在采用数码管显示的同时,还用发光二 极管作为辅助显示。其中,用七段数码管作为时间、温度、火力大小显示,用发光 二极管作为状态提示显示。具体设计时,采用 4 位 led 数码管显示加热倒计时,3 位 led 数码管显示当前温度值,1 位 led 数码管显示当前火力档位。8 个状态提示指 示灯分别表示:工作状态、开门指示、测试、烹调、烘烤、解冻、意外报警、完成 提示。 2.4.系统的工作流程系统的工作流程 微波炉控制器系统的工作流程为:上电后,系统首先处于一种复位状态,其各 电路模块均处于初始状态。此时,8 个数码管上会显示“88888888”的信息,所有 指示灯亮。按 test 键,数码管和发光二极管全亮、全灭交替闪烁,可以测试数码管 和指示灯工作是否正常。系统工作时,首先通过键盘输入数据,比如,按烹调、烘 - 7 - 烤、解冻键选择系统预置方案,或者按时间设置键设置时间,按温度设定键设置温 度,按火力选择键选择火力,结合 10min、1min/100/high、10sec/10 /middle、1sec/1/low 按键进行自定义方案设置,设置结束以后,表示数据装载 完成,按 start 键后系统进入烹调状态。在烹饪过程中,可以按暂停/取消键暂停 烹饪,或者重新设置时间、温度、火力。烹饪结束后,系统会发出音效提示,同时, 系统自动进入复位状态。 根据系统工作流程,绘制主程序流程图,如图 3 所示: - 8 - 图 3 系统工作流程图 - 9 - 3.系统详细设计系统详细设计 3.1.控制模块设计控制模块设计 控制模块是整个微波炉控制器系统的核心,完成许多复杂的控制和数据处理任 务,它通过输入模块提供的按键输入实现数据信息装载处理,控制显示模块显示相 应的信息。 控制模块采用 fpga 芯片作为主控芯片,其涉及到数据的装载、状态控制转换、 烹饪计时、温度控制、火力控制、音效提示等。其中,状态控制转换子模块,其功 能是控制微波炉工作过程中的状态转换,并发出相关控制信号。数据装载子模块, 其功能是根据按键信号设置定时时间、最高温度、火力档位,烹调属性设置以及烹 调数据信息装载。烹饪计时子模块,其功能是对时钟进行减法计数,提供烹调完成 时的状态信号。温度控制子模块,其功能是在食物烹饪过程中进行温度测定和控制, 它同时实现火力控制。音效控制子模块,其功能是控制微波炉工作时的音效提示, 这里直接外接一个蜂鸣器实现该功能。 其功能子模块图如下,图 4 所示: 控控制制模模块块 control 数数据据装装载载 子子模模块块 zzq 烹烹饪饪计计时时 子子模模块块 jsq 温温度度控控制制 子子模模块块 kwq 音音效效控控制制 子子模模块块 alarm 状状态态转转换换控控制制 子子模模块块 kzq 4 控制模块功能子模块图控制模块功能子模块图 3.1.1.状态转换控制状态转换控制器器 根据微波炉工作流程的描述,分析状态转换条件及输出信号,可以得到控制模 块的状态转换图。如图 5 所示: - 10 - 时时间间、温温度度 设设置置状状态态 set_clock 显显示示译译码码 测测试试状状态态 lamp_test 完完成成信信息息 显显示示状状态态 done_msg 减减法法计计数数 定定时时状状态态 timer 初初始始状状态态 idle x/ld_test test/ld_test set_t end case; end process; end rtl; 完成 vhdl 源程序的输入,编译、运行,生成相应的电路符号,如下图 10 所示: - 17 - 图图 10 zzq 电路符号电路符号 .1.3.烹饪计时器烹饪计时器 vhdlvhdl 源程序源程序 .十进制计数器的 vhdl 源程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt10 is port( clk:in std_logic; load:in std_logic; en:in std_logic; datain: in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0); carry_out:out std_logic ); end cnt10; architecture rtl of cnt10 is signal tmp: std_logic_vector(3 downto 0); begin process(clk,load,en) begin if load=1 then tmpqqqqqqqqqq=“1101111“; end case; end process; end rtl; 生成相应的电路符号,如图 17 所示 图图 1717 ymqymq 的电路符号的电路符号 5.5.系统波形仿真系统波形仿真 .状态转换控制器波形仿真状态转换控制器波形仿真 完成状态转换控制器 kzq 子模块 vhdl 源程序文件输入后,保存文件,对文件 进行编译,然后进入波形仿真图: controllor 模块在时钟上升沿到来时,nxt=idle=000,传送给 cur,然后进入 - 29 - case 语句比较,设置 test=1,ld_test 翻转为 1,同时 lamp_test=001的状态转 送给 nxt,于是 cur=nxt=001,后 ld_test=1。波形仿真图如图 18 所示: 图图 1818 状态转换控制器状态转换控制器 kzq 仿真图仿真图 同理:设置 set_t=1,对应波形仿真图如图 19 所示: 图图 1919 状态转换控制器状态转换控制器 kzq 仿真图仿真图 设置 start=1 且 done=0,cur=nxt=timer=011,此时表示开始烹饪,如中途 done=1,则 cur=nxt=done_msg,此时 ld_done=1;cook=0;表示停止烹饪。波形仿真图如图 20 所示: - 30 - 图图 2020 状态转换控制器状态转换控制器 kzq 仿真图仿真图 分析该仿真文件,可以看到,当测试信号 test 为高电平有效时,测试输出信 号 ld_test 为高电平;否则,当时间设置信号 set_t 为高电平时,对应的指示信号 ld_clk 输出高电平;当烹饪开始信号 start 信号为高电平时,对应输出 cook 为高 电平;当复位信号 reset 为高电平时,系统复位清零,恢复初始状态。仿真结果符 合模块设计的要求。 .数据装载器波形仿真数据装载器波形仿真 完成数据装载器 zzq 子模块 vhdl 源程序文件输入后,保存文件,对文件进行编 译,然后进入波形仿真图: 当 ld_test、ld_done、ld_clk 中任意一个为 1 时,load 就为 1; 当 ld_test=1、ld_done=0、ld_clk=0 时,datain 输出常数 alls 的值为 “1000100010001000” ; 当 ld_test=0、ld_done=10、ld_clk=0 时,datain 输出常数 done 的值为 “1010101111001101” ; 当 ld_test=1、ld_done=0、ld_clk=0 时,datain 输出常数 datain 的值。 由以上分析可得出数据装载器 loader 模块波形仿真图如图 21 所示: 图图 2121 数据装载器数据装载器 zzqzzq 仿真图仿真图 分析该模块仿真结果,由于数据装载器本质上即多了选择译码电路。可知,当 ld_clk、ld_test、ld_done 三路信号中有且仅有一路信号电平有效时,选择器相应 的值作为输出。 .烹饪计时器仿真烹饪计时器仿真 由于烹调计时器是由两个减计数十进制计数器 dcnt10 和两个减计数六进制计 数器 dcnt6 级联构成,因此,先完成两个减计数十进制和六进制计数器的 vhdl 源程 - 31 - 序文件输入,保存文件并对文件进行编译、仿真。以下分别是两减计数器的功能仿 真图。 六进制计数器模块波形仿真图如图 22 所示: 图图 2222 六进制计数器六进制计数器 dcnt6dcnt6 仿真图仿真图 六进制计数器模块波形仿真图如图 23 所示: 图图 2323 六进制计数器六进制计数器 dcnt6dcnt6 仿真图仿真图 分析以上计数器仿真结果,load 为 1 时,datain 里面的数据传给 tmp,再将其 传递给 q,完成数据的加载;而时钟上升沿到来且 en=1 时,计数器开始减 1,在此 期间 carry_out 一直输出 0。直到 tmp 为“0000” ,此时 carry_out 输出 1,同时 tmp 有从“0101”开始减 1。 同理,十进制计数器模块波形仿真图如图 24 所示: 图图 2424 十进制计数器十进制计数器 dcnt10dcnt10 仿真图仿真图 counter 模块波形仿真图如图 25 所示: - 32 - 图图 2525 烹饪计时器烹饪计时器 countercounter 模块仿真图模块仿真图 简要描述:设置 load 一段时间(时间设定小心!) ,然后通过设置 cook 为 1 微 波炉工作,设定的时间在时钟的控制下进行减计数。当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论