EDA简易洗衣机设计
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的洗衣机控制器设计

本设计实现 了对洗衣机整个 过程的控制 , 主要研究 内容 如下 : 1上 电复位后 的初始化 , () 初始化 的洗涤模式是标准模
式 b 定时 间为 1 , 5分钟 ;2 启, () 停控制 , 每按 一次启/ 键 , 停 状 态转换一次 ;3 控制器正/ 向输出信号 , () 反 工作控制 过程 如图
原理 以及状 态机的设计 , 利用 Q ats I .进行 时序仿真 , ur 0 u I6 并下载到 G 8系 ̄/O CE A实验 开发 系统箱进行硬 件验 证。 W4 ] P /D S
【 关键词 】D ; E A 洗衣机控制 器;ur sI .; 态机 Q au I6 状 t 0
w la tem c i ei teQ a u I . f mn i l i , n o nodt G 8sr s| O C | D xe m na e ss t ahn ds n h ur sI 60 o t igs ao ad dw l W4 e e S P E A epr etl l a e g t ri mu t n a o i i
S in e& Te h oo yVi o ce c c n lg s n i
机械 与 电子
科 技 视 界
21 年0 月第 l期 02 6 6
基于 E A的洗衣机控制器设计 D
姚 毅 陈艳风
( 南人 文科 技学 院通信 与控 制 工程 系 湖
【 摘
湖南
娄底
4 70 ) 10 0
d v lp n y t m o o a d a e v r c t n e eo me t se b xf rh r w r e f ai . s i i o
【 e od]D ; si a i noe Q au I6 ;te ah e K y rsE A Wa n m c n c tlr ur sI . S tm ci w h g h e o rl; t 0 a n
简易洗衣机控制电路的设计

1.Proteus软件简介1.1 概述Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、A VR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
1.2 具有四大功能模块:1.2.1 智能原理图设计(ISIS)丰富的器件库:超过27000种元器件,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清晰;输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。
1.2.2 完善的电路仿真功能(Prospice)Prospice混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析;1.2.3 独特的单片机协同仿真功能(VSM)支持主流的CPU类型:如ARM7、8051/52、A VR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、A VR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil 和Hitech)结合,进行高级语言的源码级仿真和调试;1.2.4 实用的PCB设计平台原理图到PCB的快速通道:原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计;先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理;完整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D 可视化预览;多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如Protel)和PCB板的设计和加工。
EDA技术大作业 全自动洗衣机控制器

《EDA技术》大作业电子钟电路设计要求:1、准确计时,以数字形式显示时、分、秒的时间;2、小时为24进制,分与秒的计时要求为60进制;3、具有校时功能;、整点报时。
4:姓名:学号武启明1893130125:班级科学:专业与光电信息131 工程安徽科技学院数理与信息工程学院物电系EDA全自动洗衣机控制器1设计目的《EDA技术与应用》课程是电子信息工程、自动控制、计算机科学与工程等专业的技术课之一,具有很强的工程实践性。
通过本次课程设计来掌握现代硬件数字电路的软件化设计的基本方法、掌握应用VHDL及EDA 工具开发设计各种电路的基本方法,以及对现代电子设计自动化技术有一定的了解,会把所学的专业知识更好的用到实践中去。
2设计的主要内容和要求(1)设计一简易全自动洗衣机控制器。
该控制器由两大状态A和B组成,每个状态分三个子状态,每个状态分别由选择A和选择B控制。
其中A为步进选择按纽,每步跳转一个子状态、B也为步进选择按纽,但每步选择B中的所有组合中的一种。
(2)过程启动由启动/暂停键控制(暂停键在过程启动后任意时间可暂停/恢复过程)。
(3)过程启动后洗衣机盖开启能任意控制。
(4)能设置实现多次洗衣的功能。
3整体设计方案本次设计大致可以分成两个模块来看待:控制端和工作端。
控制部分使用了三个进程来处理,进程一控制状态COUNT_M,进程二控制状态:当连顺出现一个,两个,COUNT_M,进程三控制开始和暂停。
其中,COUNT_N.三个高电平时分别表示强洗,标准,弱洗三种状态的洗衣过程。
再者,COUNT_N:当出现一个,两个,三个高电平时分别表示洗涤,漂洗与甩干,甩干。
其次,信号START控制洗衣机的暂停和重新启动。
工作部分使用了一个进程来处理,在该进程中主要处理强制开盖,洗衣的各个状态。
控制端中,中间变量SG是工作结束标志信号, DT是状态的中间变量。
COOK为强开洗衣机盖子信号端,DCP输入状态中间信号。
LOOK为时间到输出停机,当其输出为高电平时所有数据为0。
EDA-洗衣机控制器设计

2010年12月21日
主要内容:
设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒……”,定时到则停止,同时发出提示音。
基本要求:
1、设计一个电子定时器,控制洗衣机作如下运转:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒……”,定时到则停止;
2、设计框图
定时时间未到
二、设计步骤和调试过程
1、总体设计电路
洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间和编码电路、数码管显示、译码器组成。
具体电路如下图所示:
2、模块设计和相应模块程序
⑴数码管显示
实现数码管显示
Library iee;
Use ieee.std_logic_1164.all;
"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 rtl
⑵时序电路
Library ieee;
Use ieee.std_logic_1164.all;
End if;
End if;
End if;
End process;
End rtl;
⑶预置时间和编码电路
Library ieee;
Use ieee.std_logic_1164.all;
EDA洗衣机实验

实训报告课程名称:ED(洗衣机控制的设计)学生姓名:肖忠亮学号:8000610040专业班级:计算机软件南昌大学实训报告学生姓名:肖忠亮学号:8000610040专业班级:计算机软件实训类型:口验证□综合二设计口创新实训日期:实验成绩:一、实训工程名称洗衣机控制电路、实训目的1.熟悉verilog语言的程序的设计。
2.熟悉Quatus II软件的使用。
3.熟练掌握代码对硬件的烧写。
4.使用verilog语言设计具有创新的硬件电路三、实训要求1.熟悉EDA的开发环境Quartus II软件的使用;2.设计原理图或者功能模块;3.根据原理图或者功能图编写代码;4.实现洗衣机控制系统的仿真:四、实训基本原理(附原理图、源程序清单)控制功能说明:1.洗衣机的工作状态为待机5秒,正转60秒,待机5秒,反转60秒,并用3 个led灯和7段显示器表示工作的状态和显示相应工作状态下的时间。
2.可以自定义来控制洗衣机的循环次数。
3.具有紧急情况的处理功能,4.设定循环次数递减到0的时候就立刻报警,以表示设定的循环次数已经结束。
2 个数码管,34 表后二个数码管LED 洗衣机工作的的状态的显示//时钟信号// 暂停和开启按钮 (相当于洗衣机遇到经济情况的时候的处理) //电源开关//表示给增加循环次数的确定的按钮 //增加循环次数的开始//记录洗衣机的状态 //洗完后洗衣机的警报灯//4 个状态的灯管显示 //洗衣机工作的时间十位 //时间的个位显示 //记录洗衣要循环的次数十位显示 //循环次数的个位显示// 不工作状态,启动状态,第一个 5 秒状态, 60 秒状态,洗完了状态警报状态,停止状态。
// 用来对 COUNTER2 的数量进行的变换和计算的标志begindec=3'b000。
cur_state=END 。
COUNTER1='h00 。
COUNTER2='h00 。
end*/reg [2:0] state 。
EDA课程设计---全自动洗衣机
EDA课程设计全自动洗衣机1 设计任务及要求利用可编程逻辑器件丰富的内部资源,借助EDA(电子设计自动化)工具(如MAX+plusⅡ)把家电控制器电路集成在一片FPGA(现场可编程门阵列)芯片内,这样就无需专门的单片机和外部逻辑电路。
从而减小了电路的体积、提高了系统的稳定性。
本次电路设计是洗衣机控制器设计。
设计的主要内容是:(1)设计一个洗衣机控制器,使洗衣机作如下运转:定时启动—〉正转20秒—〉暂停10秒—〉反转20秒—〉暂停10秒—〉定时不到,重复上面过程。
(2)若定时到,则停止,并发出音响信号。
(3)用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由开始信号开始。
(4)三只LED灯表示正转、反转、暂停三个状态。
设计的主要要求是:(1)根据设计题目要求编写相应程序代码(2)对编写的VHDL程序代码进行编译和仿真(3)利用实验箱完成硬件验证(可选)(4)总结设计内容,完成课程设计说明书2设计原理及总体框图洗衣机控制器的设计主要是定时器的设计,由一片FPGA和外围电路构成了电器控制部分。
FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制(洗衣机洗涤过程如图2所示)。
对FPGA芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。
顶层和中间层多数是由VHDL的元件例化语句实现。
中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。
洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间和编码电路、数码管显示、译码器组成。
具体电路如图3所示:图3洗衣机控制器总体设计图3 程序设计(1)时间设置电路:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity settime isport(load:in std_logic;k:in std_logic_vector(9 downto 0);o:out std_logic_vector(3 downto 0));end settime;architecture rt1 of settime issignal p1:std_logic_vector(3 downto 0); beginprocess(load)beginif(load'event and load='1')thencase k iswhen "1000000000"=>p1<="0001";when "010*******"=>p1<="0010";when "0010000000"=>p1<="0011";when "0001000000"=>p1<="0100";when "0000100000"=>p1<="0101";when "0000010000"=>p1<="0110";when "0000001000"=>p1<="0111";when "0000000100"=>p1<="1000";when "0000000010"=>p1<="1001";when "0000000001"=>p1<="1010";when others=>p1<="0000";end case;end if;end process;o<=p1;end rt1;(2)数码管显示library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity showtime isport(num:in std_logic_vector(3 downto 0);dout:out std_logic_vector(6 downto 0) );end showtime;architecture a1 of showtime isbeginwith num selectdout<="1111110" when "0000","0110000" when "0001","1101101" when "0010","1111001" when "0011","0110011" when "0100","1011011" when "0101","1011111" when "0110","1110000" when "0111","1111111" when "1000","1111011" when "1001","0000000" when others;end a1;(3)序电路library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity SHIXU isport(clk:in std_logic;TG:in std_logic;start:in std_logic;SHUCHU:BUFFER std_logic_VECTOR(2 DOWNTO 0) );end SHIXU;architecture behav of SHIXU isSIGNAL QQ:STD_LOGIC_VECTOR(5 DOWNTO 0);beginprocess(clk,tg,QQ)beginif(tg='1')or(start='0') then shuchu<="001";QQ<="111011"; else if(clk'event) and (clk='1')thenif QQ="000000" then QQ<="111011" ;shuchu<="100" ;elsif QQ="111010"then shuchu<="100" ;elsif QQ="100111"then shuchu<="001";elsif QQ="011101"then shuchu<="010";elsif QQ="001001"then shuchu<="001";end if;QQ<=QQ-1;end if;end if;END PROCESS;end behav;⑷译码器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity YIMA isport(run:out std_logic;rev:out std_logic;pause:out std_logic;SHURU:IN std_logic_VECTOR(2 DOWNTO 0));end YIMA;architecture behav of yima isbeginprocess(shuru)begincase shuru iswhen "001"=>rev<='0';run<='0';pause<='1'; when "010"=>rev<='1';run<='0';pause<='0'; when "100"=>rev<='0';run<='1';pause<='0'; when others=>rev<='0';run<='0';pause<='1'; end case;end process;end behav;(5)减法计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity counter isport(start:IN std_logic;clk:IN std_logic;CHUSHItime:IN integer range 0 to 15;XIANSHItime:OUT integer range 0 to 15;JINWEI:BUFFER std_logic);end counter;architecture behav of counter issignal ZHONGJIANtime:integer range 0 to 15;beginprocess(clk)beginif(start='0')thenZHONGJIANtime<=CHUSHItime;XIANSHItime<=CHUSHItime;jinwei<=' 0';elseif(clk'event and clk='1')thenif(ZHONGJIANtime=0) then XIANSHItime<=0;JINWEI<='1';elseZHONGJIANtime<=ZHONGJIANtime-1;XIANSHItime<=ZHONGJIANtime;end if;end if;end if;end process;end behav;4 编译及仿真EDA工具在EDA技术应用中占据极其重要的位置,EDA的核心是利用计算机完成电子设计全程自动化,因此基于计算机环境的EDA软件的支持是必不可少的。
基于EDA的全自动洗衣机控制器设计
※※※※※※※※※※※※※※※※※※※※※※※※EDA课程设计报告书课题名称基于EDA的全自动洗衣机控制器设计姓名学号院系专业指导教师一、设计任务及要求:1.强洗:洗涤18分钟,漂洗14分钟,甩干4分钟。
2.标准:洗涤14分钟,漂洗8 分钟,甩干4分钟。
3.弱洗: 洗涤10分钟,漂洗6 分钟,甩干4分钟。
4.有强制开洗衣机盖的能力。
5.可实行多次洗衣的功能。
6.有启动和暂停和再重起的功能。
指导教师签名:年月日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日基于EDA的全自动洗衣机控制器设计1设计目的《EDA技术与应用》课程是电子信息工程、自动控制、计算机科学与工程等专业的技术课之一,具有很强的工程实践性。
通过本次课程设计来掌握现代硬件数字电路的软件化设计的基本方法、掌握应用VHDL及EDA工具开发设计各种电路的基本方法,以及对现代电子设计自动化技术有一定的了解,会把所学的专业知识更好的用到实践中去。
2设计的主要内容和要求(1)设计一简易全自动洗衣机控制器。
该控制器由两大状态A和B组成,每个状态分三个子状态,每个状态分别由选择A和选择B控制。
其中A为步进选择按纽,每步跳转一个子状态、B也为步进选择按纽,但每步选择B中的所有组合中的一种。
(2)过程启动由启动/暂停键控制(暂停键在过程启动后任意时间可暂停/恢复过程)。
(3)过程启动后洗衣机盖开启能任意控制。
(4)能设置实现多次洗衣的功能。
3整体设计方案本次设计大致可以分成两个模块来看待:控制端和工作端。
控制部分使用了三个进程来处理,进程一控制状态COUNT_M,进程二控制状态COUNT_N,进程三控制开始和暂停。
其中,COUNT_M:当连顺出现一个,两个,三个高电平时分别表示强洗,标准,弱洗三种状态的洗衣过程。
再者,COUNT_N:当出现一个,两个,三个高电平时分别表示洗涤,漂洗与甩干,甩干。
其次,信号START控制洗衣机的暂停和重新启动。
EDA课程设计洗衣机控制器
优化建议:根据评估结果,提出优化建议,如改进算法、优化硬件配置、提高软件效率 等
测试报告:编写测试报告,详细记录测试过程、结果和优化建议,以便于后续改进和维 护。
单击此处添加标题
智能化:随着人工智能技术的发展,洗衣机控制器将更加智能化,能够自动识别 衣物类型、数量、脏污程度等,实现更加精准的洗涤控制。
控制器芯片类型:微控制器(MCU)
控制器芯片品牌:STM32系列
控制器芯片型号:STM32F103C8T6
控制器芯片功能:控制洗衣机的电机、水位、温度等参数,实现洗衣机的洗涤、脱水等 功能。
控制器接口:用于连接洗衣 机控制器和外部设备的接口
接口类型:包括数字接口和 模拟接口
数字接口:用于传输数字信 号,如开关信号、传感器信 号等
意义:通过设计洗衣机控制器,可以加深对电子设计自动化课程的理解,提高实 践能力和创新能力,为未来的工作打下坚实的基础
提高学生实践能力:通过设计洗衣机控制器,提高学生的实践操作能力和创新能力。
掌握专业知识:通过设计洗衣机控制器,让学生更好地掌握电子设计自动化(EDA)的相 关专业知识。
培养团队协作能力:设计洗衣机控制器需要团队合作,可以培养学生的团队协作能力和 沟通能力。
测试报告:详细记录测试过程、结果和 结论,为改进设计提供依据
测试环境:模拟家庭 环境,包括温度、湿 度、电压等
测试设备:洗衣机、 测试仪器、数据记录 仪等
测试项目:洗涤性能、 能耗、噪音、振动等
数据分析:使用统计方 法,如方差分析、回归 分析等,对测试数据进 行处理和分析,得出结 论。
性能测试:包括功能测试、性能测试、稳定性测试等
EDA课程设计洗衣机控制器要点
东北石油大学课程设计技术课程设 ED洗衣机控制电子科学学电子信息工专业班学生姓学生学号指导教师2014年 3 月7日东北石油大学课程设计任务书课程EDA技术课程设计洗衣机控制器题目专业姓名电子信息工程学号主要内容、基本要求、主要参考资料等主要内容:设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。
设定洗衣机的工作时间,要洗2010秒?定时未到回到“正转秒正转20?暂停10秒?反转20秒?暂停衣机在工作时间内完成:定时启动? 10秒?……”,定时到则停止,同时发出提示音。
秒?暂停基本要求:暂?反转20秒?1、设计一个电子定时器,控制洗衣机作如下运转:定时启动正转20秒?暂停10秒?,定时到则停止;?……”定时未到回到“正转20秒?暂停10秒秒停10?、若定时到,则停机发出音响信号;2,按倒计时方式对洗涤过程作计时显示,直到时间到3、用两个数码管显示洗涤的预置时间(分钟数)”信号开始;停机;洗涤过程由“开始三个状态。
“反转”、“暂停”正转4、三只LED灯表示“”、主要参考资料:,2005. .EDA技术实用教程(第二版). 北京:科学出版社潘松著[1],2006. 电子技术基础模拟部分. 北京:高教出版社[2] 康华光主编.,2003.北京:高教出版社.数字电子技术基础. [3] 阎石主编2014.3.7 完成期限指导教师专业负责人日年2014 33月一、设计思想1.基本原理洗衣机控制器的设计主要是定时器的设计。
由一片FPGA和外围电路构成了电器控制部分。
FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。
对芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。
顶层和中间层多数是由VHDL 的元件例化语句实现。
中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录摘要 (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 洗衣机状态控制模块 (6)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 定时输入模块仿真结果 (7)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 报警模块源代码 (11)附录7 总体设计源代码: (12)摘要此次的课程设计的题目是简易洗衣机控制器设计,这次的EDA课程设计主要就是掌握EDA技术在一些方面的运用。
掌握EDA技术及CPLD/FPGA的开发流程、自顶向下的设计思想和系统设计的分析方法,以及洗衣机控制器的工作原理。
本次的设计已基本完成要求,待机5s →正转10s →待机5s →反转10s →,如此循环。
并用3个LED灯和7段数码管分别表示其工作状态和显示相应工作状态下的时间,能够自行设定洗衣机的循环次数,利用循环语句来实现。
到达所设定的循环次数后报警提示,报警就是将敏感变量赋给报警输出量。
虽然对于设计的东西不是很了解,不过,大致的思路已经了解。
此篇课程设计报告大致包括对于此次设计的总体的原理和思路,以及设计的每个模块分析,电路图,源程序的描述,仿真结果的展示。
能够将所学知识运用到此次的课程设计当中,对于之前的一些理论知识也是一种深刻认识。
绪论随着电子技术获得了飞快的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
EDA,这个以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的可开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术在现代生活中也越发的重要。
面对当今飞速发展的电子产品市场,电子设计人员需要更加实用、快捷的EDA工具,实用统一的集成设计环境,改变传统设计思路,即优先考虑具体物理实现方式,而将精力集中到设计构思、方案比较和寻找最优化设计等方面,以最快的速度开发出性能优良、质量一流的电子产品。
今天的EDA工具将向着功能强大、简单易学、使用方便的方向发展。
本次设计所用到的硬件描述语言是VHDL语言。
硬件描述语言VHDL是EDA技术技术的重要组成部分。
VHDL是Very High Speed Integrated Circuit Hard Description Language的简称,作为一个规范语言和建模语言,随着VHDL的标准化,出现一些支持该语言的行为仿真器。
不过,VHDL 不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具,可以利用软件工具将VHDL 源码自动地转化为文本方法表达的基本逻辑元件连接图,即网表文件。
此次的课程设计正是利用EDA技术及其运用来实现一个简易的洗衣机控制器的设计。
将EDA 技术拓展,将理论联系实际。
为了更好地运用EDA知识,也为了掌握VHDL语言的。
此次的课程设计以EDA技术为基础,以VHDL语言为硬件语言,编写一段程序来实现简易洗衣机的控制。
第一章设计的总体构思1、1 设计的基本原理此次制作的的简易洗衣机控制器设计用三只LED灯来显示洗衣机正转、反转、待机的三种状态。
然后用电子定时器控制洗衣机设定的工作时间,以及正传、反转以及待机运行时间的控制。
同时用两个数码管显示洗涤的预置时间(按秒数计数),按倒计时方式对洗涤过程作计时显示,待机5s →正转10s →待机5s →反转10s →,如此循环,直到时间到,循环结束;洗涤过程由“开始”信号开始;最后定时到则停止,同时用蜂鸣器发块来说,dout和dout1的输出是由shu和hshu的上升沿来控制的,同时dout和dout1又是hui和hui1的一个输入。
而washmachine的输入是一个脉冲,输出c和d又分别是hui 和dianji的输入。
而kaiguan是hui和hui1的输入,控制倒计时的模块,用来随时停止计时。
1、3 总体设计的源代码讲解此次设计的总体的源代码是将各个模块加进来,联合定时输入模块、电机时间设置模块、倒计时模块、电机状态控制模块、数码管显示模块,设计出一个简易洗衣机控制器,为了不让那些输入输出量重名,将一些本来要重名的变量设置了一下。
同时对于,信号量,也是集齐所有模块的所有的的信号量来集中的。
本次的源代码是将各个模块的源代码集中到一起的。
是对那些模块的调用,用COMPONENT来实现调用的。
然后对于实现简易洗衣机的循环,用一个循环语句来实现,用clk来当做信号变量贯穿始终。
对于源代码中的信号量都是各个模块中的信号量。
Count都是分得很清楚,以免有所重复。
所用的循环语句是LOOP语句,LOOP语句就是循环语句,它可以使所包含的一组顺序语句被执行,其执行次数可由设定的循环参数决定。
LOOP语句的常用表达方式有两种,此次所用的是单个LOOP 语句,其语法如下:[LOOP 标号:] LOOP顺序语句END LOOP [LOOP 标号]这种循环方式是一种最简单的语句形式,它的循环方式需引入其他控制语句(如EXIT语句)后才能确定;“LOOP标号”可以任意选。
此次的源代码中,用a来当变量,每执行一次,a就加1,当a大于15时就跳出循环,这也是使得本次设计的简易洗衣机能够循环的次数不超过15次,这也是设计任务书要求,所以说,源代码在功能上基本可以实现要求,包括待机,接着正转,再是待机,又是反转,以此循环15次。
第二章设计的分立模块解析讲解的依次是定时输入模块、电机时间控制模块、倒计时模块、电机状态控制模块、数码管显示模块。
以及顺带介绍一下要事先报警应如何操作。
2、1 定时输入模块此模块是为了实现洗衣机能够定时输入的功能,保证洗衣机能够正常运行。
当din为1的时候是无效时刻,而且shu是上升沿时dout加1,hshu是上升沿时dout1加1。
2、1、1 定时输入模块源代码讲解首先,是定义输入输出量,有三个输入量,shu和hshu以及din,输出量有两个,分别是dout和dout1,信号量有两个,分别是count和count1。
信号量在在源代码中充当中间量。
最后是要把count和count1分别赋值给dout和dout1的。
输入量shu和hshu 分别决定count和count1,当shu和hshu是上升沿时,count和count1加1,count是从0到9,接着又是到0开始循环,而count1是从0到6,接着是到0继续循环。
不过,当din为1时count和count1都是“1111”,也就是说,当din为1时相当于阻止此模块运行。
2、1、2 定时输入模块框图2、2 洗衣机时间控制模块此模块由一个累加器和一个命令控制器组成,用来实现预置洗涤时间的功能,洗涤时间以分钟数为单位,用户可根据自己的需求来设定洗涤时间的长短。
一开始是想说,在时间设置模块设置15次的循环时间,这样也就避免让时间设置方面那样麻烦,不过,此次的源代码是将此模块算在当中的。
2、2、1 洗衣机时间控制模块源代码讲解首先来说,就是此模块的输入输出量都是很简单的,有一个输入,两个输出,clk输入,也即脉冲输入,d和c输出。
信号量count2(有三位)和shi。
而clk是上升沿时shi 则加1,shi是从0到60的,当shi为60时,c为1,否则,c则为也是从0到5的,当count2为5时,d为1,否则d则为0.2、2、2 洗衣机时间控制模块框图2、3 倒计时模块由于洗衣机有工作时间,必须要一模块来控制它的工作时间范围,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。
2、3、1 倒计时模块源代码讲解首先此模块是有两部分的,有十位的还有个位的表示。
对于这两部分,模式基本一致。
输入量有三个,jian、reset和din[3,0],din[3,0]为定时输入模块的输出dout[3,0]。
信号量有count[3,0]。
Jian就是控制倒计时的量,当jian的上升沿到来,则count[3,0]开始减1,count[3,0]从9开始减到0,然后再循环,不过这是对于个位输入来说,对于十位来说,则不用考虑。
Reset是有开关来控制的。
当reset为1时,此模块是不能工作的,就是复位。
2、3、2 倒计时模块框图2、4 洗衣机状态控制模块此模块是为了实现能够控制洗衣机电机时间达到正转、反转、待机的功能。
让观看者在外部能够观察到洗衣机当下正处于什么状态,而且,此外还有灯的部分,所以,通过灯也可以辨认出洗衣机的工作状态。
2、4、1 洗衣机状态控制模块源代码讲解此模块的输入量只有一个,就是cc,输出量有两个,dd和dneg,信号量为count、dian和deng1,dd=dian,而deng=deng1。
当cc的上升沿到来时,count则加1,count 是从0到5循环的。
Count的变化也就是会决定待机、正转、反转的时间,dian的值则是代表待机、正转、反转的,01代表正转,此时deng为100,也即亮灯表示正转;00代表待机,此时deng为010,也即亮灯代表待机;11代表反转,此时deng为001,也即亮灯代表反转。