EDA课程设计洗衣机控制器.docx
文本预览下载声明
东 北 石 油 大 学
课 程 设 计
课
课
程
EDA 技术课程设计
题
目
洗衣机控制器
院
系
电子科学学院
专业班级
电子信息工程
学生姓名
学生学号
指导教师
2014 年 3 月 7 日
东北石油大学课程设计任务书
课程
EDA 技术课程设计
题目
专业
洗衣机控制器
电子信息工程
姓名
学号
主要内容、基本要求、主要参考资料等
主要内容:
设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。设定洗衣机的工作时间,要洗 衣机在工作时间内完成:定时启动?正转20秒?暂停10秒?反转20秒?暂停10秒?定时未到回到“正转20 秒?暂停10秒?……”,定时到则停止,同时发出提示音。
基本要求:
1、设计一个电子定时器,控制洗衣机作如下运转:定时启动?正转20秒?暂停10秒?反转20秒?暂停10秒?定时未到回到“正转20秒?暂停10秒?……”,定时到则停止;
2、若定时到,则停机发出音响信号;
3、用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;
4、三只LED灯表示“正转”、“反转”、“暂停”三个状态。
主要参考资料:
潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.
康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.
阎石主编.数字电子技术基础. 北京:高教出版社,2003.
完成期限 2014.3.7
指导教师 专业负责人
2014 年 3 月 3 日
PAGE
PAGE 2
一、设计思想
基本原理
洗衣机控制器的设计主要是定时器的设计。由一片FPGA 和外围电路构成了电器控制部分。FPGA 接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对芯片的编程采用模块化的 VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL 的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流 电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用 底层模块。
设计框图
定时到
定时到
定时启动
正转 20s
暂停 10s
反转 20s
暂停 10s
停止
定时没到
图 1 设计框图
用两位数码管预置洗涤时间(分钟数),洗涤过程在送入预置时间后开始运转,洗涤中按倒计时方式对洗涤过程作计时显示,用 LED 表示电动机的正、反转,如果定时时间到,则停机并发出音响信号。
二、设计步骤和调试过程
1、模块设计和相应模块代码
洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电
路、预置时间和编码电路、数码管显示、译码器组成。
预设时间和编码电路:本模块将输入的四位时间信号编码成八位二进制数输出到减法计数器电路。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all; entity settime is port (
load:in std_logic;
time_input:in std_logic_vector(3 downto 0); time_set:out std_logic_vector(7 downto 0)
);
end settime;
architecture settime of settime is
signal p1:std_logic_vector(7 downto 0); begin
process(load) begin
if(loadevent and load=1) then
case time_input is
when 0000=p1 when 0001=p1 when 0010=p1 when 0011=p1 when 0100=p1 when 0101=p1 when 0110=p1 when 0111=p1 when 1000=p1 when 1001=p1
when others=p1
end case; end if;
end process time_set=p1;
end settime;
图 2 预设时间和编码仿真
用 K1、K2、K3、K4 给 time_input 输入一个二进制数 0111,让load 有
显示全部