沈阳理工大学课程设计专用纸0目录1设计要求概述...............................................................................................................................12功能模块整体结构设计................................................................................................................12.1系统总体功能描述........................................................................................12.2各模块的功能实现........................................................................................23各模块详细设计............................................................................................................................33.1状态控制器的设计..........................................................................................33.2数据装载器loader的设计............................................................................43.3烹调计时器counter的设计..........................................................................53.4显示译码器YMQ47的设计..............................................................................53.5锁存器的设计..................................................................................................64逻辑仿真与时序仿真的实现........................................................................................................64.1各模块的VHDL源程序...................................................................................64.2时序仿真的实现............................................................................................175.设计结论.....................................................................................................................................196参考文献.....................................................................................................................................20沈阳理工大学课程设计专用纸11设计要求概述现需设计一个微波炉控制器WBLCONTROLLOR,其外部接口如下图所示。通过该控制器再配以4个七段数码二极管完成微波炉的定时及信息显示。各信号的功能及要求如下:CLK是秒时钟脉冲输入,它接收每秒一个时钟脉冲的节拍信号。RESET为复位信号,高电平有效,用于芯片的复位功能。TEST为测试信号,高电平有效,用于测试4个七段数码二极管工作是否正常。Start为开始加热信号,高电平有效,SET_T信号为定时设置信号,高电平时可以设置定时时间,DATA为定时的时间,cook为加热输出(用指示灯代替),另外四个输出分别表示显示的定时时间的分和秒。2功能模块整体结构设计2.1系统总体功能描述现需设计的微波炉控制器WBLCONTROLLOR的外部接口如图1-1所示,通过该控制器,再配以七段数码二极管完成微波炉的定时信息和信息的显示。data[15..0]resetset_tstarttestclkcooksec0[3..0]sec1[3..0]min0[3..0]min1[3..0]topinst2图1-1WBLCONTROLLOR的端口图各信号功能及要求如下:CLK是秒时钟脉冲输入,它接收每秒一个时钟脉冲的节拍信号。RESET为复位信号,高电平有效,用于芯片的复位功能。TEST信号是测试信号,高电平有效,用于测试七段数码管工作是否正常。SET_T是烹调时间设置控制信号,高电平有效。DATA0是一个16为总线输入信号,输入所设置的时间长短,它由高到低分为4组,每一组是BCD码输入,分别表示分、秒十位、个位的数字,如12分59秒。START是烹调开始的控制信号,高电平有效。COOK是烹调进行信号,外接用沈阳理工大学课程设计专用纸2于控制烹调的继电器开关,高电平时表明烹调已经开始或正在进行,低电平表示烹调结束或没有进行。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个七段数码管工作是否正常。2.2各模块的功能实现根据该微波炉定时控制器的设计要求,本系统有四个模块:状态控制模块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(3)计时器counter的功能是负责烹调过程中的时间递减计数,并提供烹调完成时的状态信号供CONTROLLOR产生烹调完成信号。LOAD为高电平时完成装入功能,COOK为高电平时执行逆计数功能。输出DONE指示烹调完成。MIN_1,MIN_0,SEC_1,SEC_0为完成烹调所剩的时间及测试状信息“0000”,烹调完毕的状态信息“DONE”的BCD码信息。(4)显示译码器YMQ47的功能是负责将各种显示信息的BCD码转换成七段数码管显示的驱动信息编码。需要译码的信息有:数字0-9,字母D,O,N,E。AIN4[3..0]DOUT7[6..0]YMQ47inst4图1-2YMQ47原理图3各模块详细设计3.1状态控制器的设计状态控制器的功能是控制微波炉工作过程中的状态转换,并发出有关的控制信息,因此可以用一个状态机来实现。经过对微波炉工作过程中的状态转换条件及输出信号进行分析,我们可以得到其状态转换图如图3-1。图3-1CONTROLLOR的状态转换图说明:SET_T烹调时间设置状态,LAMP_TEST数码管测试状态;DONE_MSGLAMP_TESTSET_CLOCKDONE_MSGTIMERIDLE沈阳理工大学课程设计专用纸4完成信息显示状态,TIMER减数定时状态。CONTROLLOR的端口图如下图所示:RESETSET_TSTARTTESTCLKDONESELCOOKLD_testLD_CLKLD_DONEPTWBcontrollorinst3图3-2CONTROLLOR的端口图3.2数据装载器loader的设计LOADER的输入、输出端口如图3-3所示,根据其应完成的逻辑功能,它本质上就是一个三选一数据选择器。数据选择是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去。实现数据选择功能的逻辑电路称为数据选择器。它的作用相当于多个输入的单刀多掷开关。数据选择器的电路结构一般由与或门阵列组成,也有用传输门开关和门电路混合而成的。数据选择器的应用很广,它可以作二进制比较器、二进制发生器、图形发生电路、顺序选择电路。本设计采用一个进程来完成,但由于三个被选择的数据只有一个来自输入端口,因此另两个被选择的数据则通过在进程的说明部分定义两个常数来产生。由于用于显示“8888”的常数ALL8需分解成4个8,分别经过四个4-7译码器译码后才是真正的显示驱动信息编码,因此该常数应是4个分段的4位BCD码,故应设为“1000100010001000”。同理,显示“donE”的常数DONE可设为“1010101111001101”,其中D,O,N,E的BCD码分别为:“1010”、“1011”、“1100”、“1101”。该模块主要实现对状态控制器发出的状态信息的相应数据的装载功能。datain[15..0]ld_testld_clkld_donedataout[15..0]loadloaderinst1图3-3loader的端口图沈阳理工大学课程设计专用纸53.3烹调计时器counter的设计计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路。计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等[10]。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。计数器按计数进制不同,可分为二进制计数器、十进制计数器、其他进制计数