微波炉控制器的设计与分析.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《微波炉控制器的设计与分析.doc》由会员分享,可在线阅读,更多相关《微波炉控制器的设计与分析.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、FPGA系统设计 组成员及负责模块:冀鹏超 状态控制器KZQ设计陆威 数据装载器ZZQ设计韩华凯 烹饪计时器JSQ设计凌智 烹饪计时器JSQ设计白浚材 显示译码器YMQ47设计孙兵剑 微波炉控制器WBLKZQ设计微波炉控制器的设计与分析一系统设计要求 现在设计一个微波炉控制器WBLKZQ,其外部接口如图1所示。通过该控制器再配以4个七段数码二极管完成微波炉的定时及信息显示。图1 微波炉控制器外部接口符号图 图1中的各信号的功能及要求如下:CLK是秒表时钟脉冲输入,它接收每秒一个时钟脉冲的节拍信号。RESET为复位信号,高电平有效,用于芯片的复位功能。TEST为测试信号,高电平有效。用于测试4哥
2、七段数码二极管工作是否正常。SET_TS是烹调时间设置控制信号,高电平有效。DATA0的一个人16位的总线输入信号,输入所设置的时间长短,它由高到低分为4组,每一组是BCD码输入,分别表示分、秒上十位个位的数字,如12分59秒。START是烹调开始的控制信号,高电平有效。COOK是烹调进行信号,它外接用于控制烹调的继电器开关,高电平时表明烹调已经开始或正在进行,低电平表示烹调结束或没有进行。MIN_H(十分位)、MIN_L(分位)、SEC_H(十秒位)和SEC_L(秒位)是4组七位总线信号,它们分别接4个七段数码管,动态地显示完成烹调所剩的时间以及测试状态信息“8888”、烹调完毕的状态信息“
3、donE”。该微波炉控制器WBLKZQ的具体功能要求如下:上电后系统首先处于一种复位状态。在工作时首先按SEC_L键设置烹调时间,此时系统读入DATA0的数据作为烹调所需时间,然后系统自动回到复位状态,同时4个七段数码管显示时间信息(假设系统最长的烹调时间为59分59秒)。再按START键后系统进入烹调状态,COOK信号开始为高电平,此时4个七段数码管每隔一秒钟变化一次,用以刷新还剩多少时间结束烹调。烹调结束后,COOK信号变为低电平,同时4个七段数码管组合在一起显示“donE”的信息,然后系统回到复位状态。系统可以通过按RESET键随时回到复位状态。在复位状态下,按TEST键在4个数码管上会
4、显示“8888”的信息,它可以测试4个七段数码管工作是否正常。二系统设计要1微波炉控制器的总体设计方案 根据该微波炉控制器的功能设计要求,本系统可由以下4个模块组成: 状态控制器KZQ;数据装载器ZZQ;烹调计时器JSQ;显示译码器YMQ47。其内部组成原理如图2所示。图2 微波炉控制器WBLKZQ的内部组成原理图(1)状态控制器KZQ的功能是控制微波炉工作过程中的状态转换,并发出有关控制信息:输入信号为CLK、TEST、START、SET_T、RESET和DONE,输出信号为LD_DONE、LD_CLK、LD_8888和COOK信号。KZQ根据输入信号和自身当时所处的状态完成状态的转换和输出
5、相应的控制信号:LD_DONE指示ZZQ装入烹调完毕的状态信息“donE”的显示驱动信息数据;LD_CLK指示ZZQ装入设置的烹饪时间数据;LD_8888指示ZZQ装入用于测试的数据“8888”以显示驱动信息数据;COOK指示烹饪正在进行之中,并提示计时器进行减计数。 (2)数据装载器ZZQ的功能是根据KZQ发出的控制信号选择定时时间、测试数据或烹调完成信息的装入。当LD_DONE为高电平时,输出烹调完毕的状态信息数据;LD_CLK为高电平时,输出设置的烹饪时间数据;LD_8888为高电平时,输出测试数据。输出信号LOAD用于提示JSQ将处于数据装入状态。(3)计时器JSQ的功能是负责烹调过程
6、中的时间递减计数,并提供烹调完成时的状态信号提供KZQ产生烹调完成信号。LOAD为高电平时完成装入功能,COOK为高电平时执行逆计数功能。输入DONE指示烹调完成。MIN_H、MIN_L、SEC_H、和SEC_L为完成烹调所剩的时间以及测试状态信息“8888”、烹调完毕的状态信息“donE”的BCD码信息。(4)显示译码器YMQ47的功能就是负责将各种显示信息的BCD转换成七段数码管显示的驱动信息编码。需要译码的信息有:数字09,字母d、o、n、E。2状态控制器KZQ的设计状态控制器KZQ的功能是控制微波炉工作过程中的状态转换,并发出有关控制信息,因此我们可用一个状态机来实现它。经过对微波炉工
7、作过程中的状态转换条件及输出信号进行分析,我们可得到其状态转换图如图3所示,其输入、输出端口如图4所示。 图3 KZQ的输入输出端口图图4 KZQ的输入输出端口图3数据装载器ZZQ的设计ZZQ的输入、输出端口如5所示,根据其应完成的逻辑功能,它本质上就是一个三选一数据选择器。本设计采用一个进程来完成,但由于三个被选择的数据只有一个来自输入端口,因此另两个被选择的数据则通过在进程的说明部分定义两个常数来产生。由于用于显示“8888”的常数ALL-8需分解成4个8,分别经过四个47译码器译码后才是真正的显示驱动信息编码,因此该常数应是4个分段的是4位BCD码,故应设为“01000”。 同理,显示“
8、donE”的常数DONE可设为“01101”,其中d、o、n、E的BCD码分别为:“1010”、“1011”、“1100”、“1101”。该模块的主要程序如下:图5 ZZQ的输入输出端口PROCESS(DATA1,LD_8888.LD_CLK.LD_DONE)ISCONSTANT ALL_8:STD_LOGIC_VECTOR(15 DOWNTO 0):=01000; CONSTANT DONE:STD_LOGIC_VECTOR(15 DOWNTO 0):=01101; VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN LOADDATA2DATA
9、2DATA2NULL; END CASE;END PROCESS;4烹调计时器JSQ的设计烹调计时器JSQ为减数计时器,其最大计时时间为59:59。因此我们可用两个减计数十进制计数器DCNT10和两个减计数六进制计数器DCNT6级联构成。JSQ的内部组成原理如图6所示。图6 JSQ的内部组成原理图5.显示译码器YMQ47的设计本显示译码器YMQ47不但要对数字09进行显示译码,还要对字母d、o、n、E进行显示译码,其译码对照表如表1所示。表1 YMQ47的译码对照表显示的数字或字母BCD编码七段显示驱动编码(ga)0000010001200103001140100501016011070111
10、8100091001d1010o1011n1100E1101三主要VHDL源程序1状态控制器KZQ的VHDL源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY KZQ IS PORT(RESET,SET_T,START,TEST,CLK,DONE:IN STD_LOGIC; COOK,LD_8888,LD_CLK,LD_DONE:OUT STD_LOGIC);END ENTITY KZQ;ARCHITECTURE ART OF KZQ IS TYPE STATE_TYPE IS(IDLE
11、,LAMP_TEST,SET_CLOCK,TIMER,DONE_MSG); SIGNAL NXT_STATE,CURR_STATE:STATE_TYPE; BEGIN PROCESS(CLK,RESET)IS BEGINIF 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 BEGIN NXT_STATE=IDLE; -DEFAULT NEX STA
12、TE IS IDLE LD_8888=0; LD_DONE=0; LD_CLK=0; COOKLD_8888=1;COOKLD_CLK=1;COOKLD_DONE=0;COOK IF(TEST=1)THEN NXT_STATE=LAMP_TEST; LD_8888=1; ELSIF SET_T=1THEN NXT_STATE=SET_CLOCK; LD_CLK=1; ELSIF (START=1)AND(DONE=0)THEN NXT_STATE=TIMER; COOK IF DONE=1THEN NXT_STATE=DONE_MSG; LD_DONE=1; ELSE NXT_STATE=TI
13、MER; COOK=1; END IF; END CASE; END PROCESS;END ARCHITECTURE ART;2数据装载器ZZQ的VHDL源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY ZZQ IS PORT(DATA1:IN STD_LOGIC_VECTOR(15 DOWNTO 0); LD_8888:IN STD_LOGIC; LD_CLK:IN STD_LOGIC; LD_DONE:IN STD_LOGIC; DATA2:OUT STD_LOGIC_VECTO
14、R(15 DOWNTO 0); LOAD:OUT STD_LOGIC);END ENTITY ZZQ;ARCHITECTURE ART OF ZZQ IS BEGIN PROCESS(DATA1,LD_8888,LD_CLK,LD_DONE)IS CONSTANT ALL_8:STD_LOGIC_VECTOR(15 DOWNTO 0):=01000; CONSTANT DONE:STD_LOGIC_VECTOR(15 DOWNTO 0):=01101; VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN LOADDATA2DATA2DATA2NU
15、LL; END CASE; END PROCESS;3烹调计时器JSQ的VHDL源程序-DCNT10.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DCNT10 IS PORT(CLK:IN STD_LOGIC; LOAD:IN STD_LOGIC; ENA:IN STD_LOGIC; DATAIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT:OUT STD_L
16、OGIC);END ENTITY DCNT10ARCHITECTURE ART OF DCNT10 IS SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,LOAD,ENA)IS BEGIN IF LOAD=1 THEN CQI=DATAIN; ELSIF CLKEVENT AND CLK=1 THEN IF ENA=1 THEN IF CQI=000 THEN CQI=1001; ELSE CQI=CQI-1;END IF; END IF; END IF; END PROCESS; PROCESS(CLK,CQI)IS BE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微波炉 控制器 设计 分析
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内