eda数字逻辑洗衣机控制器
更新时间:2024-03-19 17:20:01 阅读量: 综合文库 文档下载
湖南涉外经济学院
课程设计报告
课程名称:EDA技术与应用
报告题目:洗衣机控制器的设计 学生姓名: 所在学院: 专业班级: 学生学号: 指导教师:
2016年12月28日
1
课程设计任务书
报告题目 学生姓名 洗衣机控制器的设计 专业班级 指导教师 完成时间 职称 教授 总体设计要求和技术要点 设计一个洗衣机控制器,要求如下: 1.设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动?正转20秒?暂停10秒?反转20秒?暂停10秒?定时未到回到“正转20秒?暂停10秒???”,定时到则停止,同时发出提示音。 2.若定时到,则停机发出声音信号 3.用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始; 4.三只LED灯表示“正转”、“反转”、“暂停”三个状态。 工作内容及时间进度安排 第15周: 周1---周3 :立题、论证方案设计 周4---周5 :预答辩 第16周: 周1---周3 :仿真实验7 周4---周5 :验收答辩 课程设计成果 1.与设计内容对应的软件程序 2.课程设计总结报告
摘要
2
洗衣机控制器的设计主要是定时器的设计。由一片FPGA和外围电路构成了电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。
3
目录
一、概述????????????????????????????5 二、程序框图????????????????????????5 三、程序模块设计??????????????????????6
1.减法计数器模块???????????????????????6 2.数码管显示模块???????????????????????63.时序电路模块????????????????????????6 4.译码器模块?????????????????????????6 5.声音模块???????????????????6 四、VHDL源程序????????????????????????6 五、仿真波形图??????????????????????10 六、 结论与心得??????????????????????????11 七、 参考文献???????????????????????????11
4
一、概述
洗衣机的逻辑结构主要由优先计时模块、报警模块及数码管显示模块组成。洗衣机控制器的设计主要是定时器的设计。由一片FPGA和外围电路构成了电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。
二、程序框图
定时启动 正转 暂停 反转 暂停 停止 定时到 定时未到
5
三、程序模块设计 1、减法计数器模块:
由于洗衣机有工作时间,必须要一模块来控制它的工作时间范围,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。当出现系统运行结束信号time_over时,蜂鸣器报警洗衣机工作结束。
2、数码管显示模块:
根据课程设计要求,必须将洗衣机的工作状态及工作时间在数码管和指示灯上显示出来,此模块是用来控制洗衣机的工作状态及工作的频率,并把工作状态及工作时间显示出来。a,b,c,d,e,f,g分别对应数码管的七段,minute和second分别位选两个数码管,显示十位和个位。
3、时序电路模块:
接收运行起止信号,安排电机运行状态并编码输出
4、译码器模块:
接收电机运行状态信号,译码后实时控制电机的正传、反转和暂停。
5、声音模块:
当洗涤时间结束时,洗衣机就会发出警笛声,以此提醒用户洗涤结束。
四、VHDL源程序
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;
6
use ieee.std_logic_unsigned.all; entity xiyiji is
port(clk,clk1,minter,start,rst:in std_logic;
M :out std_logic_vector(2 downto 0); BEEP :out std_logic; SL1: out std_logic;
LED :out std_logic_vector(6 downto 0));
end xiyiji;
architecture one of xiyiji is
signal MDate: integer range 0 to 9:=0; signal BDate: integer range 0 to 9:=2; signal Date: integer range 0 to 9:=0; signal Sceond: integer range 0 to 60:=0; signal Sceond20: integer range 0 to 60:=0; signal Sceond10: integer range 0 to 60:=0; signal Sceondf20: integer range 0 to 60:=0; signal yanshi: integer range 0 to 100:=0; signal flag: std_logic:='0'; signal Cflag: std_logic:='0'; signal Sflag: std_logic:='0'; signal Gflag: std_logic:='1'; signal Lflag: std_logic:='0'; begin process(clk1)
begin
if clk1'event and clk1='1' then
if yanshi<30 then yanshi<=yanshi+1; else Lflag<=not (Lflag);yanshi<=0;
end if; end if;
7
end process;
process(start,rst,minter,flag,Sflag)
begin
if start'event and start='1' and Lflag='0' then flag<='1'; end if; if rst='0' then
if minter'event and minter='1' and flag='0' and Lflag='0' then if MDate<9 then MDate<=MDate+1; else MDate<=0; end if; end if;
else MDate<=0;flag<='0';--Gflag<='0'; end if;
if flag='1' then
if Sflag'event and Sflag='1' then
if Date>0 then Date<=Date-1;Gflag<='0'; else Gflag<='1';
end if; end if;
else Gflag<='0';Date<=MDate; end if;
if Gflag='1' then BEEP<=clk1; end if;
end process; process(clk,Cflag)
begin
if clk'event and clk='1' and flag='1' then
if Sceond<59 then Sceond<=Sceond+1; Sflag<='0';-- else Sceond<=0; Sflag<='1';--
8
end if;
if Gflag='0' and flag='1' then
if Sceond20<20 then Sceond20<=Sceond20+1; M<=\elsif Sceond10<10 then Sceond10<=Sceond10+1;
M<=\
elsif Sceondf20<20 then Sceondf20<=Sceondf20+1; M<=\else Sceond20<=0; Sceond10<=0; end if; end if;
Sceondf20<=0;
end if;
if Gflag='1' then M<=\end if;
end process;
with Date select LED<=\
\\\\\\\\\\
SL1<='0';
end one;
9
五、仿真波形图
六、结论与心得
通过这次课程设计我对FPGA的编程更加熟悉,对定时器和计数器的设计,让我更加明白时序组合门电路设计思路和方法。而且自已独立思考与设计,使我初步掌握了VHDL的设计方法与一些技巧。通过这个实验设计,我更加熟练地掌握了一些常见的数字芯片的设计方法,在设计中也参考和查阅了很多资料,从中学到不少课本上没有的东西。只有把所学的理
10
论知识与实践相结合起来,从理论中得出结论,才能真正地更好去理解知识,从而提高自己的实际动手能力和独立思考的能力
同时为期两周的EDA课程设计结束了,我成功的完成了我的任务——洗衣机控制器,但对我来说宝贵的不是结果而是过程,在思考、摸索、寻求帮助最终圆满完成设计的过程中我学会了许多。 在第一周的开始,我们接触了全新的知识,了解了Max+PlusII软件、Verilog HDL语言和实验箱,这对我来说既新鲜又有趣,但第一次用一种新的语言来编写一个设计确实是个挑战。这一个星期我一直在从图书馆借来的资料上、网络上努力学习并掌握Max+PlusII软件、Verilog HDL语言,利用一切闲暇的时间仔细思考我的设计思路和方向,因为我知道方向比速度更重要。当我已经有了整体程序的大框后,一些细节的问题层出不穷,比如计数器的终值控制、清零的反应速度、对开关的状态敏感还是变化敏感等等。在一遍一遍的调试和修改中,我深刻理解了那句以前未体会的一句话:“阻挡你前行的并不是你面前的大山而是鞋子里的小石子。”不要忽略细枝末节的小问题,细节决定成功。 拿着调试好了的仿真波形和程序设计,我兴高采烈的去上箱天真的以为课程设计的成功触手可及,而实际上由于缺乏经验在硬件和软件连接的过程中仍然着意象不到的问题。硬件的实现与软件构造的理想模型有着些许细小的差异,几经调试,多次从程序、锁定管脚到连线的确认,我终于得到了我期待的实验效果。
感谢陈明义老师在我整个设计过程中的指导和帮助,他严谨认真的工作态度让我学会了设计过程中要精准仔细。感谢我的同学们在两周里的帮助和鼓励,他们的陪伴让我拥有克服任何困难的勇气。这次课程不是结束而是一个新的开始,在以后的生活中我会继续保持这次课程设计教给我的宝贵经验。
七、参考文献
[1] EDA 技术与应用/陈忠平,高金定主编; 京:中国电力出版社,2013.11
北
11
教师评语: 教师评语及设计成绩 课程设计成绩: 指导教师: 日期:年月日
12
正在阅读:
eda数字逻辑洗衣机控制器03-19
财政部2013年企业内部控制知识竞赛8月1日-10月31日(参考答案)06-09
侵权责任法试题及答案09-11
春暖人间作文600字06-25
个人房地产销售工作报告-精选模板01-02
黔南州电子路考详解05-26
汉代官职02-19
2019年中考语文复习模拟卷703-08
新生儿常见疾病(6)09-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 控制器
- 洗衣机
- 逻辑
- 数字
- eda
- 鸭养殖防疫的相关问题分析
- 《民主崩溃的政治学》读后感
- 公司股权投资合作协议书
- 中考生物非选择题高分练(九) - 图文
- 学农日记(1500字作文)
- 计算机系学生交接仪式
- 2SK-12真空泵原理及特点 - 图文
- 信息系统安全
- 辽宁省实验中学分校2017-2018学年高一上学期期末考试物理
- 税负率低情说明
- 第12章无机结合料稳定路面
- 高三作文纯粹做人痛快行事
- 瑞利勋爵对现代声学基础理论的开创性贡献
- 设备检修三级验收管理制度
- 描写梅花的优美句子集锦
- 继续教育学分个人填报流程说明 - 图文
- 哈工大综合课程设计报告2
- 注塑车间安全管理制度 修改版
- 三全食品上市公司负债经营分析
- 最新-2018届山东省潍坊市高三上学期期中检测生物试题及答案 精品