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

下载本文档

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

文档简介

江西理工大学应用科学学院SOPC/EDA综合课程设计报告设计题目微波炉控制器的设计设计者学号班级指导老师王忠锋完成时间2012年1月6日设计报告综合测试总评格式(10)内容40图表(10)答辩(20)平时(20)SOPC/EDA综合课程设计报告1第一章微波炉定时控制器的设计方案分析311系统设计的要求312系统总体功能描述313各模块的功能实现4第二章微波炉定时控制器的设计步骤521状态控制器的设计5211CONTROLLOR状态换图及端口图522数据装载器LOADER的设计623烹调计时器COUNTER的设计6231烹调计时器的内部组成原理图724显示译码器YMQ47的设计725锁存器的设计8第三章微波炉控制器的VHDL源程序931状态控制电路VHDL实现932数据装载电路的VHDL实现1133计时电路的VHDL实现1234六进制减法计数器1335计时电路模块设计1436顶层模块的VHDL实现1637显示译码YMQ47的VHDL实现1838锁存SCQ的VHDL实现19第四章总体原理图1941总体功能的顶层原理图19第五章系统功能的仿真验证2151状态控制电路仿真波形图2152数据装载电路的仿真2153计时电路仿真2254微波炉控制器显示仿真2355SCQ的仿真图2356总体功能的仿真分析24结束语25参考文献26第一章微波炉定时控制器的设计方案分析11系统设计的要求现需设计一个微波炉控制器WBLCONTROLLOR,其外部接口如下图所示。通过该控制器再配以4个七段数码二极管完成微波炉的定时及信息显示。各信号的功能及要求如下CLK是秒时钟脉冲输入,它接收每秒一个时钟脉冲的节拍信号。RESET为复位信号,高电平有效,用于芯片的复位功能。TEST为测试信号,高电平有效,用于测试4个七段数码二极管工作是否正常。START为开始加热信号,高电平有效,SET_T信号为定时设置信号,高电平时可以设置定时时间,DATA为定时的时间,COOK为加热输出(用指示灯代替),另外四个输出分别表示显示的定时时间的分和秒。12系统总体功能描述各信号功能及要求如下CLK是秒时钟脉冲输入,它接收每秒一个时钟脉冲的节拍信号。RESET为复位信号,高电平有效,用于芯片的复位功能。TEST信号是测试信号,高电平有效,用于测试七段数码管工作是否正常。SET_T是烹调时间设置控制信号,高电平有效。DATA0是一个16为总线输入信号,输入所设置的时间长短,它由高到低分为4组,每一组是BCD码输入,分别表示分、秒十位、个位的数字,如12分59秒。START是烹调开始的控制信号,高电平有效。COOK是烹调进行信号,外接用于控制烹调的继电器开关,高电平时表明烹调已经开始或正在进行,低电平表示烹调结束或没有进行。MIN_0,MIN_1,SEC_0,SEC_1是四组七位总线信号,分别接4个七段数码管,动态的显示完成烹调所剩的时间及测试状态信息“0000”,烹调完毕的状态信息“DONE”该微波炉控制器WBLCONTROLLOR的具体功能要求如下9上电后系统首先处于复位状态。在工作是首先按SET_T键设置烹调时间,此时系统输入DATA0的数据作为烹调所需的时间,然后系统自动回到复位状态,同时4个七段数码管显示时间信息。在按START键后系统进入烹调状态。COOK信号开始为高电平,此时4个七段数码管每隔一秒钟变化一次,用以刷新还剩剩余多少时间结束烹调。烹调结束后,COOK信号变为低电平,同时4个七段数码管组合在一起显示“DONE”的信息,然后系统回到复位状态。系统可以通过按RESET键随时回到复位状态。在复位状态下,按TEST键在4个数码管上会显示“0000”的信息,它可以测试4个七段数码管工作是否正常。13各模块的功能实现根据该微波炉定时控制器的设计要求,本系统有四个模块状态控制模块CONTROLLOR,数据装载模块LOADER,烹调计时模块COUNTER,显示译码模块YMQ47,锁存器模块SCQ。(1)状态控制器模块是控制微波炉工作过程中的状态转换,并发出有关的控制信息,输入信号为CLK,TEST,SET_T,START,TESET,DONE和SEL输出信号为LD_DONE,LD_TEST,LD_CLK,PT,WB等。根据输入的控制信号来完成完成状态转换;LD_DONE指示LOADER装入烹调完毕的状态信息“DONE”的显示驱动信息数据;LD_CLK指示LOADER装入设置的烹饪时间数据;LD_TEST指示LOADER装入用于测试的数据“0000”以显示驱动信息数据;COOK指示烹调正在进行中,并提示计数器进行减计数,PT和WB是两种状态的选择显示信息。(2)数据装载器LOADER的功能是根据CONTROLLOR发出的控制信号选择定时时间,测试数据或烹调完成信息的装入。当LD_DONE为高电平时,输出烹调完毕的信息数据;LD_CLK为高电平时,输出设置的烹饪时间数据;LD_TEST为高电平是,输出测试的数据。输出信号LOAD用于指示COUNTER将处于数据装入状态。(3)计时器COUNTER的功能是负责烹调过程中的时间递减计数,并提供烹调完成时的状态信号供CONTROLLOR产生烹调完成信号。LOAD为高电平时完成装入功能,COOK为高电平时执行逆计数功能。输出DONE指示烹调完成。MIN_1,MIN_0,SEC_1,SEC_0为完成烹调所剩的时间及测试状信息“0000”,烹调完毕的状态信息“DONE”的BCD码信息。(4)显示译码器YMQ47的功能是负责将各种显示信息的BCD码转换成七段数码管显示的驱动信息编码。需要译码的信息有数字09,字母D,O,N,E。AIN430DOUT760YMQ47INST412YMQ47原理图第二章微波炉定时控制器的设计步骤21状态控制器的设计状态控制器的功能是控制微波炉工作过程中的状态转换,并发出有关的控制信息,因此可以用一个状态机来实现。经过对微波炉工作过程中的状态转换条件及输出信号进行分析,我们可以得到其状态转换图如图21所示。211CONTROLLOR状态换图及端口图LAMP_TESTSET_CLOCKDONE_MSGTIMERIDLE图21CONTROLLOR的状态转换图说明SET_T烹调时间设置状态,LAMP_TEST数码管测试状态;DONE_MSG完成信息显示状态,TIMER减数定时状态。CONTROLLOR的端口图如下图所示RESETSET_TSTARTTESTCLKDONESELCOOKLD_TESTLD_CLKLD_DONEPTWBCONTROLLORINST3图22CONTROLLOR的端口图22数据装载器LOADER的设计LOADER的输入、输出端口如图23所示,根据其应完成的逻辑功能,它本质上就是一个三选一数据选择器。数据选择是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去。实现数据选择功能的逻辑电路称为数据选择器。它的作用相当于多个输入的单刀多掷开关。数据选择器的电路结构一般由与或门阵列组成,也有用传输门开关和门电路混合而成的。数据选择器的应用很广,它可以作二进制比较器、二进制发生器、图形发生电路、顺序选择电路。本设计采用一个进程来完成,但由于三个被选择的数据只有一个来自输入端口,因此另两个被选择的数据则通过在进程的说明部分定义两个常数来产生。由于用于显示“8888”的常数ALL8需分解成4个8,分别经过四个47译码器译码后才是真正的显示驱动信息编码,因此该常数应是4个分段的4位BCD码,故应设为“1000100010001000”。同理,显示“DONE”的常数DONE可设为“1010101111001101”,其中D,O,N,E的BCD码分别为“1010”、“1011”、“1100”、“1101”。该模块主要实现对状态控制器发出的状态信息的相应数据的装载功能。DATAIN150LD_TESTLD_CLKLD_DONEDATAOUT150LOADLOADERINST1图23LOADER的端口图23烹调计时器COUNTER的设计计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路。计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等10。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。计数器按计数进制不同,可分为二进制计数器、十进制计数器、其他进制计数器和可变进制计数器,若按计数单元中各触发器所接收计数脉冲和翻转顺序或计数功能来划分,则有异步计数器和同步计数器两大类,以及加法计数器、减法计数器、加/减计数器等,如按预置和清除方式来分,则有并行预置、直接预置、异步清除和同步清除等差别,按权码来分,则有“8421”码,“5421”码、余“3”码等计数器,按集成度来分,有单、双位计数器等等10。烹调计时器COUNTER为减数计数器,其最大计时时间为59分59秒,因此我们可以用两个键计数十进制计数器CNT10和两个减计数六进制CNT6级联构成。231烹调计时器的内部组成原理图烹调计时器COUNTER的内部组成原理图如图24所示。图24COUNTER的内部组成原理图说明CLK为时钟输入信号,LOAD为装载控制信号,COOK为使能信号,DATA150为数据输入信号,SEC_1,SEC_0,MIN_1,MIN_0分别为妙,分的十位个位的输出,DONE为烹调状态的信息指示信号。当使能段信号有效,且时钟上升沿来时计数器根据装载数据的信息装入数据,并完成相应的功能。24显示译码器YMQ47的设计本显示译码器不但要对数字09进行显示译码,还要对字母D,O,N,E进行显示译码。其译码对照表如表21所示,表21YMQ47的译码对照表显示的数字或字母BCD编码七段显示驱动编码000000111111100010000110200101011011300111001111401001100110501011101101601101111101701110000111810001111111910011101111D10101011110O10111011100N11001010100E1101111100125锁存器的设计锁存器SCQ的输入、输出端口如图25所示CLKDONECLRARLMSCQINST5图25SCQ的端口图此单元主要用于完成定时时间到蜂鸣报警信息的实现,当时钟上升沿到来且清零信号无效时,同时COOK信号开始有高电平变为低电平时,输出信号则是蜂鸣器报警。其实质就是一个D触发器的功能。第三章微波炉控制器的VHDL源程序31状态控制电路VHDL实现LIBRARYIEEE定义库文件USEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYCONTROLLORISPORTRESETINSTD_LOGIC复位信号SET_TINSTD_LOGIC时间设置信号STARTINSTD_LOGIC开始烹调信号TESTINSTD_LOGIC显示电路测试信号CLKINSTD_LOGIC时钟信号DONEINSTD_LOGIC完成信号SELINSTD_LOGICCOOKOUTSTD_LOGIC;LD_TESTOUTSTD_LOGIC;LD_CLKOUTSTD_LOGIC;LD_DONEOUTSTD_LOGIC;PTOUTSTD_LOGIC;WBOUTSTD_LOGICENDENTITYCONTROLLORARCHITECTUREARTOFCONTROLLORISTYPESTATE_TYPEISIDLE,LAMP_TEST,SET_CLOCK,TIMER,DONE_MSG状态SIGNALNXT_STATE,CURR_STATESTATE_TYPEBEGINPROCESSCLK,RESETISBEGINIFRESET1THEN清零IFSEL0THENPTLD_TESTLD_CLKLD_DONEIFTEST1THEN初始状态NXT_STATEIFDONE1THEN减法计数定时状态NXT_STATE测试DATAOUT烹调完成DATAOUT设置时间DATAOUTNULLENDCASEENDPROCESSENDRTL33计时电路的VHDL实现LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYCNT10ISPORTCLKINSTD_LOGICLOADINSTD_LOGICENINSTD_LOGICDATAININSTD_LOGIC_VECTOR3DOWNTO0QOUTSTD_LOGIC_VECTOR3DOWNTO0CARRY_OUTOUTSTD_LOGICENDCNT10ARCHITECTURERTLOFCNT10ISSIGNALTMPSTD_LOGIC_VECTOR3DOWNTO0BEGINPROCESSCLK,LOAD,ENBEGINIFLOAD1THENTMPDOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7“0000000“ENDCASEENDPROCESSENDARCHITECTUREARTYMQ47的源程序38锁存SCQ的VHDL实现LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYSCQISPORTCLKINSTD_LOGICDONEINSTD_LOGICCLRINSTD_LOGICARLMOUTSTD_LOGICENDENTITYARCHITECTUREARTOFSCQISBEGINPROCESSCLK,DONE,CLRBEGINIFDONE1ANDCLR0THENARLM1ELSEARLM0ENDIFENDPROCESSEND第四章总体原理图41总体功能的顶层原理图本顶层设计采用原理图输入的方式进行设计,本框图有五个部分组成。然后对此图进行编译仿真最终实现该微波炉定时控制器的各种功能。图41顶层原理图该顶层原理图由以上的五个模块组成,其中输入端的控制模块是主要功能的实现控制部分,由它发出控制信息来提示下面各模块完成什么功能。其他模块则根据控制信息成数据的装载(装入8888、DONE、时间数据)、计时的递减等功能。输出端则主要由译码器实现信息的显示功能,并且指示控制器处于那种工作状态下。第五章系统功能的仿真验证51状态控制电路仿真波形图图51CONTROLLOR显示的仿真图上图中,当测试信号TEST为高电平有效时,测试输出信号为高电平;否则,当时间设置信号SET_T为高电平,对应的指示信号LD_CLK输出高电平;当烹饪开始信号START信号为高电平时,对应输出COOK为高电平;当复位信号RESET为高电平时,系统复位清零,恢复初始状态。仿真结果符合模块设计的要求。52数据装载电路的仿真图52数据装载电路仿真波形图该模块本质即多路选择译码电路。当LD_CLK、LD_TEST、LD_DONE三路信号中有且仅有一路信号高电平有效时,选择其相应的值作为输出。53计时电路仿真图53计时电路仿真波形图图中LOAD为高电平时读取信号DATA的值,当COOK信号为高电平时,对DATA的值进行减法计数,并在每个时钟周期都输出减法计数器的当前值。仿真结果与预先设定的电路功能相吻合。54微波炉控制器显示仿真图54微波炉控制器显示测试功能仿真当复位信号有效,微波炉控制器处于初始状态时,若显示管测试信号有效,则显示管输出全8,以示正常工。55SCQ的仿真图图55SCQ的仿真图图55为SCQ的仿真图,该仿真图说明了当烹调计时完成时即DONE的信号变为高电平时,SCQ输出的ARLM信号变为高电平,即指示工作的结束。56总体功能的仿真分析图56总功能显示的仿真图图56是顶层原理图的仿真结果。由该顶层原理图的仿真结果可以看出,此设计基本实现了所要求的各种功能定时,复位,状态切换等功能。结束语现代电子工程和EDA技术发展的速度异常迅猛,为了锻炼我们的独立动手能力和自主创新能力,让我们得到更多更新知识的传授,学校适时开了课程设计实习。这次课设的时间虽短,但我也独立完成了“微波炉控制器的设计”这个课题。在整个课程设计过程中,没能推陈出新在设计思路和编程上有所突破,但我感觉自己的实际动手能力得到了锻炼,对QUA

温馨提示

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

评论

0/150

提交评论