收藏 分享(赏)

EDA简易洗衣机设计.doc

上传人:精品资料 文档编号:8257060 上传时间:2019-06-17 格式:DOC 页数:25 大小:679.77KB
下载 相关 举报
EDA简易洗衣机设计.doc_第1页
第1页 / 共25页
EDA简易洗衣机设计.doc_第2页
第2页 / 共25页
EDA简易洗衣机设计.doc_第3页
第3页 / 共25页
EDA简易洗衣机设计.doc_第4页
第4页 / 共25页
EDA简易洗衣机设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、1目录摘要 3绪论 4第一章 设计的总体构思 51、1 设计的基本原理 51、1、1 模块方框图 51、2 总体的原理图及其解析 61、2、1 原理图 61、2、2 原理图解析 71、3 总体设计的源代码讲解 7第二章 设计的分立模块解析 82、1 定时输入模块 82、1、1 定时输入模块源代码讲解 82、1、2 定时输入模块框图 82、2 洗衣机时间控制模块 82、2、1 洗衣机时间控制模块源代码讲解 92、2、2 洗衣机时间控制模块框图 92、3 倒计时模块 92、3、1 倒计时模块源代码讲解 92、3、2 倒计时模块框图 92、4 洗衣机状态控制模块 102、4、1 洗衣机状态控制模块源

2、代码讲解 102、4、2 洗衣机状态控制模块框图 102、5 数码管显示模块 102、5、1 数码管显示模块源代码讲解 102、5、2 数码管显示模块框图 112、6 报警模块 112、6、1 报警模块源代码讲解 112、6、2 报警模块框图 11第三章 仿真结果 123、1 定时输入模块仿真结果 123、2 洗衣机时间控制模块仿真结果 123、3 倒计时模块仿真结果 133、4 洗衣机状态控制模块仿真结果 133、5 数码管显示模块仿真结果 143、6 总体设计仿真结果 14小结 15谢辞 16附录 17附录 1 定时输入模块源代码 .17附录 2 洗衣机时间控制模块源代码 .18附录 3

3、倒计时模块模块源代码 .182附录 4 洗衣机状态控制模块源代码 .20附录 5 数码管显示模块源代码 .21附录 6 报警模块源代码 .22附录 7 总体设计源代码: .223摘要此次的课程设计的题目是简易洗衣机控制器设计,这次的 EDA 课程设计主要就是掌握 EDA 技术在一些方面的运用。掌握 EDA 技术及 CPLD/FPGA 的开发流程、自顶向下的设计思想和系统设计的分析方法,以及洗衣机控制器的工作原理。本次的设计已基本完成要求,待机 5s 正转 10s 待机 5s 反转10s ,如此循环。并用 3 个 LED 灯和 7 段数码管分别表示其工作状态和显示相应工作状态下的时间,能够自行设

4、定洗衣机的循环次数,利用循环语句来实现。到达所设定的循环次数后报警提示,报警就是将敏感变量赋给报警输出量。虽然对于设计的东西不是很了解,不过,大致的思路已经了解。此篇课程设计报告大致包括对于此次设计的总体的原理和思路,以及设计的每个模块分析,电路图,源程序的描述,仿真结果的展示。能够将所学知识运用到此次的课程设计当中,对于之前的一些理论知识也是一种深刻认识。4绪论随着电子技术获得了飞快的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。EDA,这个以 大 规 模 可 编

5、程 逻 辑 器 件 为 设 计 载 体 , 以 硬 件 描 述 语 言 为 系 统 逻 辑 描 述的 主 要 表 达 方 式 , 以 计 算 机 、 大 规 模 可 编 程 逻 辑 器 件 的 可 开 发 软 件 及 实 验 开 发 系 统为 设 计 工 具 , 通 过 有 关 的 开 发 软 件 , 自 动 完 成 用 软 件 的 方 式 设 计 的 电 子 系 统 到 硬 件系 统 的 逻 辑 编 译 、 逻 辑 化 简 、 逻 辑 分 割 、 逻 辑 综 合 及 优 化 、 逻 辑 布 局 布 线 、 逻 辑 仿真 , 直 至 完 成 对 于 特 定 目 标 芯 片 的 适 配 编 译

6、、 逻 辑 映 射 、 编 程 下 载 等 工 作 , 最 终 形成 集 成 电 子 系 统 或 专 用 集 成 芯 片 的 一 门 新 技 术在 现 代 生 活 中 也 越 发 的 重 要 。 面 对 当 今飞 速 发 展 的 电 子 产 品 市 场 , 电 子 设 计 人 员 需 要 更 加 实 用 、 快 捷 的EDA 工 具 , 实 用 统 一的 集 成 设 计 环 境 , 改 变 传 统 设 计 思 路 , 即 优 先 考 虑 具 体 物 理 实 现 方 式 , 而 将 精 力 集中 到 设 计 构 思 、 方 案 比 较 和 寻 找 最 优 化 设 计 等 方 面 , 以 最 快

7、的 速 度 开 发 出 性 能 优 良 、质 量 一 流 的 电 子 产 品 。 今 天 的 EDA 工 具 将 向 着 功 能 强 大 、 简 单 易 学 、 使 用 方 便 的 方向 发 展 。本 次 设 计 所 用 到 的 硬 件 描 述 语 言 是 VHDL 语 言 。 硬 件 描 述 语 言 VHDL 是 EDA 技 术 技术 的 重 要 组 成 部 分 。 VHDL 是 Very High Speed Integrated Circuit Hard Description Language 的 简 称 , 作 为 一 个 规 范 语 言 和 建 模 语 言 , 随 着 VHDL 的

8、 标 准 化 ,出 现 一 些 支 持 该 语 言 的 行 为 仿 真 器 。 不 过 ,VHDL 不 仅 可 以 作 为 系 统 模 拟 的 建 模 工 具 ,而 且 可 以 作 为 电 路 系 统 的 设 计 工 具 , 可 以 利 用 软 件 工 具 将VHDL 源 码 自 动 地 转 化 为 文本 方 法 表 达 的 基 本 逻 辑 元 件 连 接 图 , 即 网 表 文 件 。此 次 的 课 程 设 计 正 是 利 用 EDA 技 术 及 其 运 用 来 实 现 一 个 简 易 的 洗 衣 机 控 制 器 的设 计 。 将 EDA 技 术 拓 展 , 将 理 论 联 系 实 际 。

9、为 了 更 好 地 运 用 EDA 知 识 , 也 为 了 掌 握VHDL 语 言 的 。 此 次 的 课 程 设 计 以 EDA 技 术 为 基 础 , 以 VHDL 语 言 为 硬 件 语 言 , 编 写 一段 程 序 来 实 现 简 易 洗 衣 机 的 控 制 。5第一章 设计的总体构思1、1 设计的基本原理此次制作的的简易洗衣机控制器设计用三只 LED 灯来显示洗衣机正转、反转、待机的三种状态。然后用电子定时器控制洗衣机设定的工作时间,以及正传、反转以及待机运行时间的控制。同时用两个数码管显示洗涤的预置时间(按秒数计数),按倒计时方式对洗涤过程作计时显示,待机 5s 正转 10s 待机

10、 5s 反转 10s ,如此循环,直到时间到,循环结束;洗涤过程由“开始”信号开始;最后定时到则停止,同时用蜂鸣器发出提示音(不过,此次的设计图中并没有画出蜂鸣器的部分)。然后是通过各种开关组成控制电路,使洗衣机实现程序运转。直至结束为止(也即循环次数到了)。包括定时输入模块、电机时间控制模块、倒计时模块、电机状态控制模块、数码管显示模块、报警模块。1、1、1 模块方框图图 1 设计方框图核心控制电路按键控制模块 电机控制模块数字显示模块报警电路定时输入模块 倒计时模块61、2 总体的原理图及其解析1、2、1 原理图71、2、2 原理图解析首先,是有五个输入的。shu 和 hshu 是设置时间

11、的,pinname18 是相当于是允许输入的,timemiao 是脉冲的设置,而另一个开关 kaiguan 就是本设计的开关。输出也是有五个的。Gewei 和 shiwei 是一个数码管显示时间的十位,一个数码管显示个位。虽然本次的设计只有 5s 和 10s 两种显示的时间,也用两个数码管来显示时间。Deng 是显示是正转、反转、待机的状态,dianji 是显示当下处于什么状态的(00 代表正转,01 代表待机,11 代表反转) 。Ct 用来检测是否时间达到零,达到零则为 1,否则则为 0。对于 shuru 这个模块来说,dout和 dout1 的输出是由 shu 和 hshu 的上升沿来控制

12、的,同时 dout 和 dout1 又是hui 和 hui1 的一个输入。而 washmachine 的输入是一个脉冲,输出 c 和 d 又分别是 hui 和 dianji 的输入。而 kaiguan 是 hui 和 hui1 的输入,控制倒计时的模块,用来随时停止计时。1、3 总体设计的源代码讲解此次设计的总体的源代码是将各个模块加进来,联合定时输入模块、电机时间设置模块、倒计时模块、电机状态控制模块、数码管显示模块,设计出一个简易洗衣机控制器,为了不让那些输入输出量重名,将一些本来要重名的变量设置了一下。同时对于,信号量,也是集齐所有模块的所有的的信号量来集中的。本次的源代码是将各个模块的

13、源代码集中到一起的。是对那些模块的调用,用 COMPONENT 来实现调用的。然后对于实现简易洗衣机的循环,用一个循环语句来实现,用 clk 来当做信号变量贯穿始终。对于源代码中的信号量都是各个模块中的信号量。Count 都是分得很清楚,以免有所重复。所用的循环语句是 LOOP 语句,LOOP 语句就是循环语句,它可以使所包含的一组顺序语句被执行,其执行次数可由设定的循环参数决定。LOOP 语句的常用表达方式有两种,此次所用的是单个 LOOP 语句,其语法如下:LOOP 标号: LOOP顺序语句END LOOP LOOP 标号 这种循环方式是一种最简单的语句形式,它的循环方式需引入其他控制语句

14、(如 EXIT 语句)后才能确定;“LOOP 标号”可以任意选。此次的源代码中,用 a 来当变量,每执行一次,a 就加 1,当 a 大于 15 时就跳出循环,这也是使得本次设计的简易洗衣机能够循环的次数不超过 15 次,这也是设计任务书要求,所以说,源代码在功能上基本可以实现要求,包括待机,接着正转,再是待机,又是反转,以此循环 15 次。8第二章 设计的分立模块解析讲解的依次是定时输入模块、电机时间控制模块、倒计时模块、电机状态控制模块、数码管显示模块。以及顺带介绍一下要事先报警应如何操作。2、1 定时输入模块此模块是为了实现洗衣机能够定时输入的功能,保证洗衣机能够正常运行。当 din 为

15、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 到

16、9,接着又是到 0 开始循环,而count1 是从 0 到 6,接着是到 0 继续循环。不过,当 din 为 1 时 count 和 count1都是“1111” ,也就是说,当 din 为 1 时相当于阻止此模块运行。2、1、2 定时输入模块框图shuruinstshuhshudindout30dout1302、2 洗衣机时间控制模块此模块由一个累加器和一个命令控制器组成,用来实现预置洗涤时间的功能,洗涤时间以分钟数为单位,用户可根据自己的需求来设定洗涤时间的长短。9一开始是想说,在时间设置模块设置 15 次的循环时间,这样也就避免让时间设置方面那样麻烦,不过,此次的源代码是将此模块算在当中

17、的。2、2、1 洗衣机时间控制模块源代码讲解首先来说,就是此模块的输入输出量都是很简单的,有一个输入,两个输出,clk 输入,也即脉冲输入,d 和 c 输出。信号量 count2(有三位)和 shi。而 clk 是上升沿时 shi 则加 1,shi 是从 0 到 60 的,当 shi 为 60 时,c 为 1,否则,c 则为 0.count2 也是从 0 到 5 的,当 count2 为 5 时,d 为 1,否则 d 则为 0.2、2、2 洗衣机时间控制模块框图w a s h m a c h in ein s tc lk cd2、3 倒计时模块由于洗衣机有工作时间,必须要一模块来控制它的工作时

18、间范围,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。2、3、1 倒计时模块源代码讲解首先此模块是有两部分的,有十位的还有个位的表示。对于这两部分,模式基本一致。输入量有三个,jian、reset 和 din3,0,din3,0为定时输入模块的输出 dout3,0。信号量有 count3,0。Jian 就是控制倒计时的量,当jian 的上升沿到来,则 count3,0开始减 1,count3,0从 9 开始减到 0,然后再循环,不过这是对于个位输入来说,对于十位来说,则不用考虑。Reset是有开关来控制的。当 reset 为 1 时,此模块是不能工作的,就是

19、复位。2、3、2 倒计时模块框图10jianresetdin30dout30chuiinst4jianresetdin30dout30chui1inst52、4 洗衣机状态控制模块此模块是为了实现能够控制洗衣机电机时间达到正转、反转、待机的功能。让观看者在外部能够观察到洗衣机当下正处于什么状态,而且,此外还有灯的部分,所以,通过灯也可以辨认出洗衣机的工作状态。2、4、1 洗衣机状态控制模块源代码讲解此模块的输入量只有一个,就是 cc,输出量有两个,dd 和 dneg,信号量为 count、dian 和 deng1,dd=dian,而 deng=deng1。当 cc 的上升沿到来时,count

20、则加 1,count 是从 0 到 5 循环的。Count 的变化也就是会决定待机、正转、反转的时间,dian 的值则是代表待机、正转、反转的,01 代表正转,此时deng 为 100,也即亮灯表示正转;00 代表待机,此时 deng 为 010,也即亮灯代表待机;11 代表反转,此时 deng 为 001,也即亮灯代表反转。2、4、2 洗衣机状态控制模块框图dianjiins tc c dd10deng202、5 数码管显示模块根据课程设计要求,必须将洗衣机的工作状态及工作时间在数码管和指示灯上显示出来,此模块是用来控制洗衣机的工作状态及工作的频率,并把工作状态及工作时间显示出来。112、5

21、、1 数码管显示模块源代码讲解对于此模块没有很多该讲的地方,它就是,一个输入,一个输出,输入是由倒计时模块的输出来充当数码管模块的输入的。输出直接接到数码管上显示。此次用的是七个引脚的数码管。而且有两个数码管。一个显示十位,一个显示个位。对于数码管的编码,是按照数码管显示的规律来实现的。2、5、2 数码管显示模块框图din30 dout60shum ainst22、6 报警模块当洗涤时间结束时,洗衣机就会自动发出警报声,以此提醒用户洗涤工作完成,此模块就是实现此功能。2、6、1 报警模块源代码讲解此模块有两个输入,一个输出,输入是脉冲和一个量。当 finishc 按下时,也就是提吃报警,然后就

22、响应报警,接着,输出 warning 就连接到 clk,也就是脉冲上面,主要提出了报警,则只要此时 clk 还在输入,那就会驱动蜂鸣器来发出警报声,此时也就实现了报警。当没有警报时,也即洗衣机正常工作的情况,warning 就为 0,也就不会驱动蜂鸣器,也不会报警。报警模块就是这样实现的。不过,此次的设计并没有将蜂鸣器考虑在内,而且,总体的程序也没有将报警模块加入,只是最后陈述一下该如何实现报警。2、6、2 报警模块框图报警模块输出-蜂鸣器12第三章 仿真结果3、1 定时输入模块仿真结果3、2 洗衣机时间控制模块仿真结果133、3 倒计时模块仿真结果143、4 洗衣机状态控制模块仿真结果3、5

23、 数码管显示模块仿真结果153、6 总体设计仿真结果小结此次的课程设计是做简易洗衣机控制器,对于此次的设计我不能说完成得有多好,只能说也算是尽力了。对于一些功能的实现,也完成得不是很好,虽然说如果能顺利实现的话是基本可以达到目标,但是把程序,也就是源代码输入到 Quartus II 后发现在软件上不能编译,经过一系列的检查,我本人认为是选择芯片上出现得问题最大,所以此次的源代码基本上在软件上不能实现。不过,虽然此次的设计把仿真图和结果附上,是借鉴了别的论文的一些资料。对于此次的课程设计,我最大的收获就是能够基本理解那些源代码的意思,至少那些源代码我都能看懂,而且我还对于那些源代码我都有认真地学

24、习以及思考,我对于这次的课程设计我是报以很认真的态度。而且,就是对于那款软件我都有尽我所能地去学习,包括查资料,看视频来学习。对于我的课程设计结果,不能说是很好,但是我认为只要认真地学习了就不会辜负这次难得的机会,这个学期学习 EDA 技术及其运用,我虽说不是掌握得很好,但是我有学会关于它的基本知识,对于硬件描述语言 VHDL 语言也有所掌握,加上这次的课程设计所16用的就是 VHDL 语言,就对 VHDL 语言更进一步的了解。总的来说,此次的课程设计完成算是还行的,而且也基本懂得了这次的课程设计的意义,也收获了不少,不仅是理论知识的长进,而且对于将理论联系实际的了解也更深刻了。通过这次课程设

25、计,自己也懂得了不少。也给自己提了个醒,以后的学业路上也要更加努力,只要真的去努力做一件事情,才会有所收获。谢辞这一次的课程设计最终完成了,首先要感谢老师对我们的耐心地辅导,以及讲解一些专业知识,跟感谢朱路老师在上 EDA 课程设计课上仔细地讲解 VHDL语言,以及对于各种习题的讲解,才使得我们对于 EDA 这门课程掌握的那么深刻,对于硬件语言 VHDL 有了个更深的了解,以致于这次课程设计成功。还有就是要感谢同学的帮助,对于 Quartus II 的运用刚开始一点都不了解,但是,经过有些同学的帮助,对于这个软件的掌握基本算是入门了,特别要感谢一个同学上传一个学习 Quartus II 的视频

26、,看过那个视频后对于 Quartus II 的掌握有多加了一份。所以,此次的课程设计,正是由于同学们和老师的帮助,才会使得这次的课程设计这么顺利,对于你们,我表示深深的感谢,谢谢你们!17附录附录 1 定时输入模块源代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shuru ISPORT ( shu, hshu, din : IN STD_LOGIC;dout3,0 : OUT STD_LOGIC_VECTOR (3 DO

27、WNTO 0);dout13,0 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); 18);END shuru;ARCHITECTURE behave OF shuru ISSIGNAL count, count1 :STD_LOGIC_VECTOR (3 DOWNTO 0);BEGIN PROCESS (shu,hshu,din)BEGIN dout dout6,0 dout6,0 dout6,0 dout6,0 dout6,0 dout6,0 dout6,0 dout6,0 dout6,0 dout6,0 dout6,015;END LOOPL1 ;END behave;

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报