ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:105.80KB ,
资源ID:17382607      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17382607.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课设洗衣机.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

EDA课设洗衣机.docx

1、EDA课设洗衣机目录1 绪论 11.1知识背景 11.2任务要求 11.3分析理解 22方案的论证及选择 22.1设计原理及总体框图 23单元电路的设计 33.1预置时间和编码电路 33.2数码管显示模块 43.3时序控制电路 63.4译码器模块 73.5减法计数器模块 84电路图的绘制 105电路的仿真及调试 126心得体会 13参考文献 151 绪论1.1知识背景EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设

2、计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。利用可编程逻辑器件丰富的内部资源,借助EDA(电子设计自动化)工具(如MAXPLUS)把家电控制器电路集成在一片FPGA(

3、现场可编程门阵列)芯片内,这样就无需专门的单片机和外部逻辑电路。从而减小了电路的体积、提高了系统的稳定性。一个简易的全自动洗衣机就可以利用这个方法来实现对洗涤过程的控制。1.2任务要求初始条件:设计一个洗衣机洗涤程序控制器,具有根据衣量设定不同洗涤时间、洗涤完毕有声音提醒等功能,在洗涤过程中通过不同颜色的指示灯反映洗涤三种状态:正转、反转和暂停。要求完成的主要任务: 1) 洗衣机工作时间可以在115分钟任意设定。2) 电机运行规律为正转20S,停10S,反转20S,停10S,再正转20S,依此规律反复运行。3) 以分为单位显示洗衣机剩余工作时间,每当电机运行1分钟,显示器自动减1,直到显示器为

4、“0”,电机停止运转,并发出3声蜂鸣声提醒洗涤完毕。4) 电机正转、反转和暂停通过LED灯区分。5) 广泛调研,提出几种可行的方案,多方论证,确定设计方案。在EDA仿真软件上完成设计和仿真。1.3分析理解针对任务具体要求,可以设想这样一个具有定时、显示、提醒、控制等功能的洗衣机应当包含有多个模块,这些模块相互配合才能完成全部的要求。定时需要减计数器,显示需要数码管,正转反转暂时的实际也需要计数器的控制,同时设定不同状态亮起不同颜色的LED灯,这需要译码器的使用,最后的报警则应设在时间到零时刻的时候对蜂鸣器进行触发。2方案的论证及选择2.1设计原理及总体框图洗衣机控制器的设计主要是定时器的设计,

5、由一片FPGA和外围电路构成了电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对FPGA芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。总体框图如图1所示:图1 总体框图 从框图看来,整个设计可

6、以分为五个模块:数码管显示模块、时序控制电路、预置时间和编码电路、译码器模块、减法计数器模块。从预置时间开始,给开始信号让电机开始运转,由数码管显示模块控制时间的显示,同时减法计数器进行计时操作,时序控制电路控制洗衣机的运转情况,通过译码模块来决定电机运转状态,即正转反转还是暂停,各个运转状态的时间也需减法计数器来控制。下面进行分模块讨论。3单元电路的设计3.1预置时间和编码电路 定义实体DINGSHI,具有LOAD、FEN两个输入端口,O一个输出端口。LOAD是一个时钟信号,当其出现上升沿时,将输入的时间进行预置, 而FEN的代表分钟数,由输入的信号来进行时间预置分钟的判断,分别列举1-15

7、的BCD码,根据不同情况进行选择输出分钟数0。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DINGSHI IS PORT(START:IN STD_LOGIC; FEN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); O:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END DINGSHI;ARCHITECTURE MK1 OF DINGSHI IS SIGNAL P1:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN P

8、ROCESS(START) BEGIN IF(STARTEVENT AND START=1) THEN CASE FEN IS WHEN 0000=P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1=00000000; END CASE; END IF;END PROCESS;O=P1;END MK1;3.2数码管显示模块 采用共阴极的数码管,当有高电平时相应管脚亮,对应数字0-9,七段管脚会有相应的亮暗,将规则列出,可以将输入的数字NUM分成高四位和低四位,分别用两个数码管来显示。 lIBRARY IEEE;USE IEEE.STD_lOGIC_1164.All;USE I

9、EEE.STD_lOGIC_UNSIGNED.All;ENTITY SHOWTIME ISPORT(NUM:IN STD_lOGIC_VECTOR(7 DOWNTO 0); ClK:IN STD_lOGIC; Q1,Q2:OUT STD_lOGIC_VECTOR(6 DOWNTO 0);END SHOWTIME;ARCHITECTURE ONE OF SHOWTIME ISSIGNAl TEMP1,TEMP2:STD_lOGIC_VECTOR(6 DOWNTO 0);SIGNAl BCD1,BCD2:STD_lOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(ClK)B

10、EGIN IF(ClKEVENT AND ClK=1) THEN BCD1=NUM(7 DOWNTO 4); BCD2 TEMP1 TEMP1 TEMP1 TEMP1 TEMP1 TEMP1 TEMP1 TEMP1 TEMP1 TEMP1TEMP1 TEMP2 TEMP2 TEMP2 TEMP2 TEMP2 TEMP2 TEMP2 TEMP2 TEMP2 TEMP2TEMP2=0000000; END CASE;END PROCESS;Q1=TEMP1; Q2=TEMP2; END ONE;3.3时序控制电路 该模块中,输入端口有时钟信号CLK,清零信号RD,高电平有效,开始信号START,高

11、电平触发,当使能有效且START为高电平时,每到来一个时钟上升沿,中间信号Q就减1,Q从59减至40,输出洗涤状态信号XIDI为100,代表正转20S,Q从39减至30,对应XIDI为001,代表暂停10S,Q从29减至10,对应XIDI为010,代表反转20S,Q从10减至0,对应XIDI为001,代表暂停10S,当Q=0时,又重新装载数值59,进行新一轮计数,如此循环。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SH

12、IXU ISPORT(CLK:IN STD_LOGIC;RD:IN STD_LOGIC;START:IN STD_LOGIC;XIDI:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);END SHIXU; ARCHITECTURE MK3 OF SHIXU ISSIGNAL Q:STD_LOGIC_VECTOR(5 DOWNTO 0);BEGINPROCESS(CLK,EN,Q)BEGINIF(RD=1)OR(START=0) THEN XIDI=001;Q=111011;ELSE IF(CLKEVENT AND CLK=1)THEN IF Q=000000 THEN

13、Q=111011 ;SHUCHU=100 ; ELSIF Q=111010THEN XIDI=100 ; ELSIF Q=100111THEN XIDI=001; ELSIF Q=011101THEN XIDI=010; ELSIF Q=001001THEN XIDI=001; END IF;QREV=0;RUN=0;PAUSEREV=1;RUN=0;PAUSEREV=0;RUN=1;PAUSEREV=0;RUN=0;PAUSE=1;END CASE;END PROCESS;END MK4;3.5减法计数器模块由于数码管显示的是分钟数递减,而时钟信号的周期为1S,所以要设计一个60进制的减计数

14、器。CHUSHITIME是设定的预置时间,XIANSHI是数码管应显示的剩余分钟数,通过变量TIME_SECOND来实现。TIME_SECOND初值为59,当时钟上升沿到来,TIME_SECOND减1,直到为0时,又进行新一轮数据的装载为59。当CHUSHITIME高四位不为0而低四位为0时,让高四位为0,低四位变成9;若高四位低四位均不为0,则高四位不变,低四位做减计数直到0;若高四位为0低四位不为0则低四位做减计数直到0。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT

15、ER ISPORT(CLK,START:IN STD_LOGIC; CHUSHITIME:IN STD_LOGIC_VECTOR(7 DOWNTO 0); XIANSHI:BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0 ); CF:BUFFER STD_LOGIC);END COUNTER;ARCHITECTURE MK5 OF COUNTER ISBEGIN PROCESS(CLK) VARIABLE TIME_SECOND:INTEGER RANGE 0 TO 59:=59; BEGIN IF(CLKEVENT AND CLK=1) THEN IF(START=0)

16、THEN XIANSHI=CHUSHITIME; CF=1; ELSE IF(CF=1) THEN IF(TIME_SECOND=0 AND XIANSHI(7 DOWNTO 0)=0) THEN CF=0; ELSE IF(TIME_SECOND=0) THEN IF(XIANSHI(3 DOWNTO 0)=0) THEN XIANSHI(7 DOWNTO 4)=XIANSHI(7 DOWNTO 4)-1; XIANSHI(3 DOWNTO 0)=1001; TIME_SECOND:=59; ELSE XIANSHI(7 DOWNTO 4)=XIANSHI(7 DOWNTO 4); XIAN

17、SHI(3 DOWNTO 0)=XIANSHI(3 DOWNTO 0)-1; TIME_SECOND:=59; END IF; ELSE TIME_SECOND:=TIME_SECOND-1; END IF; END IF; END IF; END IF;END IF;END PROCESS;END MK5;4电路图的绘制将上述五个模块分别生成相应芯片,在图纸上绘制总电路图,总体的输入有四个:时钟信号CLK和LOAD,预置时间信号FEN,开始信号START。定时模块的输出作为减计数器的输入,由此进行计数,减计数器的输出接数码管的输入,将当前数字通过数码管进行显示,进位信号作为时序电路的清零端,

18、时钟信号和开始信号触发时序电路进行对电机状态的控制描述,时序电路的输出则接入译码器,将电机状态描述进行具体执行,即为正转或反转或暂停。当CF由高变低时,可以利用这个一个下降沿触发蜂鸣器的报警。连接总电路图如图2:图2 总电路图5电路的仿真及调试各个单元电路仿真结果图:1) 预置时间和编译电路仿真。对fen信号进行“1110”的设定,表示14分钟的预置时间,即十位数为1,个位数为4,对应BCD码及为0001,0100,当start高电平到来,则把组成八位二进制数00010100赋给o输出。仿真结果如图3:图3 预置时间和编码电路仿真结果2) 数码管显示模块仿真。当有时钟到来,便把num所表示的B

19、CD码高四位即十位让q1数码管显示,低四位即个位让q2数码管显示。仿真结果如图4:图4 数码管显示模块仿真结果 3) 时序控制电路仿真。在清零信号EN低电平无效和START高电平有效时,实现XIDI信号描述电机每分钟:正转20s暂停10s反转20s暂停10s的循环。仿真结果如图5:图5 时序控制电路仿真结果 4) 译码器模块仿真。可以看到,SHURU=100,输出信号RUN输出高电平,其他为低电平,SHURU=001,输出信号PAUSE输出高电平,其它为低电平,当SHURU=010,输出信号REV输出高电平,其它为低电平。仿真结果如图6:图6 译码器模块仿真结果 5) 减计数器仿真。start

20、信号有效,设定CHUSHITIME为00010010,可以看到,输出信号XIANSHI每过60s便减1,直至为0。仿真结果如图7:图7 减计数器仿真结果总电路图仿真。当start信号高电平有效时,预置分钟数fen为1011,电机加入时钟信号,电机每分钟进行正转暂停反转暂停的循环,q1显示剩余分钟数的十位,2分钟后,由1减为0,q2显示剩余分钟数的个位,前2分钟,由1减为0,后9分钟则由9每分钟减1直至为0。仿真结果如图8:图8 总电路图仿真结果6心得体会 这次课设时间紧迫,中间遇到很多困难,但最终的总电路图的仿真结果终于出来了,并且正确。在每个分模块中,所要表达的意思想要达到的目的都还是做到了

21、,仿真结果也都正确。 通过本次课设,我加强了对VHDL语言的认识,对其的运用也变得更为熟练,另一方面,通过实际的软件操作,使我更熟悉了QUARTUS软件的操作和使用,应用起来也更为得心应手。本次课题是设计全自动化的洗衣机控制装置,通过分析要求而对所要做的事情进行模块分类,这样的思想很妙,很具有逻辑性,进行分模块后目标性也变强了,做起来不会茫然不知所措,最终将模块组合调整便能得到想要的结果。 最后,谢谢老师的指导和给予的意见。参考文献1 潘松著.EDA技术实用教程(第三版). 北京:科学出版社,20092 康华光主编.电子技术基础(数字部分). 北京:高教出版社,20103 阎石主.数字电子技术基础. 北京:高教出版社,20084 赵岩岭 刘春等.在MAXPLUS平台下用VHDL进行数字电路设计. 西安:西电出版社,20085徐志军.EDA计数与VHDL设计. 北京:电子工业出版社,2009.1

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2