EDA课程设计论文洗衣机控制器.doc

上传人:sccc 文档编号:4856136 上传时间:2023-05-20 格式:DOC 页数:17 大小:338.53KB
返回 下载 相关 举报
EDA课程设计论文洗衣机控制器.doc_第1页
第1页 / 共17页
EDA课程设计论文洗衣机控制器.doc_第2页
第2页 / 共17页
EDA课程设计论文洗衣机控制器.doc_第3页
第3页 / 共17页
EDA课程设计论文洗衣机控制器.doc_第4页
第4页 / 共17页
EDA课程设计论文洗衣机控制器.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《EDA课程设计论文洗衣机控制器.doc》由会员分享,可在线阅读,更多相关《EDA课程设计论文洗衣机控制器.doc(17页珍藏版)》请在三一办公上搜索。

1、 目 录摘要 洗衣机控制器21.前言32.总体方案设计42.1基本原理42.2原理框图43.设计步骤和调试过程53.1总体电路设计53.2模块设计与相应的模块程序63.2.1数码管显示63.2.2时序电路控制73.2.3预置时间83.2.4译码器93.2.5减法计数器103.2.6洗衣机运转模块103.3仿真及仿真结果分析144.实验调试结果155.设计总结166.参考文献17摘要 洗衣机控制器随着电子技术和计算机技术的发展,电子产品已与生活紧密相连,与此同时EDA技术已经越来越渗透到我们的生活中,给我们的生活带来了极大的方便。电子设计自动化(EDA)技术,使得电子线路的设计人员能在计算机上完

2、成电路的功能设计、逻辑设计、性能分析、时序测试直至印刷电路板的自动设计。在高校电子电路课程中结合教学内容引人EDA 工具软件进行设计,使学生掌握一定的EDA技术和EDA软件的使用方法。设计一个洗衣机控制器,要求洗衣机有进水,洗衣(正转、反转、暂停三种状态),放水,脱水。显示工作时间,要洗衣机在工作时间内完成,定时到则停止,同时发出提示音。关键词:预设时间信号输入模块,状态控制模块,减法计数器模块,VHDL语言程序As the electronic technology and the development of computer technology, electronic products

3、 already and life are closely linked, at the same time EDA technology already more and more the penetration to our life, brings to our life great convenience. Electronic design automation (EDA) technology, make the design of electronic circuit personnel on the computer can complete circuit design, t

4、he function of logical design, performance analysis, timing test until printed circuit board of automatic design. In the electronic circuit course teaching contents in the EDA software is designed, make the student to master certain EDA technology and EDA software use method. Design a washing machin

5、e controller, a washing machine, laundry water requirements (are turning, inversion, suspended three states), match-fixing, dehydration. Display work time, to work in the washing machine finish, time to stop, and at the same time, a prompt. Key words:Default time signal input module,State control mo

6、dule, Subtraction counter module, VHDL language program;1.前言随着电子技术和计算机技术的发展,电子产品已与生活紧密相连,电子产品的智能化日益完善,电路的集成度越来越高,而产品的更新周期却越来越短。与此同时EDA技术已经越来越渗透到我们的生活中,给我们的生活带来了极大的方便。目前,EDA技术已成为电子信息类学生一门重要的专业基础课程,并在教学、科研,一级大学生电子设计竞赛等活动中,起着越来越重要的作用,成为电子信息类本科生及研究生必须掌握的基础知识与基本技能。随着EDA技术的应用日益广泛,对EDA课程教学的要求也不断提高,以与EDA技术的

7、发展相适应,正式基于以上考虑,进行EDA课程设计。很多设备在嵌入电子技术后,其产品价值大大提高,如全自动洗衣机、数控机床等。学习EDA技术是十分必要的,它可以提高电子产品设计的速度、精度、可靠性,扩大设计规模等,降低人们的劳动强度,提高工作效率;电子技术扩大了人们的视野。计算机技术和微电子工艺的发展,使得现代数字系统的设计和应用进入了新的阶段。电子设计自动化(EDA)技术在数字系统设计中起的作用越来越重要,新的工具和新的设计方法不断推出,可编程逻辑器件不断增加新的模块,功能越来越强,硬件设计语言也顺应形势,推出新的标准,更加好用,更加便捷。由于EDA技术的发展,使得现代数字系用设计从设计思想,

8、设计工具到实现方式都产生了深刻的变化,呈现出新的特点,怎样体现这种变化,抓住EDA技术和数字设计的实质,是每个在学习的学生中都应思考的问题,EDA课程设计,其根本目的是在于在有限的时间内,掌握了解数字设计技术的本质及其重点,从而数字系统设计和EDA技术的精髓。EDA软件工具也在设计中起着重要的作用,好的EDA软件为数字设计开发提供了平台和工具,它将设计者的设计思想自动、高效地转化为物理电路和网表结构,并以直观、便捷的形式提供了仿真模拟手段。下面,将详细介绍此次课程设计的思路,以及设计流程。2.总体方案设计2.1基本原理洗衣机控制器的设计主要是定时器的设计。由一片FPGA和外围电路构成了电器控制

9、部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对芯片的编程采用模块化的EDA (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由EDA的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。首先,从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进行清零,这时用户置入洗涤时间,并按开始

10、按钮,洗衣机开始工作。当秒计数器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信号进入移位寄存器后,LED灯表示出电机运转状态;当用户设定的洗涤时间结束后,电路报警并清零;同时电机指示灯熄灭。2.2原理框图正转20秒暂停10秒反转20秒暂停10秒定时到停止定时启动图2.1 系统总体框图3.设计步骤和调试过程3.1总体电路设计洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间、数码管显示、译码器组成。具体电路如下图所示:图3.1系统总体电路3.2模块设计与相应的模块程序3.2.1数码管显示根据课程设计要求,必须将洗衣机的工作状态及工作时间在数码管和指示

11、灯上显示出来,此模块是用来控制洗衣机的工作状态及工作的频率,并把工作状态及工作时间显示出来实现数码管显示Library iee;Use ieee.std_logic_1164.all;Entity encode is Port( Bcd : in std_logic_vector(3 downto o); A,b,c,d,e,f,g: out std_logic );End encode;Architecture rtl of encode isSignal temp:std_logic_vector(6 downto 0);Begin Table Bcd = temp; 0000= 1111

12、110; 0001= 0110000 0010= 1101101 0011= 1111001 0100= 0110011 0101= 1011011 0110= 1011111 0111= 1110000 1000= 1111111 1001= 1111011 End table;a=temp(6);b=temp(5);c=temp(4);d=temp(3);e=temp(2);f=temp(1);g=temp(0);end rtl3.2.2时序电路控制此模块是为了实现洗衣机的正转、暂转、反转的功能,它由一个状态控制模块构成,是典型的状态机。Library ieee;Use ieee.std_

13、logic_1164.all;Use ieee.std_logic_unsigned.allEntity shixu isPort(cp,en,rd:in std_logic;Q1,q2:out std_logic);End shixu;Architecture rtl of shixu isBeginProcess(cp)Variable wash_time:integer range 0 to 19;Variable wash_time:integer range 0 to 9;Variable state:std_logic;Variable wash_time:integer :=21

14、;Variable wash_time:integer :=9;BeginIf(en=0)wash_time:=19;wait_time:=9;state:=0;End if;if(en=0)then wash_time:=21;Q1=0;Q20)Then wash_time:=20;state:=not state;End if; end if; end if;If(wash_time=0)then Q1=0;Q2=0;else if (state=0)Then Q1=1;Q2=0; else Q1=0;Q2=1;End if; end if;Else Q10 and start=1)the

15、n time_second:=time_second-1;else time_second:=59; end if;if(start=0)then time_remain0) then time_remain(3 downto 0)=time_remain(3 downto 0)-start; time_remain(3 downto 0)0)then time_remain(7 downto 4) =time_remain(7 downto 4)-start; time_remain(7 downto 4)=time_remain(7 downto 4)-1; time_remain(3 d

16、ownto 0)=1001;time_second:=59;end if; end if;else if (time_second=0 and time_second=1) if(time_remain=0)then time_is_up=0;else time_is_up=1; time_second:=time_second-1;end if;end if;end if;end if;end process; end rtl;3.2.4译码器当洗涤时间结束时,洗衣机就会自动发出警报声,以此提醒用户洗涤工作完成,此模块就是完成此功能。library ieee;use ieee.std_log

17、ic_1164.all;entity decoder is port( Q1,Q2: in std_logic; REV,RUN,PAUSE: out std_logic );end decoder;architecture rtl of decoder issignal choose:std_logic_vector(1 downto 0);beginchoose(1)=q1;choose(0)REV=0;RUN=0;PAUSEREV=0;RUN=1;PAUSEREV=1;RUN=0;PAUSEREV=0;RUN=0;PAUSE=0;end case;end process;REV=Q2;R

18、UN=Q1;PAUSE=not(Q1 OR Q2);end rtl;3.2.5减法计数器由于洗衣机有工作时间,必须要一模块来控制它的工作时间范围,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。3.2.6洗衣机运转模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity washer_base isport(clk,clk_s,start,cs:in std_logic;-CS为异常判断信号线 timer1,timer2:in std_logic_vect

19、or(4 downto 0);-洗衣时间4/5,脱水时间1/5 vib_l,vib_r,over:out std_logic);end washer_base;architecture behav of washer_base istype states is(water_in,wash,water_out,dry,waiting);signal state:states;signal timer_1,timer_2:std_logic_vector(4 downto 0);signal water_h,water_l,water_door,working:std_logic; signal

20、min:std_logic_vector(4 downto 0); signal vibl,vibr:std_logic;beginstates_switch:process(clk,start) beginif startevent and start=1 then stateif water_h=0 then state=wash;else stateif timer_1=00000 then state=water_out;else stateif water_l=0 then state=dry;else stateif timer_2=00000 then state=waiting

21、;else stateif cs=0 then state=water_in;else statestate=waiting; end case;end if;end process states_switch; download:process(start)beginif startevent and start=1 then timer_1=timer1;timer_2=timer2;end if;end process; count:process(clk_s) - 计时 variable sec:std_logic_vector( 5 downto 0);beginif state=w

22、ash then min=timer_1+timer_2;if clk_sevent and clk_s=1 then if sec=111111 then sec:=000100;timer_1=timer_1-1;else sec:=sec+1;end if;end if;elsif state=dry then if clk_sevent and clk_s=1 then if sec=111111 then sec:=000100;timer_2=timer_2-1;else sec:=sec+1;end if;end if;end if;end process count;vib_l

23、=vibl;vib_r=vibr; -连接洗衣机正反转信号与输出端口wash_run:process(clk_s)variable run_time:std_logic_vector(4 downto 0);beginif clk_sevent and clk=1 and cs=1 then run_time:=run_time+1;if run_time17 then vibr=1;vibl=0;else run_time then vibl=1;vibr=0;end if;end if;end behav;3.3仿真及仿真结果分析EDA工具在EDA技术应用中占据极其重要的位置,EDA的核心

24、是利用计算机完成电子设计全程自动化,因此基于计算机环境的EDA软件的支持是必不可少的。此次设计所用EDA工具是由著名的Alter公司生产的MAXplus工具软件,它是一种集成的开发环境,支持原理图、VHDL和Verilog语言文本文件,以及波形文件作为设计输入,并支持这些文件的人以混合设计。图3.2 洗衣机控制信号仿真图洗衣机接通电源,按load设置洗涤时间按start、rd置为高电平洗衣机开始工作,当时钟第一个上升沿到达时run(正转功能)为高电平维持20s以后变为低电平而pause(暂停功能)随着时钟上升沿的到来变为高电平维持10s变为低电平,然后rev(反转功能)开始随着时钟上升沿的到来

25、变为高电平工作维持20s后变为低电平,再停止pause置高,接下来电路一直重复上述工作,知道定时器计数结束。图3.3总电路仿真波形4.实验调试结果电路设计完成以后,按照预定设计,输入相应数据,调试电源电路,选定电容,电压线圈型号、参数。调试LED显示电路,选定上拉电阻大小(1K),连接好LED显示器引脚。组建KEY电路、晶振电路、完成控制信号集成放大电路参数的调试。连接各个外围电路与芯片对应信号引脚,完成电路搭建LED灯按照设定时间规律间断性亮起,数码管也显示输入时间并按减数计时产生相应的数字显示,直到到达预定时间停止工作显示零,实验设计达到预期效果。5.设计总结本次课程设计是对所学的模拟电子

26、技术基础和数字电子技术基础以及电工电子技术实验的高度总结应用,在设计的过程中发现了自己在知识上所存在的不足,也意识到除了必须具备专业知识以外,还必须具有塌实坚毅不服输的品格。设计该洗衣机控制器,让我加强了FPGA硬件编程的实际操作。对编程时出现的各种问题,找到相应的办法解决,并逐步完善程序控制电路设计在一片FPGA芯片内,具有体积小、可靠性高、设计周期短,功能灵活的特点。这尤其适用于小批量多品种新产品的开发,以满足人们追求新异、个性化的高品质生活的要求。通过这次课程设计我对FPGA的编程更加熟悉,对定时器和计数器的设计,让我更加明白时序组合门电路设计思路和方法。而且自已独立思考与设计,使我初步

27、掌握了VHDL的设计方法与一些技巧,本人从中受益匪浅。通过这个实验设计,我更加熟练地掌握了一些常见的数字芯片的设计方法,在设计中也参了和查阅了很多资料,从中学到不少课本上没有的东西。从本次课程设计的目的来看,收获也是不少的,它使我们对课本以及以前学过的知识有了一个更好的总结与理解,也让我们知道了,光分开使不够的,从外面学到的知识要把形成一各整体,这也很好的训练了外面对开发一个项目应该有怎样的思路和准备更清晰。无论是从C语言课程设计到金工实习,还是从电子实习到现在的数电课程设计,每一次自己都觉得有一个进步,虽然有些方面自己做不出,但可以从老师和其他同学那里学到更好更多的东西,他们从另一个方面透析

28、了自己的困难,这是很重要的,它让我学会了怎样学习别人的长处并把它变成自己的长处。有这样的机会和收获,要感谢老师的辅导以及同学的帮助,是他们让自己有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路,虽然自己走出来的路要崎岖的多,但觉得踏实、放心。6.参考文献1 潘松,黄继业.EDA技术实用教程 M .北京:科学出版社, 2010.2 杨君,王景存.基于VerilogHDL的流水线的设计方法及应用J.武汉科技大学学报(自然科学版) ,2002,25(4): 394396.3王金明.数字体统设计与Verilog HDL M .北京:电子工业出版社.20104 王景存,李炳生,郝国法,等.用FPGA实现数字逻辑分析仪设计J.武汉科技大学学报(自然科学版),2001,24(1):298300. 16第 页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号