EDA设计课程设计基于VHDL的简易全自动控制洗衣机.doc

上传人:laozhun 文档编号:4144070 上传时间:2023-04-07 格式:DOC 页数:20 大小:578KB
返回 下载 相关 举报
EDA设计课程设计基于VHDL的简易全自动控制洗衣机.doc_第1页
第1页 / 共20页
EDA设计课程设计基于VHDL的简易全自动控制洗衣机.doc_第2页
第2页 / 共20页
EDA设计课程设计基于VHDL的简易全自动控制洗衣机.doc_第3页
第3页 / 共20页
EDA设计课程设计基于VHDL的简易全自动控制洗衣机.doc_第4页
第4页 / 共20页
EDA设计课程设计基于VHDL的简易全自动控制洗衣机.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《EDA设计课程设计基于VHDL的简易全自动控制洗衣机.doc》由会员分享,可在线阅读,更多相关《EDA设计课程设计基于VHDL的简易全自动控制洗衣机.doc(20页珍藏版)》请在三一办公上搜索。

1、广州大学松田学院课 程 设 计 说 明 书题 目 简易洗衣机的设计 姓 名 专 业 电气工程及其自动化 班 级 10电气工程及其自动化(1)班 系(部) 电气与汽车工程系 指导教师 二0一二年六月二五日电子综合设计EDA综合设计题摘要.2一、程序.3二、仿真波形.9强洗全部过程.12强洗 漂洗、甩干.12强洗(甩干).13标准全部过程13标准(漂洗、甩干)14标准(甩干)14弱洗全过程15弱洗(漂洗、甩干)15弱洗(甩干).15强开盖子:.16暂停和启动.17弱洗重新启动.19三、设计思想讨论.21四、心得体会.22五、参考文献.22摘要 电子设计自动化(EDA:Electronic Desi

2、gn automation)是将计算机技术应用于电子设计过程中而形成的一门新技术,它已经被广泛应用于电子电路的设计和仿真,集成电路的版图设计、印刷电路板(PCB)的设计和可编程器件的编程等各项工作中。 电子设计自动化在集成电路设计方面,主要是数字集成电路的设计自动化,主流的软件有Cadence Encounter,和国产的华大九天系统。模拟集成电路以及混合电路设计自动化的发展尚不成熟,能提供主要的自动化功能的软件有Cadece Virtuoso和BtEDA。在射频电路设计,因为要涉及到复杂的数学理论导致分析更加复杂,所以尚没有任何成熟的设计自动化软件。电子综合设计EDA综合设计题设计一简易全自

3、动洗衣机控制器。该控制器由两大状态A和B组成,每个状态分三个子状态,每个状态分别由选择A和选择B控制。其中A为步进选择按纽,每步跳转一个子状态、B也为步进选择按纽,但每步选择B中的所有组合中的一种。当启动时,时间序列控制器按已选的B类子状态顺序执行。过程启动由启动/暂停键控制(暂停键在过程启动后任意时间可暂停/恢复过程)过程启动后机盖开启应均能暂停过程,复盖间停30秒后重新继续原过程。A:强洗 标准 弱洗B:洗涤 漂洗 甩干 (洗涤,漂洗时电机分别正转、反转)强洗:(共36分钟) 洗涤 18分漂洗 14分甩干 4分(洗涤时电机分别正转4分、反转4分,正反转间停30秒;漂洗时电机分别正转3分、反

4、转3分,正反转间停30秒;甩干时电机分别正转1.5分,间停30秒)标准:(共26分钟) 洗涤 14分漂洗 8 分甩干 4分(洗涤时电机分别正转3分、反转3分,正反转间停30秒;漂洗时电机分别正转1.5分、反转1.5分,正反转间停30秒;甩干时电机分别正转1.5分,间停30秒)弱洗(共20分钟) 洗涤 10分漂洗 6分甩干 4分(洗涤时电机分别正转2分、反转2分,正反转间停30秒;漂洗时电机分别正转1分、反转1分,正反转间停30秒;甩干时电机分别正转1.5分,间停30秒)设定秒脉冲已给定,指示为LED,整过程完成后,蜂鸣器响30秒。整个设计为正逻辑。一、程序如下:LIBRARY IEEE;USE

5、 IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY student IS PORT(COUNT_N,COUNT_M,START,COOK,CLK:IN STD_LOGIC; LOOK:OUT STD_LOGIC; DOUT :OUT STD_LOGIC_VECTOR(1 DOWNTO 0);END STUDENT;ARCHITECTURE BEHAV OF student ISSIGNAL DT1,DT2:STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL DICSOUNT,TEM:STD_LOGI

6、C_VECTOR(3 DOWNTO 0);SIGNAL DCP:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL CT:STD_LOGIC_VECTOR(5 DOWNTO 0);SIGNAL CT1,CT2:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL SG,CMKS:STD_LOGIC;BEGIN PROCESS(COUNT_N,SG) BEGINIF SG=1 THENDT1=00;ELSIF COUNT_NEVENT AND COUNT_N=1 THENIF DT1=3 THENDT1=01;ELSEDT1=DT1+1;END IF;END

7、 IF;END PROCESS;PROCESS(COUNT_M,SG)BEGINIF SG=1 THENDT2=00;ELSIF COUNT_MEVENT AND COUNT_M=1 THENIF DT2=3 THENDT2=01;ELSEDT2=DT2+1;END IF;END IF;END PROCESS; PROCESS(START)BEGINIF SG=1 THENCMKS=0;ELSIF STARTEVENT AND START=1 THEN DICSOUNT=DT1&DT2;CMKS=CMKS XOR 1;END IF;END PROCESS; PROCESS(CLK,START,

8、COOK)BEGINIF START=1 AND DCP=0000 THENDCP=DICSOUNT;ELSIF CLKEVENT AND CLK=1 THENIF COOK=1 THENDOUT0000 THENDOUT=00;ELSIF SG=1 THENIF CT10001 THENCT1=0000;SGIF CT35 THENCT=CT+1;IF CT18 THENDOUT=01;CT1=CT1+1;ELSIF CT1=8 THENDOUT=00;CT1=CT1+1;ELSIF CT28 THENDOUT=10;CT2=CT2+1;ELSIF CT2=8 THENDOUT=00;CT1

9、=0000;CT2=0000;END IF;ELSEDCP=0110;CT=000000;CT1=0000;CT2=0000;DOUTIF CT27 THENCT=CT+1;IF CT16 THENDOUT=01;CT1=CT1+1;ELSIF CT1=6 THENDOUT=00;CT1=CT1+1;ELSIF CT26 THENDOUT=10;CT2=CT2+1;ELSIF CT2=6 THENDOUT=00;CT1=0000;CT2=0000;END IF;ELSEDCP=0111;CT=000000;CT1=0000;CT2=0000;DOUTIF CT8 THENCT=CT+1;IF

10、CT13 THENDOUT=01;CT1=CT1+1;ELSIF CT1=3 THENDOUT=00;CT1=CT1+1;ELSIF CT23 THENDOUT=10;CT2=CT2+1;ELSIF CT2=3 THENDOUT=00;CT1=0000;CT2=0000;END IF;ELSEDCP=0000;CT=000000;CT1=0000;CT2=0000;SGIF CT27 THENCT=CT+1;IF CT16 THENDOUT=01;CT1=CT1+1;ELSIF CT1=6 THENDOUT=00;CT1=CT1+1;ELSIF CT26 THENDOUT=10;CT2=CT2

11、+1;ELSIF CT2=6 THENDOUT=00;CT1=0000;CT2=0000;END IF;ELSEDCP=1010;CT=000000;CT1=0000;CT2=0000;DOUTIF CT15 THENCT=CT+1;IF CT13 THENDOUT=01;CT1=CT1+1;ELSIF CT1=3 THENDOUT=00;CT1=CT1+1;ELSIF CT23 THENDOUT=10;CT2=CT2+1;ELSIF CT2=3 THENDOUT=00;CT1=0000;CT2=0000;END IF;ELSEDCP=1011;CT=000000;CT1=0000;CT2=0

12、000;DOUTIF CT8 THENCT=CT+1;IF CT13 THENDOUT=01;CT1=CT1+1;ELSIF CT1=3 THENDOUT=00;CT1=CT1+1;ELSIF CT23 THENDOUT=10;CT2=CT2+1;ELSIF CT2=3 THENDOUT=00;CT1=0000;CT2=0000;END IF;ELSEDCP=0000;CT=000000;CT1=0000;CT2=0000;SGIF CT19 THENCT=CT+1;IF CT14 THENDOUT=01;CT1=CT1+1;ELSIF CT1=4 THENDOUT=00;CT1=CT1+1;

13、ELSIF CT24 THENDOUT=10;CT2=CT2+1;ELSIF CT2=4 THENDOUT=00;CT1=0000;CT2=0000;END IF;ELSEDCP=1110;CT=000000;CT1=0000;CT2=0000;DOUTIF CT11 THENCT=CT+1;IF CT12 THENDOUT=01;CT1=CT1+1;ELSIF CT1=2 THENDOUT=00;CT1=CT1+1;ELSIF CT22 THENDOUT=10;CT2=CT2+1;ELSIF CT2=2 THENDOUT=00;CT1=0000;CT2=0000;END IF;ELSEDCP

14、=1111;CT=000000;CT1=0000;CT2=0000;DOUTIF CT8 THENCT=CT+1;IF CT13 THENDOUT=01;CT1=CT1+1;ELSIF CT1=3 THENDOUT=00;CT1=CT1+1;ELSIF CT23 THENDOUT=10;CT2=CT2+1;ELSIF CT2=3 THENDOUT=00;CT1=0000;CT2=0000;END IF;ELSEDCP=0000;CT=000000;CT1=0000;CT2=0000;SGDOUT=00;END CASE;END IF;END IF;END PROCESS;LOOK=SG; EN

15、D BEHAV;二、仿真波形如下强洗全部过程强洗 漂洗、甩干强洗(甩干)标准全部过程标准(漂洗、甩干)标准(甩干)弱洗全过程弱洗(漂洗、甩干)九、弱洗(甩干)强开盖子:一、强洗强开盖一、 标准强开盖二、 弱洗强开盖暂停和启动一、 强洗暂停二、 强洗重新启动三、 标准暂停四、 标准重新启动五、 弱洗暂停弱洗重新启动两次洗衣一、 两次强洗两次标准(漂洗、甩干)二、 两次弱甩干三、设计思想讨论设计时参考了已有程序,此芯片有五个输入和三个输出,输入COUNT_M和输入COUNT_N是状态控制键,输入START是输入启动和暂停键,以及一个时钟CLK。输出是洗衣结束铃声端口和电机驱动端口。在设计中,为便于

16、调试和观察将时钟周期假设为30S。本次设计大致可以分成两个模块来看待,控制端和工作端。控制部分使用了三个进程来处理,进程一控制状态COUNT_M,进程二控制状态COUNT_N,进程三控制开始和暂停。工作部分使用了一个进程来处理,在该进程中主要处理强制开盖,洗衣的各个状态,以及洗衣结束后的铃声。控制端COUNT_M中,SG是工作结束标志信号,信号TS控制洗衣机的暂停和重新启动,DT是状态的中间变量。COOKK为强开洗衣机盖子信号端,DCP输入状态中间信号。洗衣机正常工作过程:洗衣机总共有九种工作状态,这九种状态可以分成三大部分,强洗,标准,弱洗,此三种状态的洗衣过程类似,因此以强洗来解释说明。洗

17、涤完成后,将信号TP变换到漂洗状态,然后变换到甩干,甩干结束后将TP置零,以及输出状态置一。然后等待下次洗涤。CLK主分频器洗涤定时器水流控制器正反向控制主分频器四、心得体会这次EDA对我来说是一项很大的挑战,看到题目后几乎没有思路,翻阅教材,看了下自动洗衣机那张的讲解,有了眉目,但是设计的内容过于庞杂,很难下手。这时候,我选择从已有的程序着手,先看懂,然后和同学讨论思路,最后形成了这个作业。做仿真波形的时候,就是验证结论的时候,过程还算顺利。通过这次作业,我觉得许多困难的事,需要借鉴已有的经验,请查阅资料,和同学交流讨论,就基本可以完成。五、 参考文献1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.4 赵岩岭 刘春等.在MAXplus平台下用VHDL进行数字电路设计. 西安:西电出版社,20055 无忧电子开发网

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号