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

北京印刷学院EDA课程设计报告课程题目:基于FPGA的洗衣机控制器的设计课程名称:EDA技术课程设计院(系):信息与机电工程学院专业:电子信息工程姓名:薛大神学号:098888888指导老师:xxx实习日期:2012年6月28日-6月30日目录1.系统设计 (3)1.1 设计要求 (3)1.2 总体设计方案 (3)1.2.1 设计思路 (3)1.2.2 系统组成 (3)2. 单元硬件电路设计 (4)2.1 键盘模块 (4)2.2 显示模块 (4)2.3 中心控制模块 (4)3. 软件设计 (4)3.1 控制模块程序设计 (5)3.2 显示译码程序设计 (5)3.3 按键去抖程序设计 (5)3.4 分频模块程序设计 (6)4. 系统仿真测试 (6)4.1 控制模块仿真 (6)4.2 按键去抖模块仿真 (7)4.3 分频模块仿真 (7)4.4 控制器操作演示 (8)附录一使用说明 (9)附录二电路原理图 (9)附录三管脚分配图 (9)附录四程序清单 (10)摘要:洗衣机控制电路由一片altera公司的cyclone2系列EP2C35F672C6的FPGA 作为中心控制器加上必要的外围电路组成,实现对洗衣机工作状态的控制。
芯片编程采用Quartus2作为开发工具,由控制模块,分频模块,按键去抖模块,显示译码模块组成,顶层使用原理图实现,底层由Verilog HDL语句实现。
中心控制器FPGA根据控制键盘的信号,向洗衣机发出正传,反转,待机信号,并通过数码管和LED灯显示当前的状态及剩余时间。
该洗衣机控制电路可以方便快捷的实现对洗衣机的控制和状态的显示功能。
关键字:洗衣机 FPGA Verilog HDL语言 cyclone21.系统设计1.1设计要求1.洗衣机的状态为待机5s→正转60s→待机5s→反转60s→,并用3个LED灯和7段显示器分别表示其工作状态和显示相应工作状态下的时间。
2.可自行设定洗衣机的循环次数,这里设置最大的循环次数为15次。
EDA简易洗衣机设计

目录摘要 (3)绪论 (3)第一章设计的总体构思 (3)1、1 设计的基本原理 (3)1、1、1 模块方框图 (4)1、2 总体的原理图及其解析 (4)1、2、1 原理图 (4)1、2、2 原理图解析 (4)1、3 总体设计的源代码讲解 (4)第二章设计的分立模块解析 (4)2、1 定时输入模块 (5)2、1、1 定时输入模块源代码讲解 (5)2、1、2 定时输入模块框图 (5)2、2 洗衣机时间控制模块 (5)2、2、1 洗衣机时间控制模块源代码讲解 (5)2、2、2 洗衣机时间控制模块框图 (5)2、3 倒计时模块 (5)2、3、1 倒计时模块源代码讲解 (5)2、3、2 倒计时模块框图 (5)2、4 洗衣机状态控制模块 (5)2、4、1 洗衣机状态控制模块源代码讲解 (6)2、4、2 洗衣机状态控制模块框图 (6)2、5 数码管显示模块 (6)2、5、1 数码管显示模块源代码讲解 (6)2、5、2 数码管显示模块框图 (6)2、6 报警模块 (6)2、6、1 报警模块源代码讲解 (6)2、6、2 报警模块框图 (6)第三章仿真结果 (6)3、1 定时输入模块仿真结果 (6)3、2 洗衣机时间控制模块仿真结果 (7)3、3 倒计时模块仿真结果 (7)3、4 洗衣机状态控制模块仿真结果 (7)3、5 数码管显示模块仿真结果 (7)3、6 总体设计仿真结果 (7)小结 (7)谢辞 (7)附录 (7)附录1 定时输入模块源代码 (7)附录2 洗衣机时间控制模块源代码 (8)附录3 倒计时模块模块源代码 (9)附录4 洗衣机状态控制模块源代码 (10)附录5 数码管显示模块源代码 (11)附录6 报警模块源代码 (12)附录7 总体设计源代码: (12)摘要此次的课程设计的题目是简易洗衣机控制器设计,这次的EDA课程设计主要就是掌握EDA技术在一些方面的运用。
掌握EDA技术及CPLD/FPGA的开发流程、自顶向下的设计思想和系统设计的分析方法,以及洗衣机控制器的工作原理。
基于Verilog HDL语言的全自动洗衣机控制器的设计与仿真

基于Verilog HDL语言的全自动洗衣机控制器的设计与仿真陈飞云
【期刊名称】《应用技术学报》
【年(卷),期】2017(017)003
【摘要】介绍了基于Verilog HDL语言的全自动洗衣机控制系统的设计与仿真.分析洗衣机每个洗衣步骤,抽象出加水、洗涤、漂洗、甩干等状态,建立有限状态机,并确定状态机的状态转换条件和输入输出信号;利用Verilog HDL硬件描述语言进行模块代码开发设计;通过Quarters II软件和Modelsim软件进行编译和仿真,产生相应的仿真波形,以直观的形式辅佐结论.利用现场可编程门阵列(Field Programmable GateArray,FPGA)教学实验箱进行功能验证,结果证明所设计的洗衣机控制器能够实现洗衣过程的自动控制,具有很强的实用性.【总页数】5页(P257-261)
【作者】陈飞云
【作者单位】上海应用技术大学计算机科学与信息工程学院,上海200235
【正文语种】中文
【中图分类】TP273
【相关文献】
1.基于Verilog HDL语言的全自动洗衣机控制器的设计与仿真 [J], 陈飞云
2.基于单片机全自动洗衣机控制器设计与仿真 [J], 杨威;阳泳;江世明
3.基于Verilog HDL语言的CAN总线控制器设计及验证 [J], 许莉娅;段帅君;李传
南
4.基于Verilog HDL语言的一种奇偶校验码与极化码级联的编码器设计与仿真 [J], 彭逸飞
5.基于单片机全自动洗衣机控制器设计与仿真 [J], 杨威;阳泳;江世明
因版权原因,仅展示原文概要,查看原文内容请购买。
基于Verilog HDL的FPGA程序(智能洗衣机)

华中科技大学电子线路课程设计题目:智能洗衣机院系:控制科学与工程系班级:自动化100X班姓名:联系方式:fanjunchao1991@指导老师:目录一题目分析。
1二系统流程图.。
2三主要模块介绍.。
5四各按键功能.。
6 五仿真波形.。
7 六实验总结。
8 七附录。
9一:题目分析本次课程设计要求以Verilog HDL硬件描述语言为基础,以DE2开发板为工具,编写智能洗衣机的模拟程序。
首先,我在熟悉题目要求的前提下,将题目要求划分为以下几个小的项目,每个项目尽量用单独的模块实现其功能:①洗衣过程的转换:控制洗衣过程在每个过程对应的状态机之间转换,用control.v模块实现。
②洗衣时间的显示:通过直接调用上学期编写的24小时智能时钟程序的计时模块,并用总时间减去已用时间得到剩余时间,用led_show.v实现。
本程序的特色:①led灯表示水位:通过一定的算法,实现用led灯的亮灭表示水位。
Led依次点亮表示注水过程,相反,表示排水和甩干过程。
②1602 LCD液晶屏:用LCD显示所有操作步骤和过程,包括选择模式,当前洗衣模式和状态,洗衣完毕等。
这些过程都是用LCD液晶屏具体显示。
③按键使用和去抖:因为要使用按键进行模式的选择,所以我用软件去抖的方式实现按键按动时的去抖。
④暂停键模拟断电保护:设计了一个暂停键,模拟真实情况中的断电保护。
当暂停时模拟现实中的断电;暂停结束模拟现实中的重新上电,程序从断点继续运行。
二:系统流程图MODE 1 OR MODE 2 OR MODE 3:MODE 4MODE 5流程图说明:第一个为总的控制系统的流程图,后面三个为总流程图中,每种模式的详细流程图。
三:主要模块介绍module my_start:顶层模块,调用下层模块。
module HZ_1:分频模块,通过10分频和5分频将50Mhz分频成为1hz。
module control:控制模块,控制洗衣模式状态机的转换。
eda课程设计 基于VHDL 的 洗衣机控制器

子信息科学与技术专业课程设计任务书说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页1 设计任务及要求(1)设计一个洗衣机控制器,控制洗衣机如下运转:定时启动-正转20秒-暂停10秒-反转10秒-暂停10秒-定时未到回到“正转20秒-暂停10秒-……”,定时到停止;(2)若定时到,则停机发出音响信号;(3)用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;(4)三只LED灯表示“正转”、“反转”、“暂停”三个状态。
设计出的洗衣机控制器可以实现按预置的时间对衣服进行洗涤,并在结束后发出音响提示。
本次设计分工如下,有预置洗涤时间模块、倒计时减法计数器、状态控制模块、发出音响模块和译码模块。
2设计原理及总体框图(1)设计的总体框图(2)设计总原理洗衣机控制器的设计主要是定时器的设计。
由一片FPGA (Field Programmable Gate Array)和外围电路构成了电器控制部分。
FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。
对FPGA芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。
顶层和中间层多数是由VHDL的元件例化语句实现。
中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。
3 程序设计(1)VHDL语言(VHSIC Hardware Description Language,甚高速集成电路硬件描述语言)是一种设计、仿真、综合的标准硬件描述语言,是对可编程逻辑器件进行开发与设计的重要工具,其优点是:支持自上而下和基于库的设计,支持范围广,具有多层次描述系统硬件功能的能力。
基于VHDL的洗衣机控制器设计说明

数字系统设计与硬件描述语言期末考试作业题目:洗衣机控制器的设计学院:电子信息工程学院专业:物联网工程学号:3014204328姓名:刘涵凯2016-12-10一、选题设计描述1.功能介绍洗衣机控制器,能够实现开始与暂停、注水,洗涤、排水、脱水和警报提醒的功能,并且可以随时更改洗衣模式。
洗衣机提供两种模式:模式1:注水-洗涤-排水-注水-洗涤-排水-脱水;模式2:脱水。
洗衣模式决定洗衣时间。
默认模式为模式2。
洗衣机界面如下图所示:运转方式如下图所示:2.算法简介总程序描述:总程序通过调用5种模块,在洗衣机控制器输入变化时,立刻转换模式并产生对应输出。
当开关关闭时,所有输出为0;暂停时,除显示开关状态的输出外,所有输出为0。
开关开启后,设置洗衣模式,之后按下“开始”即可开始工作。
在洗衣机控制器输入变化时,立刻转换模式并产生对应输出。
电子元器件模型如下图所示:switch为开关信号,modelselect为开关选择信号,clkin为系统时序脉冲信号,sorp为开始/暂停信号。
waterstate为注水程序的工作状态,washrstate为洗涤程序的工作状态,drainstate为排水程序的工作状态,drystate为脱水程序的工作状态。
alarmout为警报提醒的状态。
switchstate为数码管显示的开关的状态(0/1),spstate为数码管显示的开始/暂停的状态(0/1),state为数码管显示的洗衣机工作状态(0~4),currentmodel为数码管显示的当前模式(0~2),timedecade为数码管显示的剩余时间的十位,timeunit为数码管显示的剩余时间的个位。
下面介绍各模块功能与算法:1)开关与模式选择模块a接收开关信息,b接收模式选择信息。
c输出总电路的开关信息(开启洗衣机并且设置完毕电路后,即可准备工作,等待“开始”信号)。
e为开关信息,将输入到数码管中显示。
time1与time2分别代表洗衣时间的十位和个位,将输入到计数器与警报模块中。
EDA设计基于VHDL的简易全自动控制洗衣机
华东理工大学2009 -2010 学年第2学期《电子综合设计DEA》课程设计作业 2010.6班级:XXXX 学号: XXX 姓名:XXXX电子综合设计EDA综合设计题设计一简易全自动洗衣机控制器。
该控制器由两大状态A和B组成,每个状态分三个子状态,每个状态分别由选择A和选择B控制。
其中A为步进选择按纽,每步跳转一个子状态、B也为步进选择按纽,但每步选择B中的所有组合中的一种。
当启动时,时间序列控制器按已选的B类子状态顺序执行。
过程启动由启动/暂停键控制(暂停键在过程启动后任意时间可暂停/恢复过程)过程启动后机盖开启应均能暂停过程,复盖间停30秒后重新继续原过程。
A:强洗标准弱洗B:洗涤漂洗甩干(脱水)(洗涤,漂洗时电机分别正转、反转)强洗:(共36分钟)洗涤 18分漂洗 14分甩干 4分(洗涤时电机分别正转4分、反转4分,正反转间停30秒;漂洗时电机分别正转3分、反转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 IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY student ISPORT(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_LOGIC_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;BEGINPROCESS(COUNT_N,SG)BEGINIF SG='1' THENDT1<="00";ELSIF COUNT_N'EVENT AND COUNT_N='1' THENIF DT1=3 THENDT1<="01";ELSEDT1<=DT1+1;END IF;END IF;END PROCESS;PROCESS(COUNT_M,SG)BEGINIF SG='1' THENDT2<="00";ELSIF COUNT_M'EVENT 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 START'EVENT AND START='1' THENDICSOUNT<=DT1&DT2;CMKS<=CMKS XOR '1';END IF;END PROCESS;PROCESS(CLK,START,COOK)BEGINIF START='1' AND DCP="0000" THENDCP<=DICSOUNT;ELSIF CLK'EVENT AND CLK='1' THENIF COOK='1' THENDOUT<="00";ELSIF START='1' AND DCP>"0000" THENDOUT<="00";ELSIF SG='1' THENIF CT1<"0001" THENCT1<="0000";SG<='0';END IF;ELSIF CMKS='1' THENCASE DCP ISWHEN "0101"=>IF CT<35 THENCT<=CT+1;IF CT1<8 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=8 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<8 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=8 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="0110";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "0110"=>IF CT<27 THENCT<=CT+1;IF CT1<6 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=6 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<6 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=6 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="0111";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "0111"=>IF CT<8 THENCT<=CT+1;IF CT1<3 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=3 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<3 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=3 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="0000";CT<="000000";CT1<="0000";CT2<="0000";SG<='1';END IF;WHEN "1001"=>IF CT<27 THENCT<=CT+1;IF CT1<6 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=6 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<6 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=6 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="1010";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "1010"=>IF CT<15 THENCT<=CT+1;IF CT1<3 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=3 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<3 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=3 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="1011";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "1011"=>IF CT<8 THENCT<=CT+1;IF CT1<3 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=3 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<3 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=3 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="0000";CT<="000000";CT1<="0000";CT2<="0000";SG<='1';END IF;WHEN "1101"=>IF CT<19 THENCT<=CT+1;IF CT1<4 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=4 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<4 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=4 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="1110";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "1110"=>IF CT<11 THENCT<=CT+1;IF CT1<2 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=2 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<2 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=2 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="1111";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "1111"=>IF CT<8 THENCT<=CT+1;IF CT1<3 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=3 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<3 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=3 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="0000";CT<="000000";CT1<="0000";CT2<="0000";SG<='1';END IF;WHEN OTHERS=>DOUT<="00";END CASE;END IF;END IF;END PROCESS;LOOK<=SG;END BEHAV;二、仿真波形如下强洗全部过程强洗漂洗、甩干强洗(甩干)标准全部过程标准(漂洗、甩干)标准(甩干)弱洗(漂洗、甩干)九、弱洗(甩干)一、强洗强开盖一、标准强开盖二、弱洗强开盖暂停和启动一、强洗暂停二、强洗重新启动三、标准暂停四、标准重新启动五、弱洗暂停六、弱洗重新启动两次洗衣: 两次强洗两次标准(漂洗、甩干)一、两次弱甩三、设计思想讨论设计时参考了已有程序,此芯片有五个输入和三个输出,输入COUNT_M和输入COUNT_N是状态控制键,输入START是输入启动和暂停键,以及一个时钟CLK。
基于EDA的洗衣机控制器设计
2012年06月第16期科技视界SCIENCE &TECHNOLOGY VISION 科技视界Science &Technology Vision0前言当代,快节奏高质量的生活,使洗衣机越来越受到人们的青睐。
洗衣机在市场发展中备受欢迎,日渐成为人们生活中的必备品,因此革新洗涤技术成为业界人士非常关注的问题,越来越多的人投身于研究洗衣机[1],探索各种新的技术。
现代的电子设计技术的核心已趋转向基于计算机的电子设计自动化技术[2],即EDA(Electronic Design automation)技术,它以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,可以大大降低设计成本,缩短设计周期。
EDA 工具软件大致可分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类,包括Protel、multiSIM10、OrCAD、Quartus II [3]、Matlab 等等,E⁃DA 设计方法分为图形输入和硬件描述文本输入[4]。
此次设计的基于EDA 的洗衣机控制器,以杭州康芯电子有限公司生产的GW48系列/SOPC/EDA 实验开发系统箱为硬件平台,Quartus II 6.0为软件平台,选择的目标芯片是Cyclone 系列EP1C6Q240C8,采用VHDL 语言输入法进行设计。
实验结果显示,系统运行良好,实现了全自动洗衣机的基本功能。
1研究内容本设计实现了对洗衣机整个过程的控制,主要研究内容如下:(1)上电复位后的初始化,初始化的洗涤模式是标准模式b,定时间为15分钟;(2)启/停控制,每按一次启/停键,状态转换一次;(3)控制器正/反向输出信号,工作控制过程如图1所示;(4)洗涤定时精确度0.1,选择的洗衣模式不同,正反基于EDA 的洗衣机控制器设计姚毅陈艳风(湖南人文科技学院通信与控制工程系湖南娄底417000)【摘要】EDA 技术融合了大规模集成电路制造技术、FPGA/CPLD 编程下载和自动检测等技术,利用EDA 技术设计系统可以大大的降低设计成本,缩短设计周期。
基于EDA的洗衣机控制系统设计
基于EDA的洗衣机控制系统设计作者:李诗奇来源:《好日子(下旬)》2018年第01期摘要:EDA 技术融合了大规模集成电路技术,FPGA/CPLD 编程下载和自动检测等技术,利用 EDA 技术设计洗衣机控制系统可以大大的降低其设计成本,缩短设计周期。
本文主要采用模块化的设计思想,介绍了使用 VHDL 语言输入法,设计全自动洗衣机控制器的原理,以及每个功能模块的设计,并且利用 Quartus II 9.0 软件进行时序仿真,并下载到GW48系列EDA实验开发系统箱进行硬件验证,用以实现洗衣机控制系统的洗涤模式选择,洗涤时间控制,开盖等中断操作功能。
关键词:EDA;洗衣机控制器;Quartus II 9.0;VHDL洗衣机是人们日常生活中常见的一种家电,已经成为人们生活中不可缺少的家用电器。
在工业生产中应用也十分广泛。
但是传统的基于继电器的控制,已经不能满足人们对洗衣机的自动化程度的要求了。
洗衣机需要更好地满足人们的需求,必须借助于自动化技术的发展越来越多的人投身于研究洗衣机,探索各种新的技术。
一、概述EDA这个以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的可开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术在现代生活中也越发的重要。
二、研究内容本设计实现了对洗衣机整个过程的控制,主要研究内容如下:(1)上电复位后的初始化,初始化的洗涤模式是强洗模式,定时间为36分钟;(2)启/停控制,每按一次启/停键,状态转换一次;(3)控制器正/反向输出信号,工作控制过程如图1所示;(4)洗涤定时精确度0.1,选择的洗衣模式同,正反转时间和停止时间不同;(5)洗衣机定时和模式选择,详细转换顺序在状态机设计这章介绍。
EDA课程设计洗衣机控制器
优化建议:根据评估结果,提出优化建议,如改进算法、优化硬件配置、提高软件效率 等
测试报告:编写测试报告,详细记录测试过程、结果和优化建议,以便于后续改进和维 护。
单击此处添加标题
智能化:随着人工智能技术的发展,洗衣机控制器将更加智能化,能够自动识别 衣物类型、数量、脏污程度等,实现更加精准的洗涤控制。
控制器芯片类型:微控制器(MCU)
控制器芯片品牌:STM32系列
控制器芯片型号:STM32F103C8T6
控制器芯片功能:控制洗衣机的电机、水位、温度等参数,实现洗衣机的洗涤、脱水等 功能。
控制器接口:用于连接洗衣 机控制器和外部设备的接口
接口类型:包括数字接口和 模拟接口
数字接口:用于传输数字信 号,如开关信号、传感器信 号等
意义:通过设计洗衣机控制器,可以加深对电子设计自动化课程的理解,提高实 践能力和创新能力,为未来的工作打下坚实的基础
提高学生实践能力:通过设计洗衣机控制器,提高学生的实践操作能力和创新能力。
掌握专业知识:通过设计洗衣机控制器,让学生更好地掌握电子设计自动化(EDA)的相 关专业知识。
培养团队协作能力:设计洗衣机控制器需要团队合作,可以培养学生的团队协作能力和 沟通能力。
测试报告:详细记录测试过程、结果和 结论,为改进设计提供依据
测试环境:模拟家庭 环境,包括温度、湿 度、电压等
测试设备:洗衣机、 测试仪器、数据记录 仪等
测试项目:洗涤性能、 能耗、噪音、振动等
数据分析:使用统计方 法,如方差分析、回归 分析等,对测试数据进 行处理和分析,得出结 论。
性能测试:包括功能测试、性能测试、稳定性测试等
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华东理工大学2009 -2010 学年第2学期《电子综合设计DEA》课程设计作业2010.6 班级:XXXX 学号:XXX 姓名:XXXX开课学院:信息学院任课老师:XXXX 成绩:电子综合设计EDA综合设计题设计一简易全自动洗衣机控制器。
该控制器由两大状态A和B组成,每个状态分三个子状态,每个状态分别由选择A和选择B控制。
其中A为步进选择按纽,每步跳转一个子状态、B也为步进选择按纽,但每步选择B中的所有组合中的一种。
当启动时,时间序列控制器按已选的B类子状态顺序执行。
过程启动由启动/暂停键控制(暂停键在过程启动后任意时间可暂停/恢复过程)过程启动后机盖开启应均能暂停过程,复盖间停30秒后重新继续原过程。
A:强洗标准弱洗B:洗涤漂洗甩干(洗涤,漂洗时电机分别正转、反转)强洗:(共36分钟)洗涤18分漂洗14分甩干4分(洗涤时电机分别正转4分、反转4分,正反转间停30秒;漂洗时电机分别正转3分、反转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 IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY student ISPORT(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 BEHA V OF student ISSIGNAL DT1,DT2:STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL DICSOUNT,TEM:STD_LOGIC_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;BEGINPROCESS(COUNT_N,SG)BEGINIF SG='1' THENDT1<="00";ELSIF COUNT_N'EVENT AND COUNT_N='1' THENIF DT1=3 THENDT1<="01";ELSEDT1<=DT1+1;END IF;END IF;END PROCESS;PROCESS(COUNT_M,SG)BEGINIF SG='1' THENDT2<="00";ELSIF COUNT_M'EVENT 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 START'EVENT AND START='1' THENDICSOUNT<=DT1&DT2;CMKS<=CMKS XOR '1';END IF;END PROCESS;PROCESS(CLK,START,COOK)BEGINIF START='1' AND DCP="0000" THENDCP<=DICSOUNT;ELSIF CLK'EVENT AND CLK='1' THENIF COOK='1' THENDOUT<="00";ELSIF START='1' AND DCP>"0000" THENDOUT<="00";ELSIF SG='1' THENIF CT1<"0001" THENCT1<="0000";SG<='0';END IF;ELSIF CMKS='1' THENCASE DCP ISWHEN "0101"=>IF CT<35 THENCT<=CT+1;IF CT1<8 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=8 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<8 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=8 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="0110";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "0110"=>IF CT<27 THENCT<=CT+1;IF CT1<6 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=6 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<6 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=6 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="0111";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "0111"=>IF CT<8 THENCT<=CT+1;IF CT1<3 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=3 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<3 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=3 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="0000";CT<="000000";CT1<="0000";CT2<="0000";SG<='1';END IF;WHEN "1001"=>IF CT<27 THENCT<=CT+1;IF CT1<6 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=6 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<6 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=6 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="1010";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "1010"=>IF CT<15 THENCT<=CT+1;IF CT1<3 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=3 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<3 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=3 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="1011";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "1011"=>IF CT<8 THENCT<=CT+1;IF CT1<3 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=3 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<3 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=3 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="0000";CT<="000000";CT1<="0000";CT2<="0000";SG<='1';END IF;WHEN "1101"=>IF CT<19 THENCT<=CT+1;IF CT1<4 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=4 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<4 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=4 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="1110";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "1110"=>IF CT<11 THENCT<=CT+1;IF CT1<2 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=2 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<2 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=2 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="1111";CT<="000000";CT1<="0000";CT2<="0000";DOUT<="00";END IF;WHEN "1111"=>IF CT<8 THENCT<=CT+1;IF CT1<3 THENDOUT<="01";CT1<=CT1+1;ELSIF CT1=3 THENDOUT<="00";CT1<=CT1+1;ELSIF CT2<3 THENDOUT<="10";CT2<=CT2+1;ELSIF CT2=3 THENDOUT<="00";CT1<="0000";CT2<="0000";END IF;ELSEDCP<="0000";CT<="000000";CT1<="0000";CT2<="0000";SG<='1';END IF;WHEN OTHERS=>DOUT<="00";END CASE;END IF;END IF;END PROCESS;LOOK<=SG;END BEHA V;二、仿真波形如下强洗全部过程强洗漂洗、甩干强洗(甩干)标准全部过程标准(漂洗、甩干)标准(甩干)弱洗全过程弱洗(漂洗、甩干)九、弱洗(甩干)强开盖子:一、强洗强开盖一、标准强开盖二、弱洗强开盖暂停和启动一、强洗暂停二、强洗重新启动三、标准暂停四、标准重新启动五、弱洗暂停六、弱洗重新启动一、两次强洗两次标准(漂洗、甩干)二、两次弱甩干三、设计思想讨论设计时参考了已有程序,此芯片有五个输入和三个输出,输入COUNT_M和输入COUNT_N是状态控制键,输入START是输入启动和暂停键,以及一个时钟CLK。