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

阅读: 评论:0

基于VHDL的全⾃动洗⾐机控制器设计
全⾃动洗⾐机控制器设计
本⽂章发布时距离实践已有些许时间,代码和相关描述来⾃存留的作业⽂档存根,保证逻辑正确性但不保证⼀些缩进和其他格式是否出现问题,可根据错误提⽰⾃⾏改正。本设计为⾮专业⼈⼠设计,存在效率以及整体规划不够理想的缺陷,仅提供参考。
《数字电⼦技术》课程设计报告
空压机管道
题 ⽬: 全⾃动洗⾐机控制器设计
专业班级: 通信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版图的整个过程的计算机上⾃动处理完成。
rrggg现在对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.设计⽅案
软毡
全⾃动洗⾐机可以预置时间,选择模式,然后开始运⾏,结束发出信号。其中可选模式有强⼒洗涤,普通洗涤,甩⼲三种模式。所有输⼊信号有开/关机信号、预置时间信号、模式选择信号、开始/暂停信号、时钟源信号(内置);输出信号有数码管、⼆极管、蜂鸣器。考虑到功能众多,将整体设计划分为三个部分:定时模块、状态机和顶层设计。具体的模块与信号关系如上图。
定时模块主要处理输⼊的预置时间信号,⾸先将输⼊的CLK信号分频为1Hz,然后在开始信号到达后将预置信号的信息送⼊定时器开始倒计时,当倒计时结束后送出分频信号和倒计时完成信号,还会实时的将时间信息显⽰在数码管上。倒计时的逻辑较为特殊,考虑到状态机和倒计时的同步性,在状态
干电池手机机上不加开始运⾏信号,由倒计时完成信号的⾼电平期间控制状态机运⾏,因此,倒计时开始和结束的瞬间都会改变倒计时结束的信号。
状态机会根据秒钟信号和模式选择信号使的洗⾐机按照⼀定的规律运⾏,并将其状态显⽰在⼆极管上。状态机有四个状态,不同的模式下状态机运作⽅式不同,
当处于强⼒洗涤模式时,正转20s,正转暂停10s,反转20s,反转暂停10s;当处于普通洗涤模式时,正转15s,正转暂停15s,反转
15s,反转暂停15s;当处于甩⼲模式时,正转15s,正转暂停15s,反转0s,反转暂停0s。详细状态转移如下图。
顶层⽂件设计是将所有模块组合在⼀起拼成⼀个完整的功能电路,将外部信号与内部信号连接在⼀起完成设计的最后⼀步。选择硬件板也是必不可少的⼀部分,本设计选择了模式9作为硬件环境,其中含有8个带有译码器的数码管,以及8个并⾏输出⼆极管和⼀个蜂鸣器。还有8个单脉冲按键,考虑到既满⾜必须器件且保持输⼊统⼀化,因此选择模式9。数码管的显⽰为左到右依次为分钟⼗位,分钟个位,秒钟⼗位,秒钟个位。⼆极管左到右,全灭为关机状态,亮灭灭为正转状态,灭亮灭为暂停状态,灭灭亮为反转状态,亮亮亮表⽰当前选择强⼒洗涤模式,亮亮灭表⽰当前选择甩⼲模式,灭亮亮表⽰当前选择普通洗涤模式。蜂鸣器发出响声表⽰洗涤完成。由于选择了8个脉冲按键,因此按键驱动程序也变的复杂起来,把单脉冲转换成需要的信号显得尤为重要。
4.设计验证与测试
4.1设计软件环境搭建
三明治面料本设计使⽤软件QUARTUS II开发,硬件使⽤的GW48-PK3的主板和GW3C40的适配板。开发时选择⽬标器件为CycloneIII的EP3C40Q240C8。如下图所⽰。新建⼯程⽂件命名为keshe并新建DSMK.vhd、ZTJ.vhd、DCSJ.vhd、DSMK.vwf、ZTJ.vwf、DCSJ.vwf⽂件。
4.2定时模块实现(DSMK.vhd和DSMK.vwf)
定时模块的输⼊有时钟源信号(CLK)、电源信号(DYXH)、预置时间信号(YZSJ)、开始运⾏信号(KSYX);输出信号有秒钟输出信号(MZSC)、完成判定信号(WCPD)、时间显⽰信号(SJXS)。
时钟源信号输⼊为4Hz和⽅波信号,经过分频后传递给秒钟输出信号输出;电源信号为按键输⼊的单脉冲信号,需要经过转化变为每按⼀次就改变电平。预置时间信号也为单脉冲信号,每按⼀次改变预置时间:15分钟→30分钟→40分钟,共三种情况,每次按键还要使得数码管上显⽰对应的预置时间,该按键仅在电源打开,完成判定信号为低电平时有效,且只在按键单脉冲上升沿上改变预置时间;开始运⾏信号能将预置的时间送⼊倒计时进程,且触发倒计时,该信号为单脉冲信号,在触发后第⼀个秒种上升沿传递预置时间并触发倒计时。
秒钟输出信号是分频时钟源后的信号;完成判定信号是倒计时的⼀个状态信号,当倒计时开始的那个秒钟上升沿变为⾼电平,在倒计时结束那个秒钟上升沿变为低电平,其他时间为低电平;时间显⽰信号是⼀个16位数据,其16进制字符表⽰时间,⾼位到低位每四位连接⼀个数码管,如(1500)16表⽰15分钟,当完成判定信号为低电平时显⽰预置时间,否则显⽰倒计时时间。
该模块进程繁多,实现进程之间的信号传递⽐较繁琐,需要对进程和信号理解通透,且设置的中间信号较多,须有清楚的逻辑思路。应该熟练运⽤VHDL语句及QUARTUS II软件。设计的模块代码见附录,模块图如下图。
时序仿真波形图如图4-2-2和图4-2-3,观察图4-2-2发现电源信号功能正常,⾼电平时其他各项都有信号,低电平时,其他各项均⽆信号;预置时间信号功能正常,能够改变预置时间,且在倒计时状态⽆响应,在未预置时间时进⼊默认的40分钟选项;开始运⾏信号功能正常,能够送⼊预置时间且触发倒计时,并且在倒计时状态⽆响应;秒钟输出信号功能正常,完成了分频;完成判定信号能够在开始倒计时时变为⾼电平;观察图4-2-3可以发现,模块在关机重启后显⽰的是上次的预置时间,且依旧可以预置时间,⽽倒计时结束后预置时间点击开始运⾏⼜可以继续倒计时,⽆须关机重启,完成判定信号也在倒计时结束后⾃动变为低电平。
图 4-2-2 定时模块(DSMK)时序仿真图⼀
图 4-2-3 定时模块(DSMK)时序仿真图⼆
4.3状态机实现(ZTJ.vhd和ZTJ.vwf)

本文发布于:2023-07-26 07:02:02,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/192720.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设计   信号   时间   倒计时
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图