-基于状态机的智能洗衣机控制器的数字系统设计.doc

上传人:marr****208 文档编号:132272490 上传时间:2020-05-14 格式:DOC 页数:17 大小:610KB
返回 下载 相关 举报
-基于状态机的智能洗衣机控制器的数字系统设计.doc_第1页
第1页 / 共17页
-基于状态机的智能洗衣机控制器的数字系统设计.doc_第2页
第2页 / 共17页
-基于状态机的智能洗衣机控制器的数字系统设计.doc_第3页
第3页 / 共17页
-基于状态机的智能洗衣机控制器的数字系统设计.doc_第4页
第4页 / 共17页
-基于状态机的智能洗衣机控制器的数字系统设计.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《-基于状态机的智能洗衣机控制器的数字系统设计.doc》由会员分享,可在线阅读,更多相关《-基于状态机的智能洗衣机控制器的数字系统设计.doc(17页珍藏版)》请在金锄头文库上搜索。

1、 VHDL数字系统设计与测试题目:基于状态机的智能洗衣机控制器的数字系统设计学院:电子工程学院 学号:1302121380 姓名:吕立辉1 设计要求:洗衣机控制系统的核心部件是控制器。它是一闭环系统,内部结构有洗衣机状态转换时间信号产生器、状态计数器、数据选择器和状态译码器,它能自动发出顺序循环控制信号(S、R、L),并同时完成在该状态下的计时功能。另外,它还向控制对象提供一个工作过程的周期信号(T),作循环次数累计。控制对象是由4位二进制计数器和4位数值比较器构成,它对T作计数,与此同时与人工输入的预置循环数比较,随时将反应受控器自身状态的信号反馈给控制器,从而实现系统的控制功能。2 设计原

2、理:2.1 洗衣机控制器组成:洗衣机控制电路包括控制器,控制对象,状态显示电路,计时器及报警电路。控制器是系统的核心部件。它是一闭环系统,内部结构有5s和60s信号产生器,状态计数器,数据选择器和状态译码器,它能自动发出顺序控制信号(S、R、L),并同时完成在该状态下的计时功能。另外,它还向控制对象提供一个工作过程的周期信号(T),作循环次数累计。控制对象是由4位二进制计数器和4位数值比较器构成,它对T作计数,与此同时与人工输入的预置循环数比较,随时将反应受控器自身转台的信号反馈给控制器,实现系统的控制功能。状态显示电路是通过3个LED灯来显示洗衣机的状态:当洗衣机暂停或出现紧急情况时第二个L

3、ED灯亮,当洗衣机正转时第一个LED灯都亮,当洗衣机反转时,只有第三个LED灯亮。报警控制电路的功能是当设定的循环次数减到零时提示用户。LED灯和数码管显示电路:通过LED灯来显示洗衣机的各种工作状态,利用数码管来显示时间。 系统的结构框图2.2 洗衣机控制器的控制功能:2.2.1 洗衣机的状态为待机5s正转60s待机5s反转60s,并用3个LED灯和7段显示器分别表示其工作状态和显示相应工作状态下的时间。2.2.2 自行设定洗衣机的循环次数,这里设最大的循环次数为15次。2.2.3 具有紧急情况的处理功能。当发生紧急情况时,立即转入到待机状态,紧急情况解除后继续执行后续步骤。2.2.4 洗衣

4、机设定循环次数递减到零时立即报警,以表示洗衣机设定的循环次数已经结束。2.2.5 输入变量:时钟CLK,直接清零RD,暂停/连续EN,设定洗衣机的循环次数SET。2.2.6 输出变量:三个工作状态S、R、L,一个过程周期T(T4),8421BCD码Q7Q0输出及报警信号。3 洗衣机控制设计:3.1洗衣机控制框图:蜂鸣报警系统(根据机器运行的过程或状态给出蜂鸣或报警)供电系统(提供控制板电源)门盖状态检测(检测洗涤过程中门盖状态)供排水系统(按照一定的洗涤中期进水或排水)电机驱动系统(驱动电机按照一定的周期或节奏洗涤及脱水)负载检测系统( 检测衣物重量 )用户接口(获得用户输入同时反映机器状态)

5、控制器 3.2 洗衣机控制系统流程图 上图所示为系统控制框图,其中传感器输入信号包括进水完成信号、排水完成、混浊度检测信号3 个信号;按键输入信号则包括复位键(rst)、模式选择键、水位设置键、水流设置键、手动定时的上调、下调以及确认键(afm_time)、开始键7 个信号,注意按键信号需经过防抖动处理才能真正有效;显示模块中用3 个发光二极管分别代表洗衣机所处状态。3.3 洗衣机状态转移图4 设计论述系统有3个工作状态:正转,反转,暂停,由状态标志量count控制。count=0时,洗衣机正转,时间持续60s;count=1时洗衣机第一次暂停,时间持续5s;count=2时洗衣机反转,时间持

6、续60s;count=3时洗衣机第二次暂停,时间持续5 s,此时一个工作周期结束会产生控制信号T,设定的循环次数减1,若减1后循环次数为零,则洗衣机停止工作,产生报警信号;若循环次数不为零则继续工作。如果系统产生复位信号,则洗衣机停止工作产生报警信号。4.1 各功能模块的实现(整个控制功能的VHDL程序见附录一)。 为了简化程序设计及增加可读性,本系统采取模块化的方式,使用的功能模块均以组件(component)的形式存在,并且将所有的组件都收集在同一个程序包中(package),在主程序内可以调用不同的模块组件,从而构成完整的结构。自定义的程序包中主要包括如下组件:4.1.1 秒脉冲信号、扫

7、描时钟信号(用于分时显示四合一数码管)生成组件divclk,即对时钟信号clk进行分频。4.1.2 消除按键抖动组件debounce。如图4 中的波形所示,只有当按键push 持续时间超过8 个clk 才被认为是有效按键,否则会被视为无效抖动;当按键信号有效时,则输出信号pushout 为高电平,并延时。4.1.3 模式选择组件selector。输入按键信号push,经过消除抖动组件,形成中间信号pushout,输出为led0led2 共3 路发光二极管驱动信号,用于显示用户所选择的模式,同时输出wash、clean、dehydrate三路信号作为状态转换驱动信号。仿真波形如下图5所示。其中,

8、默认设置洗涤信号wash 以及led0 信号为高电平,每按下一次push 键,模式变化一次。该组件同样适用于水位设置和水流强度设置。4.1.4 定时并倒计时组件stop_watch。图6 所示为定时并倒计时模块的仿真波形。默认洗涤时间为14H(即十进制的20)分钟,用户可根据需要上调(min_up键)、下调(min_down 键),图6 中的upout、downout分别为上调键和下调键经防抖动处理后的中间信号;设置完成后,按下afm_time 确认键即进入倒计时阶段,out_min 和out_sec 分别为时间分钟数和秒数;至0 分0 秒,信号alarm 置“1”作为状态转换输入信号。4.1

9、.5 20 分钟倒计时组件downcnt204.1.6 5 分钟倒计时组件downcnt05。以上 3 个组件的输出信号分钟数和秒数为16 进制整数,为了将它们转换为8 段数码管显示的7 路信号(不考虑小数点),还需要以下组件:4.1.7 由60 以内的16 进制整数转换成BCD 码(分为十位和个位两个BCD 码)组件i60bcd。4.1.8 由二进制BCD 码转换成7 段译码(小数点不显示)组件bin2led,转换规则应不同的数码管而定。由于使用四合一的数码管,还需生成4 路扫描信号,利用视觉暂留原理,分时显示分钟、秒钟的十位和个位。 消除按键抖动组件仿真波形模式选择组件仿真波形4.2 使用

10、说明1、在EN为低电平时通过SET设定洗衣机循环工作的次数。2、通过按键将EN置为高电平,启动洗衣机工作,以后可通过EN暂停/继续。3、若中途发生故障,可通过按键RD直接清零复位,待清除故障后重新启动。4、洗衣机结束工作,报警,可通过RD或EN直接取消报警,将EN置为低电平,即可重新设定工作次数。 5 结果分析:测试仿真波形见附录二 BCD码模块仿真波形和七段显示译码模块仿真波形如附录二中图1和图2所示,测试波形正确。执行设定次数为2的波形图见附录二图3所示,测试波形符合要求。加入暂停信号后的波形。从附录二图4整体上看暂停有效。 从附录二图5细节上看程序具有记忆功能,能从断点处装载,继续工作,

11、符合要求。 加入RD信号后的波形 附录二图6复位信号有效,复位后报警提示成功6 设计总结:设计过程中采用了VHDL语言进行编写,并用MAX + plus软件进行仿真,它主要是对洗衣机工作状态、时间进行控制,在整个设计过程中,我先对FPGA的结构和VHDL的语法结构进一步的掌握,然后着重根据设计原理和思路着手编程,其间参考了不少文献资料,对计数器、数据选择器、译码器、数值比较器的功能、逻辑图、引脚图进行分析,然后再在MAX + plus上进行编译仿真,分析波形,修改程序直至与设计要求相符。当然在研究中还存在不少问题,比如我设计的洗衣机只是半自动的,其功能还不完善,如水位的控制、脱水、漂洗的方式等

12、都还没设计出来;仿真的波形还没完全达到设计标准,对时间的延迟没考虑清楚等,如果是对课题的进一步研究可以增加洗衣机的功能,这就还需要增加传感器等等,同时还可以添加一个测试程序,就可以更加直观的看到仿真结果。附录一 程序源代码-BCD码变换模块。module bcdma(clk,TIMES,t);input clk;input 3:0 TIMES;output 7:0 t;reg 7:0 t;always (posedge clk)beginif(TIMES4b1001)t=TIMES+8b00000110;elset=TIMES+8b00000000;endendmodule-共阴极七段显示译码

13、模块module decode(COUNT,oseg1,oseg2);input 7:0 COUNT;output 6:0 oseg1,oseg2;reg 6:0 oseg1,oseg2;always (COUNT7:0)begincase(COUNT3:0)4h1: oseg1 = 7b0000110;4h2: oseg1 = 7b1011011; 4h3: oseg1 = 7b1001111; 4h4: oseg1 = 7b1100110; 4h5: oseg1 = 7b1101101; 4h6: oseg1 = 7b1111101; 4h7: oseg1 = 7b0000111; 4h8

14、: oseg1 = 7b1111111; 4h9: oseg1 = 7b1100111; 4ha: oseg1 = 7b1110111;4hb: oseg1 = 7b1111100;4hc: oseg1 = 7b0111001;4hd: oseg1 = 7b1011110;4he: oseg1 = 7b1111001;4hf: oseg1 = 7b1110001;4h0: oseg1 = 7b0111111;endcase case( COUNT7:4 )4h1: oseg2 = 7b0000110;4h2: oseg2 = 7b1011011; 4h3: oseg2 = 7b1001111; 4h4: oseg2 = 7b1100110; 4h5: oseg2 = 7b1101101; 4h6: oseg2 = 7b111

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号