微波炉控制器的设计与分析_第1页
微波炉控制器的设计与分析_第2页
微波炉控制器的设计与分析_第3页
微波炉控制器的设计与分析_第4页
微波炉控制器的设计与分析_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

微波炉控制器的设计与分析第1页,共56页,2023年,2月20日,星期四5.1系统设计要求现需设计一个微波炉控制器WBLKZQ,其外部接口如图5.1所示。通过该控制器再配以4个七段数码二极管完成微波炉的定时及信息显示。第2页,共56页,2023年,2月20日,星期四图5.1微波炉控制器外部接口符号图第3页,共56页,2023年,2月20日,星期四图5.1中的各信号的功能及要求如下:

CLK是秒时钟脉冲输入,它接收每秒一个时钟脉冲的节拍信号。RESET为复位信号,高电平有效,用于芯片的复位功能。TEST为测试信号,高电平有效,用于测试4个七段数码二极管工作是否正常。第4页,共56页,2023年,2月20日,星期四5.2系统设计方案

5.2.1微波炉控制器的总体设计方案

根据该微波炉控制器的功能设计要求,本系统可由以下4个模块组成:①状态控制器KZQ;②数据装载器ZZQ;③烹调计时器JSQ;④显示译码器YMQ47。其内部组成原理图如图5.2所示。第5页,共56页,2023年,2月20日,星期四图5.2微波炉控制器WBLKZQ的内部组成原理图第6页,共56页,2023年,2月20日,星期四

(1)状态控制器KZQ的功能是控制微波炉工作过程中的状态转换,并发出有关控制信息;输入信号为CLK、TEST、START、SET_T、RESET和DONE,输出信号为LD_DONE、LD_CLK、LD_8888和COOK信号。

(2)数据装载器ZZQ的功能是根据KZQ发出的控制信号选择定时时间、测试数据或烹调完成信息的装入。第7页,共56页,2023年,2月20日,星期四

(3)计时器JSQ的功能是负责烹调过程中的时间递减计数,并提供烹调完成时的状态信号供KZQ产生烹调完成信号。

(4)显示译码器YMQ47的功能就是负责将各种显示信息的BCD转换成七段数码管显示的驱动信息编码。需要译码的信息有:数字0~9,字母d、o、n、E。第8页,共56页,2023年,2月20日,星期四

5.2.2状态控制器KZQ的设计状态控制器KZQ的功能是控制微波炉工作过程中的状态转换,并发出有关控制信息,因此我们可用一个状态机来实现它。经过对微波炉工作过程中的状态转换条件及输出信号进行分析,我们可得到其状态转换图如图5.3所示,其输入、输出端口如图5.4所示。第9页,共56页,2023年,2月20日,星期四图5.3KZQ的状态转换图第10页,共56页,2023年,2月20日,星期四图5.4KZQ的输入、输出端口图第11页,共56页,2023年,2月20日,星期四

5.2.3数据装载器ZZQ的设计

ZZQ的输入、输出端口如图5.5所示,根据其应完成的逻辑功能,它本质上就是一个三选一数据选择器。本设计采用一个进程来完成,但由于三个被选择的数据只有一个来自输入端口,因此另两个被选择的数据则通过在进程的说明部分定义两个常数来产生。

第12页,共56页,2023年,2月20日,星期四图5.5ZZQ的输入、输出端口图第13页,共56页,2023年,2月20日,星期四PROCESS(DATA1,LD_8888,LD_CLK,LD_DONE)ISCONSTANTALL_8:STD_LOGIC_VECTOR(15DOWNTO0):="1000100010001000";CONSTANTDONE:STD_LOGIC_VECTOR(15DOWNTO0):="1010101111001101";VARIABLETEMP:STD_LOGIC_VECTOR(2DOWNTO0);BEGINLOAD<=LD_8888ORLD_DONEORLD_CLK;第14页,共56页,2023年,2月20日,星期四TEMP:=LD_8888&LD_DONE&LD_CLK;CASETEMPISWHEN"100"=>DATA2<=ALL_8; --LOAD_8888=1WHEN"010"=>DATA2<=DONE; --LOAD_DONE=1WHEN"001"=>DATA2<=DATA1; --LOAD_CLK=1WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;第15页,共56页,2023年,2月20日,星期四

5.2.4烹调计时器JSQ的设计烹调计时器JSQ为减数计数器,其最大计时时间为59:59。因此我们可用两个减计数十进制计数器DCNT10和两个减计数六进制计数器DCNT6级联构成。JSQ的内部组成原理如图5.6所示。第16页,共56页,2023年,2月20日,星期四图5.6JSQ的内部组成原理图第17页,共56页,2023年,2月20日,星期四

5.2.5显示译码器YMQ47的设计本显示译码器YMQ47不但要对数字0~9进行显示译码,还要对字母d、o、n、E进行显示译码,其译码对照表如表5.1所示。第18页,共56页,2023年,2月20日,星期四表5.1YMQ47的译码对照表第19页,共56页,2023年,2月20日,星期四5.3主要VHDL源程序5.3.1状态控制器KZQ的VHDL源程序--KZQ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYKZQISPORT(RESET,SET_T,START,TEST,CLK,DONE:INSTD_LOGIC;第20页,共56页,2023年,2月20日,星期四

COOK,LD_8888,LD_CLK,LD_DONE:OUTSTD_LOGIC);ENDENTITYKZQ;ARCHITECTUREARTOFKZQISTYPESTATE_TYPEIS(IDLE,LAMP_TEST,SET_CLOCK,TIMER,DONE_MSG);SIGNALNXT_STATE,CURR_STATE:STATE_TYPE;BEGINPROCESS(CLK,RESET)ISBEGINIFRESET='1'THEN第21页,共56页,2023年,2月20日,星期四

CURR_STATE<=IDLE;ELSIFCLK'EVENTANDCLK='1'THENCURR_STATE<=NXT_STATE;ENDIF;ENDPROCESS;PROCESS(CLK,CURR_STATE,SET_T,START,TEST,DONE)ISBEGINNXT_STATE<=IDLE;--DEFAULTNEXTSTATEISIDLE;第22页,共56页,2023年,2月20日,星期四

LD_8888<='0';LD_DONE<='0';LD_CLK<='0';COOK<='0';CASECURR_STATEISWHENLAMP_TEST=>LD_8888<='1';COOK<='0';WHENSET_CLOCK=>LD_CLK<='1';COOK<='0';WHENDONE_MSG=>LD_DONE<='1';COOK<='0';WHENIDLE=>IF(TEST='1')THENNXT_STATE<=LAMP_TEST;第23页,共56页,2023年,2月20日,星期四

LD_8888<='1';ELSIFSET_T='1'THENNXT_STATE<=SET_CLOCK;LD_CLK<='1';ELSIF((START='1')AND(DONE='0'))THENNXT_STATE<=TIMER;COOK<='1';ENDIF;WHENTIMER=>IFDONE='1'THENNXT_STATE<=DONE_MSG;LD_DONE<='1';第24页,共56页,2023年,2月20日,星期四

ELSENXT_STATE<=TIMER;COOK<='1';ENDIF;ENDCASE;ENDPROCESS;ENDARCHITECTUREART;第25页,共56页,2023年,2月20日,星期四5.3.2数据装载器ZZQ的VHDL源程序--ZZQ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYZZQISPORT(DATA1:INSTD_LOGIC_VECTOR(15DOWNTO0);LD_8888:INSTD_LOGIC;LD_CLK:INSTD_LOGIC;LD_DONE:INSTD_LOGIC;第26页,共56页,2023年,2月20日,星期四

DATA2:OUTSTD_LOGIC_VECTOR(15DOWNTO0);LOAD:OUTSTD_LOGIC);ENDENTITYZZQ;ARCHITECTUREARTOFZZQISBEGINPROCESS(DATA1,LD_8888,LD_CLK,LD_DONE)ISCONSTANTALL_8:STD_LOGIC_VECTOR(15DOWNTO0):="1000100010001000";CONSTANTDONE:STD_LOGIC_VECTOR(15DOWNTO0):="1010101111001101";第27页,共56页,2023年,2月20日,星期四VARIABLETEMP:STD_LOGIC_VECTOR(2DOWNTO0);BEGINLOAD<=LD_8888ORLD_DONEORLD_CLK;TEMP:=LD_8888&LD_DONE&LD_CLK;CASETEMPISWHEN"100"=>DATA2<=ALL_8; --LOAD_8888=1WHEN"010"=>DATA2<=DONE; --LOAD_DONE第28页,共56页,2023年,2月20日,星期四WHEN"001"=>DATA2<=DATA1; --LOAD_CLKWHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREART;第29页,共56页,2023年,2月20日,星期四5.3.3烹调计时器JSQ的VHDL源程序--DCNT10.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDCNT10ISPORT(CLK:INSTD_LOGIC;LOAD:INSTD_LOGIC;ENA:INSTD_LOGIC;DATAIN:INSTD_LOGIC_VECTOR(3DOWNTO0);CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CARRY_OUT:OUTSTD_LOGIC);第30页,共56页,2023年,2月20日,星期四ENDENTITYDCNT10;ARCHITECTUREARTOFDCNT10ISSIGNALCQI:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK,LOAD,ENA)ISBEGINIFLOAD='1'THENCQI<=DATAIN;ELSIFCLK'EVENTANDCLK='1'THEN第31页,共56页,2023年,2月20日,星期四IFENA='1'THENIFCQI="0000"THENCQI<="1001";ELSECQI<=CQI-'1';ENDIF;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK,CQI)ISBEGINIFCLK'EVENTANDCLK='1'THENIFCQI="0000"THENCARRY_OUT<='1';第32页,共56页,2023年,2月20日,星期四

ELSECARRY_OUT<='0';ENDIF;ENDIF;ENDPROCESS;CQ<=CQI;ENDARCHITECTUREART;

--DCNT6.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;第33页,共56页,2023年,2月20日,星期四ENTITYDCNT6ISPORT(CLK:INSTD_LOGIC;LOAD:INSTD_LOGIC;ENA:INSTD_LOGIC;DATAIN:INSTD_LOGIC_VECTOR(3DOWNTO0);CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CARRY_OUT:OUTSTD_LOGIC);ENDENTITYDCNT6;ARCHITECTUREARTOFDCNT6IS第34页,共56页,2023年,2月20日,星期四SIGNALCQI:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK,LOAD,ENA)ISBEGINIFLOAD='1'THENCQI<=DATAIN;ELSIFCLK'EVENTANDCLK='1'THENIFENA='1'THENIFCQI="0000"THENCQI<="0101";ELSECQI<=CQI-'1';ENDIF;ENDIF;ENDIF;第35页,共56页,2023年,2月20日,星期四ENDPROCESS;PROCESS(CLK,CQI)ISBEGINIFCLK'EVENTANDCLK='1'THENIFCQI="0000"THENCARRY_OUT<='1';ELSECARRY_OUT<='0';ENDIF;ENDIF;ENDPROCESS;CQ<=CQI;ENDARCHITECTUREART;第36页,共56页,2023年,2月20日,星期四--JSQ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYJSQISPORT(COOK:INSTD_LOGIC;DATA3:INSTD_LOGIC_VECTOR(15DOWNTO0);LOAD:INSTD_LOGIC;第37页,共56页,2023年,2月20日,星期四

CLK:INSTD_LOGIC;SEC_L:OUTSTD_LOGIC_VECTOR(3TO0);SEC_H:OUTSTD_LOGIC_VECTOR(3TO0);MIN_L:OUTSTD_LOGIC_VECTOR(3TO0);MIN_H:OUTSTD_LOGIC_VECTOR(3TO0);DONE:OUTSTD_LOGIC);ENDENTITYJSQ;ARCHITECTUREARTOFJSQISCOMPONENTDCNT10ISPORT(CLK,LOAD,ENA:INSTD_LOGIC;第38页,共56页,2023年,2月20日,星期四DATAIN:INSTD_LOGIC_VECTOR(3DOWNTO0);CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CARRY_OUT:OUTSTD_LOGIC);ENDCOMPONENTDCNT10;COMPONENTDCNT6ISPORT(CLK,LOAD,ENA:INSTD_LOGIC;DATAIN:INSTD_LOGIC_VECTOR(3DOWNTO0);CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CARRY_OUT:OUTSTD_LOGIC);第39页,共56页,2023年,2月20日,星期四

ENDCOMPONENTDCNT6;SIGNALNEWCLK:STD_LOGIC;SIGNALS1:STD_LOGIC;SIGNALS2:STD_LOGIC;SIGNALS3:STD_LOGIC;SIGNALS4:STD_LOGIC;BEGIN第40页,共56页,2023年,2月20日,星期四U1:DCNT10PORTMAP(CLK,LOAD,COOK,DATA3(3DOWNTO0),SEC_L,S1);U2:DCNT6PORTMAP(S1,LOAD,COOK,DATA3(7DOWNTO4),SEC_H,S2);U3:DCNT10PORTMAP(S2,LOAD,COOK,DATA3(11DOWNTO8),MIN_L,S3);U4:DCNT6PORTMAP(S3,LOAD,COOK,DATA3(15DOWNTO12),MIN_H,S4);DONE<=S1ANDS2ANDS3ANDS4;ENDARCHITECTUREART;第41页,共56页,2023年,2月20日,星期四5.3.4显示译码器YMQ47的VHDL源程序--YMQ47.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYYMQ47ISPORT(AIN4:INSTD_LOGIC_VECTOR(3DOWNTO0);DOUT7:OUTSTD_LOGIC_VECTOR(6DOWNTO0));第42页,共56页,2023年,2月20日,星期四ENDENTITYYMQ47;ARCHITECTUREARTOFYMQ47ISBEGINPROCESS(AIN4)BEGINCASEAIN4ISWHEN"0000"=>DOUT7<="0111111"; --显示0的g~aWHEN"0001"=>DOUT7<="0000110"; --1WHEN"0010"=>DOUT7<="1011011"; --2WHEN"0011"=>DOUT7<="1001111"; --3WHEN"0100"=>DOUT7<="1100110"; --4第43页,共56页,2023年,2月20日,星期四

WHEN"0101"=>DOUT7<="1101101"; --5WHEN"0110"=>DOUT7<="1111101"; --6WHEN"0111"=>DOUT7<="0000111"; --7WHEN"1000"=>DOUT7<="1111111"; --8WHEN"1001"=>DOUT7<="1101111"; --9WHEN"1010"=>DOUT7<="1011110"; --dWHEN"1011"=>DOUT7<="1011100"; --oWHEN"1100"=>DOUT7<="1010100"; --nWHEN"1101"=>DOUT7<="1111001"; --EWHENOTHERS=>DOUT7<="0000000";ENDCASE;ENDPROCESS;ENDARCHITECTUREART;第44页,共56页,2023年,2月20日,星期四

5.3.5微波炉控制器WBLKZQ的VHDL源程序请读者根据图5.2微波炉控制器WBLKZQ的内部组成原理图自行完成。第45页,共56页,2023年,2月20日,星期四

5.4系统仿真/硬件验证

5.4.1系统的有关仿真状态控制器KZQ、数据装载器ZZQ和烹调计时器JSQ的

温馨提示

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

评论

0/150

提交评论