《第微波炉控制器的设计与分析.pptx》由会员分享,可在线阅读,更多相关《第微波炉控制器的设计与分析.pptx(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1第第 微波炉控制器的设计微波炉控制器的设计(shj)与分析与分析第一页,共56页。图5.1 微波炉控制器外部接口(ji ku)符号图 第1页/共55页第二页,共56页。n n 图5.1中的各信号的功能及要求如下:n n CLK是秒时钟脉冲输入,它接收每秒一个时钟脉冲的节拍信号。RESET为复位信号,高电平有效,用于芯片的复位功能。TEST为测试(csh)信号,高电平有效,用于测试(csh)4个七段数码二极管工作是否正常。第2页/共55页第三页,共56页。5.2 系统系统(xtng)设计方案设计方案 n n 5.2.1 微波炉控制器的总体设计方案n n 根据该微波炉控制器的功能设计要求,
2、本系统可由以下4个模块组成:状态控制器KZQ;数据装载器ZZQ;烹调(pngtio)计时器JSQ;显示译码器YMQ47。其内部组成原理图如图5.2所示。第3页/共55页第四页,共56页。图5.2 微波炉控制器WBLKZQ的内部(nib)组成原理图 第4页/共55页第五页,共56页。n n (1)状态控制器KZQ的功能是控制微波炉工作过程中的状态转换,并发出有关控制信息;输入信号为CLK、TEST、START、SET_T、RESET和DONE,输出信号为LD_DONE、LD_CLK、LD_8888和COOK信号。n n (2)数据装载器ZZQ的功能是根据KZQ发出的控制信号选择定时时间(shji
3、n)、测试数据或烹调完成信息的装入。第5页/共55页第六页,共56页。n n (3)计时器JSQ的功能是负责烹调过程中的时间递减计数,并提供烹调完成时的状态(zhungti)信号供KZQ产生烹调完成信号。n n (4)显示译码器YMQ47的功能就是负责将各种显示信息的BCD转换成七段数码管显示的驱动信息编码。需要译码的信息有:数字09,字母d、o、n、E。第6页/共55页第七页,共56页。n n 5.2.2 状态控制(kngzh)器KZQ的设计n n 状 态 控 制(kngzh)器KZQ的功能是控制(kngzh)微波炉工作过程中的状态转换,并发出有关控制(kngzh)信息,因此我们可用一个状态
4、机来实现它。经过对微波炉工作过程中的状态转换条件及输出信号进行分析,我们可得到其状态转换图如图5.3所示,其输入、输出端口如图5.4所示。第7页/共55页第八页,共56页。图5.3 KZQ的状态(zhungti)转换图 第8页/共55页第九页,共56页。图5.4 KZQ的输入(shr)、输出端口图 第9页/共55页第十页,共56页。n n 5.2.3 数据装载器ZZQ的设计n n ZZQ的输入、输出端口如图5.5所示,根据其应完成的逻辑功能,它本质上就是一个三选一数据选择器。本设计采用一个进程来完成,但由于三 个 被 选 择 的 数 据 只 有(zhyu)一个来自输入端口,因此另两个被选择的数
5、据则通过在进程的说明部分定义两个常数来产生。第10页/共55页第十一页,共56页。图5.5 ZZQ的输入(shr)、输出端口图 第11页/共55页第十二页,共56页。n nPROCESS(DATA1,LD_8888,LD_CLK,LD_DONE)ISn n CONSTANT ALL_8:STD_LOGIC_VECTOR(15 DOWNTO 0):=1000100010001000;n n CONSTANT DONE:STD_LOGIC_VECTOR(15 DOWNTO 0):=1010101111001101;n n VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNT
6、O 0);n n BEGINn n LOAD DATA2 DATA2 DATA2 DATA2 DATA2 DATA2 NULL;WHEN OTHERS=NULL;n n END CASE;END CASE;n nEND PROCESS;END PROCESS;第13页/共55页第十四页,共56页。n n 5.2.4 烹调计时器JSQ的设计(shj)n n 烹调计时器JSQ为减数计数器,其最大计时时间为59:59。因此我们可用两个减计数十进制计数器DCNT10和两个 减 计 数 六 进 制 计 数 器DCNT6级联构成。JSQ的内部组成原理如图5.6所示。第14页/共55页第十五页,共56页。图
7、5.6 JSQ的内部(nib)组成原理图 第15页/共55页第十六页,共56页。n n 5.2.5 显示(xinsh)译码器YMQ47的设计n n 本显示(xinsh)译码器YMQ47不但要对数字09进行显示(xinsh)译码,还要对字 母 d、o、n、E进 行 显 示(xinsh)译码,其译码对照表如表5.1所示。第16页/共55页第十七页,共56页。表5.1 YMQ47的译码对照表 第17页/共55页第十八页,共56页。5.3 主要主要(zhyo)VHDL源程序源程序n n5.3.1 状态(zhungti)控制器KZQ的VHDL源程序n n-KZQ.VHDn nLIBRARY IEEE;n
8、 nUSE IEEE.STD_LOGIC_1164.ALL;n nUSE IEEE.STD_LOGIC_ARITH.ALL;n nENTITY KZQ ISn n PORT(RESET,SET_T,START,TEST,CLK,DONE:IN STD_LOGIC;第18页/共55页第十九页,共56页。n n COOK COOK,LD_8888LD_8888,LD_CLKLD_CLK,LD_DONE:OUT STD_LOGIC);LD_DONE:OUT STD_LOGIC);n nEND ENTITY KZQ;END ENTITY KZQ;n nARCHITECTURE ART OF KZQ I
9、SARCHITECTURE ART OF KZQ ISn n TYPE TYPE STATE_TYPE STATE_TYPE IS(IDLEIS(IDLE,LAMP_TESTLAMP_TEST,SET_CLOCKSET_CLOCK,TIMERTIMER,DONE_MSG);DONE_MSG);n n SIGNAL NXT_STATE SIGNAL NXT_STATE,CURR_STATE:STATE_TYPE;CURR_STATE:STATE_TYPE;n n BEGIN BEGINn n PROCESS(CLK PROCESS(CLK,RESET)ISRESET)ISn n BEGIN BE
10、GINn n IF RESET=1 THEN IF RESET=1 THEN第19页/共55页第二十页,共56页。n n CURR_STATE=IDLE;n n ELSIF CLKEVENT AND CLK=1 THENn n CURR_STATE=NXT_STATE;n n END IF;n n END PROCESS;n n PROCESS(CLK,CURR_STATE,SET_T,START,TEST,DONE)ISn n BEGINn n NXT_STATE=IDLE;-DEFAULT NEXT STATE IS IDLE;第20页/共55页第二十一页,共56页。n n LD_8888
11、=0;LD_8888=0;n n LD_DONE=0;LD_DONE=0;n n LD_CLK=0;LD_CLK=0;n n COOK=0;COOK LD_8888=1;COOK LD_8888=1;COOK LD_CLK=1;COOK LD_CLK=1;COOK LD_DONE=1;COOK LD_DONE=1;COOK WHEN IDLE=n n IF(TEST=1)THEN IF(TEST=1)THEN n n NXT_STATE=LAMP_TEST;NXT_STATE=LAMP_TEST;第21页/共55页第二十二页,共56页。n n LD_8888=1;LD_8888=1;n n E
12、LSIF SET_T=1 THEN ELSIF SET_T=1 THENn n NXT_STATE=SET_CLOCK;NXT_STATE=SET_CLOCK;n n LD_CLK=1;LD_CLK=1;n n ELSIF (START=1)AND(DONE=0)THEN ELSIF (START=1)AND(DONE=0)THENn n NXT_STATE=TIMER;NXT_STATE=TIMER;n n COOK=1;COOK WHEN TIMER=n n IF DONE=1 THEN IF DONE=1 THENn n NXT_STATE=DONE_MSG;NXT_STATE=DONE
13、_MSG;n n LD_DONE=1;LD_DONE=1;第22页/共55页第二十三页,共56页。n n ELSE n n NXT_STATE=TIMER;n n COOK=1;n n END IF;n n END CASE;n n END PROCESS;n nEND ARCHITECTURE ART;第23页/共55页第二十四页,共56页。n n5.3.2 数据(shj)装载器ZZQ的VHDL源程序n n-ZZQ.VHDn nLIBRARY IEEE;n nUSE IEEE.STD_LOGIC_1164.ALL;n nUSE IEEE.STD_LOGIC_ARITH.ALL;n nENTI
14、TY ZZQ ISn n PORT(DATA1:IN STD_LOGIC_VECTOR(15 DOWNTO 0);n n LD_8888:IN STD_LOGIC;n n LD_CLK:IN STD_LOGIC;n n LD_DONE:IN STD_LOGIC;第24页/共55页第二十五页,共56页。n n DATA2:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);n n LOAD:OUT STD_LOGIC);n nEND ENTITY ZZQ;n nARCHITECTURE ART OF ZZQ ISn n BEGINn n PROCESS(DATA1,LD_8888
15、,LD_CLK,LD_DONE)ISn n CONSTANT ALL_8:STD_LOGIC_VECTOR(15 DOWNTO 0):=1000100010001000;n n CONSTANT DONE:STD_LOGIC_VECTOR(15 DOWNTO 0):=1010101111001101;第25页/共55页第二十六页,共56页。n nVARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0);n n BEGINn n LOAD DATA2 DATA2 DATA2 NULL;n n END CASE;n n END PROCESS;n nEND ARCHIT
16、ECTURE ART;第27页/共55页第二十八页,共56页。n n5.3.3 烹调(pngtio)计时器JSQ的VHDL源程序n n-DCNT10.VHDn nLIBRARY IEEE;n nUSE IEEE.STD_LOGIC_1164.ALL;n nUSE IEEE.STD_LOGIC_UNSIGNED.ALL;n nENTITY DCNT10 ISn n PORT(CLK:IN STD_LOGIC;n n LOAD:IN STD_LOGIC;n n ENA:IN STD_LOGIC;n n DATAIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);n n CQ:OU
17、T STD_LOGIC_VECTOR(3 DOWNTO 0);n n CARRY_OUT:OUT STD_LOGIC);第28页/共55页第二十九页,共56页。n nEND ENTITY DCNT10;n nARCHITECTURE ART OF DCNT10 ISn n SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);n n BEGINn n PROCESS(CLK,LOAD,ENA)ISn n BEGINn n IF LOAD=1 THEN n n CQI=DATAIN;n n ELSIF CLKEVENT AND CLK=1 THEN第29页/共55页第三
18、十页,共56页。n nIF ENA=1 THENn n IF CQI=0000 THEN CQI=1001;n n ELSE CQI=CQI-1;END IF;n n END IF;n n END IF;n n END PROCESS;n n PROCESS(CLK,CQI)ISn n BEGINn n IF CLKEVENT AND CLK=1 THEN n n IF CQI=0000 THEN CARRY_OUT=1;第30页/共55页第三十一页,共56页。n n ELSE CARRY_OUT=0;END IF;n n END IF;n n END PROCESS;n n CQ=CQI;n
19、 nEND ARCHITECTURE ART;n nn n-DCNT6.VHDn nLIBRARY IEEE;n nUSE IEEE.STD_LOGIC_1164.ALL;n nUSE IEEE.STD_LOGIC_UNSIGNED.ALL;第31页/共55页第三十二页,共56页。n nENTITY DCNT6 ISn n PORT(CLK:IN STD_LOGIC;n n LOAD:IN STD_LOGIC;n n ENA:IN STD_LOGIC;n n DATAIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);n n CQ:OUT STD_LOGIC_VECTOR(3
20、 DOWNTO 0);n n CARRY_OUT:OUT STD_LOGIC);n nEND ENTITY DCNT6;n nARCHITECTURE ART OF DCNT6 IS第32页/共55页第三十三页,共56页。n nSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);n n BEGIN BEGINn n PROCESS(CLK PROCESS(CLK,LOADLOAD,ENA)ISENA)ISn n BEGIN BEGINn n IF LOAD=1 THEN IF LOAD=
21、1 THEN n n CQI=DATAIN;CQI=DATAIN;n n ELSIF CLKEVENT AND CLK=1 THEN ELSIF CLKEVENT AND CLK=1 THENn n IF ENA=1 THEN IF ENA=1 THENn n IF CQI=0000 THEN CQI=0101;IF CQI=0000 THEN CQI=0101;n n ELSE CQI=CQI-1;END IF;ELSE CQI=CQI-1;END IF;n n END IF;END IF;n n END IF;END IF;第33页/共55页第三十四页,共56页。n nEND PROCES
22、S;n n PROCESS(CLK,CQI)ISn n BEGINn n IF CLKEVENT AND CLK=1 THEN n n IF CQI=0000 THEN CARRY_OUT=1;n n ELSE CARRY_OUT=0;END IF;n n END IF;n n END PROCESS;n n CQ=CQI;n nEND ARCHITECTURE ART;第34页/共55页第三十五页,共56页。n n-JSQ.VHDn nLIBRARY IEEE;n nUSE IEEE.STD_LOGIC_1164.ALL;n nUSE IEEE.STD_LOGIC_UNSIGNED.ALL;
23、n nUSE IEEE.STD_LOGIC_ARITH.ALL;n nENTITY JSQ ISn n PORT(COOK:IN STD_LOGIC;n n DATA3:IN STD_LOGIC_VECTOR(15 DOWNTO 0);n n LOAD:IN STD_LOGIC;第35页/共55页第三十六页,共56页。n n CLK:IN STD_LOGIC;n n SEC_L:OUT STD_LOGIC_VECTOR(3 TO 0);n n SEC_H:OUT STD_LOGIC_VECTOR(3 TO 0);n n MIN_L:OUT STD_LOGIC_VECTOR(3 TO 0);n
24、n MIN_H:OUT STD_LOGIC_VECTOR(3 TO 0);n n DONE:OUT STD_LOGIC);n nEND ENTITY JSQ;n nARCHITECTURE ART OF JSQ ISn n COMPONENT DCNT10 ISn n PORT(CLK,LOAD,ENA:IN STD_LOGIC;第36页/共55页第三十七页,共56页。n nDATAIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);n n CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);n n CARRY_OUT:OUT STD_LOGIC);n n
25、 END COMPONENT DCNT10;n n COMPONENT DCNT6 ISn n PORT(CLK,LOAD,ENA:IN STD_LOGIC;n n DATAIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);n n CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);n n CARRY_OUT:OUT STD_LOGIC);第37页/共55页第三十八页,共56页。n n END COMPONENT DCNT6;n n SIGNAL NEWCLK:STD_LOGIC;n n SIGNAL S1:STD_LOGIC;n n SIGNAL S2
26、:STD_LOGIC;n n SIGNAL S3:STD_LOGIC;n n SIGNAL S4:STD_LOGIC;n n BEGIN第38页/共55页第三十九页,共56页。n nU1:DCNT10 PORT MAP(CLKU1:DCNT10 PORT MAP(CLK,LOADLOAD,COOKCOOK,DATA3(3 DOWNTO 0)DATA3(3 DOWNTO 0),SEC_LSEC_L,S1);S1);n n U2:DCNT6 PORT MAP(S1 U2:DCNT6 PORT MAP(S1,LOADLOAD,COOKCOOK,DATA3(7 DOWNTO 4)DATA3(7 DOW
27、NTO 4),SEC_HSEC_H,S2);S2);n n U3:DCNT10 PORT MAP(S2 U3:DCNT10 PORT MAP(S2,LOADLOAD,COOKCOOK,DATA3(11 DOWNTO 8)DATA3(11 DOWNTO 8),MIN_LMIN_L,S3);S3);n n U4:DCNT6 PORT MAP(S3 U4:DCNT6 PORT MAP(S3,LOADLOAD,COOKCOOK,DATA3(15 DOWNTO 12)DATA3(15 DOWNTO 12),MIN_HMIN_H,S4);S4);n n DONE=S1 AND S2 AND S3 AND
28、S4;DONEDOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7=0000000;n n END CASE;END CASE;n n END PROCESS;END PROCESS;n nEND ARCHITECTURE ART;END ARCHITECTURE ART;第42页/共55页第四十三页,共56页。n n 5.3.5 微 波 炉 控 制 器WBLKZQ的VHDL源程序n n 请读者根据
29、图5.2微波炉 控 制 器 WBLKZQ的 内 部(nib)组成原理图自行完成。第43页/共55页第四十四页,共56页。5.4 系系统统仿仿真真/硬硬件件(yn jin)验证验证 n n 5.4.1 系统的有关(yugun)仿真n n 状态控制器KZQ、数据装载器ZZQ和烹调计时器JSQ的仿真分别如图5.7、图5.8和图5.9所示。第44页/共55页第四十五页,共56页。图5.7 状态(zhungti)控制器KZQ的仿真图 第45页/共55页第四十六页,共56页。图5.8 数据(shj)装载器ZZQ的仿真图 第46页/共55页第四十七页,共56页。图5.9 烹调(pngtio)计时器JSQ的仿
30、真图 第47页/共55页第四十八页,共56页。n n 经过对图5.7图5.9进行分析,我们可以(ky)看出KZQ、ZZQ、JSQ的设计是正确的。其他未仿真的模块请读者自行完成并进行分析。第48页/共55页第四十九页,共56页。n n 5.4.2 系 统 的 硬 件 验 证(ynzhng)n n 请读者根据自己所拥有的实验设备自行完成。第49页/共55页第五十页,共56页。5.5 设计设计(shj)技巧分析技巧分析n n (1)在状态控制器KZQ中,利用状态机的设计方法简化了设计。n n (2)在数据装载(zhungzi)器ZZQ的设计中,利用三个装载(zhungzi)信号的组合LD_8888&
31、LD_DONE&LD_CLK赋给变量TEMP,巧妙地解决了装载(zhungzi)数据的选择问题。n n 第50页/共55页第五十一页,共56页。n n (3)在烹调计时器JSQ的设计中,利用两个减法十进制计数器和两个减法六进制计数器的串级组合,非常简便地实现(shxin)了5959数之间的计时和初始数据的装载。第51页/共55页第五十二页,共56页。5.6 系统系统(xtng)扩展思路扩展思路n n (1)本微波炉控制器要求系统时钟(shzhng)CLK固定为1 Hz,而预置时间数据输入总线DATA0位数太多(为16位),因此我们可对该系统进行改进,增加一个分频电路FPQ和一个“虚拟式”按键预置数据输入电路YZDL(如图5.10所示),以使系统的通用性更好写。第52页/共55页第五十三页,共56页。图5.10 微波炉控制器WBLKZQ扩充(kuchng)后的内部组成原理图第53页/共55页第五十四页,共56页。n n (2)设计外围电路(dinl):系统用方波信号源,直流工作电源。n n (3)若为毕业设计,可要求设计调试程序、外围电路(dinl)等,还可要求设计制作整个系统,包括PCB的制作。第54页/共55页第五十五页,共56页。感谢您的观看感谢您的观看(gunkn)!第55页/共55页第五十六页,共56页。