基于FPGA的微波炉定时系统设计

(整期优先)网络出版时间:2018-12-22
/ 2

基于FPGA的微波炉定时系统设计

朱太梅

广东美的厨房电器制造有限公司

摘要:本文介绍了应用FPGA芯片和硬件描述语言(VHDL)设计微波炉控制器系统的方法。系统使用VHDL编程实现各底层模块的功能,顶层的设计采用图形输入完成。

关键词:FPGA;微波炉;定时系统;设计

引言

以EDA工具为开发环境,以硬件描述语言VHDL为编程语言,以可编程逻辑器件FPGA为设计载体,采用EDA技术自顶向下的电子系统设计,改进传统的电子系统设计观念。

1、微波炉控制器系统

微波炉控制器系统是一个实用型的系统系统,它不仅操作简单,而且烹调效果好,可以按固定程序加热一些家常菜,加热系统采取分时分火力加热,系统有以下几个模块:显示模块、输入模块、按键扫描和键盘译码控制模块,同时还包括状态转换控制数据装载烹饪计时温度控制及音效提示等显示模块,涉及到显示译码和指示灯的闪烁时,要经过需求分析设计并利用FPGA实现相应的功能,同时经过波形仿真调试验证设计方案,还要对方案的可行性进行有效的实现。

2、微波炉定时器工作流程

微波炉定时器和功率调节器结构和原理普通微波炉一般都采用定时器和功率调节(控制)器由同一电机驱动的组合体形式,简称定时功调器。定时器主要由微型同步电机、降速齿轮组件和定时联动开关等组成。由于其有联动开关串接在微波炉电源电路中,因此定时器大都兼作电源启动开关,当然另设启动开关的微波炉除外。当操作人员拨动定时钮,设定定时时间时,定时开关被接通,微波炉得电而开始工作,同时定时器电机转动。

图1微波炉定时器工作流程图

3、微波炉定时设计要求

设计一种基于FPGA的微波炉定时系统。要求:系统通电后处于复位状态。首先,系统读入烹调时间,并显示在数码管上;然后按START键,系统进入烹调状态,剩余烹调时间在数码管上实时刷新;烹调结束后,数码管显示烹调结束信息,系统回到复位状态。在烹调过程中,按PAUSE键或RESET键,可使系统暂停工作或使系统回到复位状态;在复位状态下,按TEST键可测试数码管工作是否正常。

图2微波炉定时系统顶层模块连接图

4、微波炉定时设计方案

从系统设计要求出发,自顶向下地将设计细化,使功能具体化、模块化。微波炉定时系统由状态控制器、数据装载器、烹调计时器和动态显示电路等模块构成。将各模块连接起来,用图形输入法形成顶层模块,微波炉定时系统顶层模块连接如图2所示。

5、微波炉定时系统设计实现

首先进行系统设计,划分各个功能模块,然后借助于EDA工具进行具体的模块设计。采用VHDL语言对各模块进行编程,在MAX+PLUSⅡ环境下对各程序进行编译和仿真验证,创建各模块的器件符号,待建立整体系统顶层文件时调用。

状态控制器状态控制器的功能是根据输入信号和微波炉所处的状态控制自身工作状态的转换,并输出相应的控制信号。测试信号TEST=‘1’时,则LD_8888=‘1’,指示数据装载器装入用于测试的数据“8888”;置位端SET_T=‘1’时,则LD_CLK=‘1’,指示数据装载器装入设置的烹调时间数据;启动信号START=‘1’时,则COOK=‘1’,指示烹调正在进行之中,并提示计时器进行减计数;直到DONE=‘1’时,则LD_DONE=‘1’,指示数据装载器装入烹调完毕的状态信息“donE”,才使COOK=‘0’。中间信号量CURR_STATE指示出状态控制器的5种状态,分别用0、1、2、3、4来代表。

数据装载器数据装载器的功能是在状态控制器输出信号的控制下选择定时时间、测试数据或烹调完成等信息的装载。利用3个装载信号的组合LD_8888&LD_DONE&LD_CLK赋给变量TEMP,巧妙地解决装载数据的选择问题。当LD_8888=‘1’时,输出测试数据,DATA2=“8888”;当LD_CLK=‘1’时,输出设置的烹调时间数据,DATA2=“2453”;当LD_DONE=‘1’时,输出烹调完毕的状态信息数据,DATA2=“ABCD”,将其转化为数码管显示,应为“donE”;当LOAD=‘1’时,表示烹调计时器正处于数据装入状态。

烹调计时器烹调计时器的功能是实现烹调过程中的时间递减计数,且当计时结束时向状态控制器提供状态信号,以便状态控制器产生烹调完成信号。烹调计时器的内部组成原理是利用两个减法十进制和两个减法六进制计数器的级联,可实现59′59″数之间的计时和初始数据的装载。LOAD=‘1’时完成装入功能,COOK=‘1’时执行逆计数功能,DATA3为来自于数据装载器的输出数据;MIN_H、MIN_L、SEC_H和SEC_L为完成烹调所剩时间,PLUS和MINUS为控制MIN_L进行加‘1’和减‘1’的信号输入端;当数码管显示信息为DONE时,指示烹调完成。

动态显示电路动态显示电路的功能是以动态扫描的方式将各种显示信息显示在4个LED数码管上,4个数码管的8个数据端是分别并联的,由片选信号控制各数码管轮流显示。该模块由片选、扫描、显示译码子模块整合实现。

结束语

综上所述,以VHDL硬件描述语言进行设计,将微波炉定时系统的核心部分集成在一片FPGA芯片内,可以通过软件编程的方法对其硬件结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷,为电子系统的设计带来极大的灵活性和通用性。

参考文献

[1]梁丽.基于FPGA的微波炉定时系统设计[J].中国教育技术装备,2016.

[2]肖银.基于WIFI技术的微波炉控制电路设计[D].电子科技大学,2016.

[3]韩团军.基于FPGA微波炉控制器设计[J].国外电子测量技术,2010.