当前位置:文档之家› Verilog HDL课程设计

Verilog HDL课程设计

人民武装学院Verilog HDL课程设计洗衣机控制器的设计学生姓名: 周云学号: PB102027115专业: 电子信息科学与技术年级: 2010 级指导老师: 周骅老师时间: 2011年12月22日目录引言...................................................................................................................... - 3 -一、设计内容...................................................................................................... - 4 -1.设计内容.................................................................................................... - 4 -2.功能............................................................................................................ - 4 -二、洗衣机控制器的工作原理.......................................................................... - 6 -1. 洗衣机的工作状态.................................................................................. - 6 -2. 全自动洗衣过程...................................................................................... - 7 -3.单独执行某个洗衣程序............................................................................ - 8 -三、洗衣机的状态转换图.................................................................................. - 9 -1.洗衣机的状态转换图................................................................................ - 9 -2. 设计思路.................................................................................................. - 9 -四、设计程序.................................................................................................... - 11 -1.全自动洗衣机主程序.............................................................................. - 11 -2.全自动洗衣机测试程序.......................................................................... - 15 -五、步骤及仿真图............................................................................................ - 17 -1.在代码提示框架中完成核心子模块wash_ctrl.v的设计 ................... - 17 -2.对核心子模块wash_ctrl.v 进行时序仿真 ........................................... - 17 -六、功能图........................................................................................................ - 20 -1.设计顶层图形文件,编译.................................................................... - 20 -2.功能引脚锁定.......................................................................................... - 20 - 心得体会............................................................................................................ - 22 -引言随着高密度现场可编程逻辑器件的广泛应用,当前数字系统正朝着速度快、容量大、体积小、重量轻的方向发展的时候,越来越多的工程人员采用硬件描述语言HDL (hardware description language)来进行项目的开发。

目前最通用的HDL 有VHDL 与Verilog 两种,它们具有IEEE国际标准,语法严谨,是今后数字电路与系统设计的必然趋势,它的优点在于具有行为级描述方式,可对设计进行准确描述,易于设计修改,缩短开发周期。

基于VHDL开发系统有多种上,是其中之一,他的功能强大,在开发有限状态机FSM(finite state machine)时序电路时,我们不需要要再用传统的电路输入的方法,通过设计寄存器组来实现各个状态之间的转换,我们可充分利用硬件描述语言的抽象建模能力,用CAD 工具直接绘制状态转移图,具体的逻辑简化可和电路设计可同计算机自动完成,从而提高了设计的效率,并且条理更清晰,修改方便等。

一、设计内容1.设计内容设计一个智能洗衣机控制器,能够实现进水、洗涤、漂洗、甩干等一系列过程全自动控制.2.功能洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,全自动式洗衣机因使用方便得到大家的青睐,全自动即进水、洗涤、漂洗、摔干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可供用户选择。

洗衣机的工作流程由进水、洗衣、排水、脱水4个过程组成。

在半自动洗衣机中,这4个过程分别用相应的按钮开关来控制。

全自动洗衣机中,这4个过程可做到全自动依次运行,直至洗衣结束。

全自洗衣机的洗衣桶(外桶)和脱水桶(内桶)是以同一心安放的,内桶可以旋转,作为脱水用。

内桶的周围有许多小孔,使内桶和外桶的水流相通,洗衣机的进水和排水分别由进水电磁阀和排水电磁阀来执行。

进水时通过控制系统将进水电磁阀打开,经进水管将水注入到外桶。

排水时,通过控制系统将排水电磁阀打开,将水由外桶排到机外。

洗涤正转、反转由洗涤电动机驱动波盘的正、反转来实现,此时脱水桶并不旋转。

脱水时,控制系统将离合器合上,由洗涤电动机带动内桶正转进行甩干。

高、中、低水位控制开关分别用来检测高、中、低水位。

启动按钮用来启动洗衣机工作,停止按钮用来实现手动停止进水、排水、脱水及报警。

排水按钮用来实现手动排水。

普通洗衣机的工作流程示意图当按下复位按钮时,洗衣机上电,控制电路复位到初始状态(默认水位为“中”;使用)者可根据衣服的多少,按下水位控制按钮,改变水位设置,以控制上水时加水的多少;当按下启动/暂停按钮时,洗衣机开始洗衣的第一个操作:进水阀门打开,开始上水,并根据水位设置(高、中、低、少)历时不同的时间timeadd(8s、7s、6s、5s);然后进水阀门关闭,电机开始运转,开始洗衣过程,并历时9s;然后电机停止运转,排水阀门打开,开始排水,并根据水位设置(高、中、低、少)历时不同的时间timedrain(7s、6s、5s、4s);然后排水阀门关闭,进水阀门打开,开始第二次上水,并历时timeadd……当甩干结束后,整个洗衣过程完成,扬声器发出持续15 秒的急促的“嘀嘀”音,提示用户洗衣结束。

正常运行状态下全自动洗衣机工作过程:空闲(idle)→第一次加水(water1)7s→洗衣(wash)9s→第一次排水(drain1)6s→第二次加水(water2)7s→漂洗(rinse)9s→第二次排水(drain2)6s→甩干(dry)5s→蜂鸣15s 。

洗衣机整个工作过程可分为9 个状态,运用有限状态机的设计思想来实现。

二、洗衣机控制器的工作原理有限状态机(FSM,Finite State Machine)是一种重要的时序逻辑电路单元,尤其适合于设计数字系统的控制模块。

状态机可以认为是组合逻辑和寄存器逻辑的特殊组合,它一般包括两个部分:组合逻辑部分和寄存器部分。

组合逻辑部分又包括次态逻辑和输出逻辑,分别用于状态译码和产生输出信号;寄存器部分用于存储状态。

状态机的次态是现态及输入信号的函数,输出信号根据状态机的现态或输入信号而定。

根据输出信号产生方法的不同,状态机可分为两类:摩尔(Moore)型状态机和米里(Mealy)型状态机。

对于Moore 型状态机,其输出只为状态机当前状态的函数,而与输入无关。

而对于Mealy 型状态机,其输出不仅与状态机当前状态有关,而且与输入有关。

实用的状态机一般都设计为同步时序电路,它在时钟信号的触发下,完成各状态之间的转移,并产生相应的输出。

采用Verilog HDL 语言实现基于状态机的控制电路设计,就是在时钟信号的触发下,完成两项任务:(1)用case 或if-else 语句描述出状态的转移,(2)描述状态机的输出信号(通常是控制信号)。

1. 洗衣机的工作状态洗衣机有9 个工作状态分别为:空闲(idle)、第一次加水(water1)、洗衣(wash)、第一次排水(drain1)、第二次加水(water2)、漂洗(rinse)、第二次排水(drain2)、甩干(dry)、蜂鸣(beep)。

2. 全自动洗衣过程在洗衣机上电后(默认水位为“中”,通过水位控制按钮设置好合适的)水位,然后按下start_pause启动/暂停按钮,使洗衣机全自动完成整个洗衣过程,此洗衣机控制器状态转移图如下图所示:洗衣机控制器状态转移图分析上图:一旦按下rst 按钮,则电路复位到初始状态,控制信号m=0,w=0,d=0。

相关主题