基于VHDL的全自动洗衣机控制器设计

全自动洗衣机控制器设计

  • 《数字电子技术》课程设计报告
  • 《数字电子技术》课程设计任务书
    • 设计内容与要求
  • 1.概述
    • 1.1EDA简介
    • 1.2开发软件quartus简介
  • 2.基本原理
    • 2.1洗衣机原理
    • 2.2定时器原理
    • 2.3状态转换原理
  • 3.设计方案
  • 4.设计验证与测试
    • 4.1设计软件环境搭建
    • 4.2定时模块实现(DSMK.vhd和DSMK.vwf)
    • 4.3状态机实现(ZTJ.vhd和ZTJ.vwf)
    • 4.4顶层设计实现(DCSJ.vhd和DCSJ.vwf)
  • 5.结论
    • 5.1问题与思考
    • 5.2完成感想
  • 参考文献
  • 附录
    • 1.定时模块源代码
    • 2.状态机源代码
    • 3.顶层设计源代码

        本文章发布时距离实践已有些许时间,代码和相关描述来自存留的作业文档存根,保证逻辑正确性但不保证一些缩进和其他格式是否出现问题,可根据错误提示自行改正。本设计为非专业人士设计,存在效率以及整体规划不够理想的缺陷,仅提供参考。

《数字电子技术》课程设计报告

题 目: 全自动洗衣机控制器设计
专业班级: 通信17级
学 号: 000000000000
姓 名: XXXX
指导教师: XXX
完成日期: 2020.6.28

《数字电子技术》课程设计任务书

设计内容与要求

一、设计目的
        设计全自动洗衣机控制器,学习较复杂的数字系统设计方法。
二、设计原理
        设计一个简易的全自动洗衣机控制器,该控制器可以实现全自动洗衣机的定时启动,自动控制及定时设置等功能。其工作流程为:定时启动→正转20s→暂停10s→反转20s→暂停10s→定时不到,重复上述过程,若定时已到,停止发出音响。控制器的设计主要是定时器的设计,利用减法计数器,时序控制电路和工作状态控制电路等组成,可以实现正转、反转和暂停等洗衣机的工作过程,并且用四个数码管可以显示预置洗涤时间,按倒计时方式对洗涤过程进行计数显示,直到时间到停机。
三、设计内容及要求
        根据实验原理,设计全自动洗衣机控制器的各功能模块,通过按键可以设置预置洗涤时间,三种时间可选:15min,30min和45min,然后系统按洗衣机的工作原理模拟其工作过程,并用三个发光二极管表示正反转和暂停三个状态。
四、设计总结报告
        根据以上的设计内容写出设计报告,包括设计程序、软件编译、仿真波形图,并做分析总结。

1.概述

1.1EDA简介

        EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
        20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬 件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
        EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
        利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
        现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。

1.2开发软件quartus简介

        Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。
        Altera Quartus II (3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。工程师使用同样的低价位工具对 Stratix FPGA进行功能验证和原型设计,又可以设计HardCopy Stratix器件用于批量成品。系统设计者现在能够用Quartus II软件评估HardCopy Stratix器件的性能和功耗,相应地进行最大吞吐量设计。
        Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。

2.基本原理

2.1洗衣机原理

        全自动洗衣机具有时间预置、模式选择、自动控制及状态显示等功能。其工作流程为:预置时间→选择模式→以模式设定程序驱动运转→定时未到,重复上述过程,若定时已到,停止发出音响。控制器的设计主要是定时器的设计,利用减法计数器,时序控制电路和工作状态控制电路等组成,可以实现正转、反转和暂停等洗衣机的工作过程,并且用四个数码管可以显示预置洗涤时间,按倒计时方式对洗涤过程进行计数显示,直到时间到停机。其工作过程图如下图。

开机 预置洗涤时间 模式选择 开始洗涤 洗涤结束 是否再次洗涤 结束

2.2定时器原理

        定时器与计时器不同的是定时器是倒计时,而计时器是正计时,因此有一个减法和加法的区别。定时器需要先将输入的CLK信号分频到1Hz然后在每个上升沿减一。这就涉及到了减法借位的问题,而且单位是时间,所以需要对每一位单独设置进制数,最高位为分钟的十位设为6进制,次位为分钟的个位设为9进制,再次位为秒钟的十位设为6进制,最低位为秒钟的个位设为9进制。预置定时数据输入后会存在每次计数都会输入数据,倒计时结束后,还应发出信号并停止计时,因此设置一个变量表示计数状态是不可或缺的。该变量在开始时置为1,结束时置为零。

2.3状态转换原理

        洗衣机存在正转、反转、暂停三个状态,但是为了方便起见,设置四个状态,正转、正转暂停、反转、反转暂停。本设计采用Moore状态机,在时钟信号进程下,满足条件则发生状态转移,在当前状态进程下,当前状态改变则更新下一个状态,并且输入状态信号,一直到倒计时结束时,停止状态转移。

3.设计方案

基于VHDL的全自动洗衣机控制器设计
        顶层文件设计是将所有模块组合在一起拼成一个完整的功能电路,将外部信号与内部信号连接在一起完成设计的最后一步。选择硬件板也是必不可少的一部分,本设计选择了模式9作为硬件环境,其中含有8个带有译码器的数码管,以及8个并行输出二极管和一个蜂鸣器。还有8个单脉冲按键,考虑到既满足必须器件且保持输入统一化,因此选择模式9。数码管的显示为左到右依次为分钟十位,分钟

来源:Sheep懒

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月1日
下一篇 2021年1月1日

相关推荐