您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > eda数字逻辑洗衣机控制器
1湖南涉外经济学院课程设计报告课程名称:EDA技术与应用报告题目:洗衣机控制器的设计学生姓名:所在学院:专业班级:学生学号:指导教师:2016年12月28日2课程设计任务书报告题目洗衣机控制器的设计完成时间学生姓名专业班级指导教师职称教授总体设计要求和技术要点设计一个洗衣机控制器,要求如下:1.设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒,定时到则停止,同时发出提示音。2.若定时到,则停机发出声音信号3.用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;4.三只LED灯表示“正转”、“反转”、“暂停”三个状态。工作内容及时间进度安排第15周:周1---周3:立题、论证方案设计周4---周5:预答辩第16周:周1---周3:仿真实验7周4---周5:验收答辩课程设计成果1.与设计内容对应的软件程序2.课程设计总结报告摘要3洗衣机控制器的设计主要是定时器的设计。由一片FPGA和外围电路构成了电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对芯片的编程采用模块化的VHDL(硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。4目录一、概述…………………………………………………………………………5二、程序框图………………………………………………………………5三、程序模块设计…………………………………………………………61.减法计数器模块……………………………………………………………62.数码管显示模块……………………………………………………………63.时序电路模块………………………………………………………………64.译码器模块…………………………………………………………………65.声音模块…………………………………………………6四、VHDL源程序………………………………………………………………6五、仿真波形图…………………………………………………………10六、结论与心得……………………………………………………………………11七、参考文献………………………………………………………………………115一、概述洗衣机的逻辑结构主要由优先计时模块、报警模块及数码管显示模块组成。洗衣机控制器的设计主要是定时器的设计。由一片FPGA和外围电路构成了电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。二、程序框图定时启动正转暂停反转暂停定时未到定时到停止6三、程序模块设计1、减法计数器模块:由于洗衣机有工作时间,必须要一模块来控制它的工作时间范围,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。当出现系统运行结束信号time_over时,蜂鸣器报警洗衣机工作结束。2、数码管显示模块:根据课程设计要求,必须将洗衣机的工作状态及工作时间在数码管和指示灯上显示出来,此模块是用来控制洗衣机的工作状态及工作的频率,并把工作状态及工作时间显示出来。a,b,c,d,e,f,g分别对应数码管的七段,minute和second分别位选两个数码管,显示十位和个位。3、时序电路模块:接收运行起止信号,安排电机运行状态并编码输出4、译码器模块:接收电机运行状态信号,译码后实时控制电机的正传、反转和暂停。5、声音模块:当洗涤时间结束时,洗衣机就会发出警笛声,以此提醒用户洗涤结束。四、VHDL源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;7useieee.std_logic_unsigned.all;entityxiyijiisport(clk,clk1,minter,start,rst:instd_logic;M:outstd_logic_vector(2downto0);BEEP:outstd_logic;SL1:outstd_logic;LED:outstd_logic_vector(6downto0));endxiyiji;architectureoneofxiyijiissignalMDate:integerrange0to9:=0;signalBDate:integerrange0to9:=2;signalDate:integerrange0to9:=0;signalSceond:integerrange0to60:=0;signalSceond20:integerrange0to60:=0;signalSceond10:integerrange0to60:=0;signalSceondf20:integerrange0to60:=0;signalyanshi:integerrange0to100:=0;signalflag:std_logic:='0';signalCflag:std_logic:='0';signalSflag:std_logic:='0';signalGflag:std_logic:='1';signalLflag:std_logic:='0';beginprocess(clk1)beginifclk1'eventandclk1='1'thenifyanshi30thenyanshi=yanshi+1;elseLflag=not(Lflag);yanshi=0;endif;endif;8endprocess;process(start,rst,minter,flag,Sflag)beginifstart'eventandstart='1'andLflag='0'thenflag='1';endif;ifrst='0'thenifminter'eventandminter='1'andflag='0'andLflag='0'thenifMDate9thenMDate=MDate+1;elseMDate=0;endif;endif;elseMDate=0;flag='0';--Gflag='0';endif;ifflag='1'thenifSflag'eventandSflag='1'thenifDate0thenDate=Date-1;Gflag='0';elseGflag='1';endif;endif;elseGflag='0';Date=MDate;endif;ifGflag='1'thenBEEP=clk1;endif;endprocess;process(clk,Cflag)beginifclk'eventandclk='1'andflag='1'thenifSceond59thenSceond=Sceond+1;Sflag='0';--elseSceond=0;Sflag='1';--9endif;ifGflag='0'andflag='1'thenifSceond2020thenSceond20=Sceond20+1;M=001;elsifSceond1010thenSceond10=Sceond10+1;M=010;elsifSceondf2020thenSceondf20=Sceondf20+1;M=100;elseSceond20=0;Sceond10=0;Sceondf20=0;endif;endif;endif;ifGflag='1'thenM=000;endif;endprocess;withDateselectLED=1111110when0,0110000when1,1101101when2,1111001when3,0110011when4,1011011when5,0011111when6,1110000when7,1111111when8,1110011when9,ZZZZZZZwhenothers;SL1='0';endone;10五、仿真波形图六、结论与心得通过这次课程设计我对FPGA的编程更加熟悉,对定时器和计数器的设计,让我更加明白时序组合门电路设计思路和方法。而且自已独立思考与设计,使我初步掌握了VHDL的设计方法与一些技巧。通过这个实验设计,我更加熟练地掌握了一些常见的数字芯片的设计方法,在设计中也参考和查阅了很多资料,从中学到不少课本上没有的东西。只有把所学的理11论知识与实践相结合起来,从理论中得出结论,才能真正地更好去理解知识,从而提高自己的实际动手能力和独立思考的能力同时为期两周的EDA课程设计结束了,我成功的完成了我的任务——洗衣机控制器,但对我来说宝贵的不是结果而是过程,在思考、摸索、寻求帮助最终圆满完成设计的过程中我学会了许多。在第一周的开始,我们接触了全新的知识,了解了Max+PlusII软件、VerilogHDL语言和实验箱,这对我来说既新鲜又有趣,但第一次用一种新的语言来编写一个设计确实是个挑战。这一个星期我一直在从图书馆借来的资料上、网络上努力学习并掌握Max+PlusII软件、VerilogHDL语言,利用一切闲暇的时间仔细思考我的设计思路和方向,因为我知道方向比速度更重要。当我已经有了整体程序的大框后,一些细节的问题层出不穷,比如计数器的终值控制、清零的反应速度、对开关的状态敏感还是变化敏感等等。在一遍一遍的调试和修改中,我深刻理解了那句以前未体会的一句话:“阻挡你前行的并不是你面前的大山而是鞋子里的小石子。”不要忽略细枝末节的小问题,细节决定成功。拿着调试好了的仿真波形和程序设计,我兴高采烈的去上箱天真的以为课程设计的成功触手可及,而实际上由于缺乏经验在硬件和软件连接的过程中仍然着意象不到的问题。硬件的实现与软件构造的理想模型有着些许细小的差异,几经调试,多次从程序、锁定管脚到连线的确认,我终于得到了我期待的实验效果。感谢陈明义老师在我整个设计过程中的指导和帮助,他严谨认真的工作态度让我学会了设计过程中要精准仔细。感谢我的同学们在两周里的帮助和鼓励,他们的陪伴让我拥有克服任何困难的勇气。这次课程不是结束而是一个新的开始,在以后的生活中我会继续保持这次课程设计教给我的宝贵经验。七、参考文献[1]EDA技术与应用/陈忠平,高金定主编;北京:中国电力出版社,2013.1112教师评语及设计成绩教师评语:课程设计成绩:指导教师:日期:年月日
本文标题:eda数字逻辑洗衣机控制器
链接地址:https://www.777doc.com/doc-6193748 .html