数字逻辑电路的设计全自动洗衣机的设计.docVIP

  • 18
  • 0
  • 约4.57千字
  • 约 11页
  • 2018-06-29 发布于福建
  • 举报

数字逻辑电路的设计全自动洗衣机的设计.doc

数字逻辑电路的设计全自动洗衣机的设计

PAGE PAGE 3 数字逻辑电路设计 全自动洗衣机控制器 设计任务及要求: 本实验要求全自动洗衣机控制电路具有启动,复位,水洗,排水,甩干,报警等功能, 其中水洗过程包括正转,暂停,反转;并进行重复三次操作。具体要求:1.设置复位开关rst,开关状态rst=1时,对系统状态进行复位,计数器清零;2.外部输入脉冲信号时钟源clk(40Mhz),经分频后供计数器使用。由clk经分频后得到的qclk为1hz,即每个脉冲到来的时间为1秒,能为计数器提供准确的基准源;3.启动startk开关,系统启动并开始注水(pumpk)持续一分半钟;4.拨到高水位(wlh),系统进行正转(wfk)20s;5.暂停3s;6.反转(wrk)20s,并且重复三次;7.洗涤结束后进入排水(draink)状态;8.拨到低水位(wll),排水(draink)和甩干(spink)同时进行,然后再重复以上操作;9.重复三次程序结束之后进行报警(alark),然后按一下复位键(rst)报警停止。二.实验硬件及软件平台:1、由于输入时钟为40M hz,因此使用了分频模块输出1hz的方波。由clk经分频后得到的qclk为1hz,即每个脉冲到来的时间为1秒,能为计数器提供准确的基准源。2.输入信号:四个拨码开关:复位、开始、高水位、低水位。开关拨上为1,拨下为0。3.输出信号:7个高低电平信号,分别接到外部的7个LED灯指示控制器的注水,正转,反转,排水,甩干和报警。输出高电平时,对应的LED灯亮。三.实验原理简介:洗衣机控制器的设计主要是时序控制和定时器的设计,由一片FPGA和外围电路构成电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的正转、反转、停机和定时时间为0报警的工作状态、控制并显示工作状态以及显示定时时间。对FPGA芯片的编程采用模块化的Verilog HDL (硬件描述语言)进行设计,设计由分频模块,定时时间模块,数码管显示模块组成,顶层实现整个芯片的功能。顶层使用原理图实现,底层由Verilog HDL语句实现。FPGA的输入时钟为40M hz,因此使用了分频模块输出1hz的方波给定时器设定自减模块提供每1s自减1的信号,定时器模块输出的自减值输入给数码管显示译码模块和时序控制模块,通过译码模块定时器的值可以在数码管上显示,同时定时器的值输入到时序控制模块由此可以控制洗衣机的正转、反转、停机和报警工作方式。四.电路设计仿真与综合:(一)分频设计1. 基于Verilog的分频器设计源文件module fenpin(clki,clko);input clki;output clko;reg clko;reg [31:0] out;always@(posedge clki)beginif(out=out=0;elseout=out+1; if(out clko=1b1; else clko=1b0;endendmodule (二) 洗衣机总洗涤程序源文件:module control(clk,rst,startk,wlh,wll,pumpk,wrk,wfk,draink,spink,alartk);input clk,rst,startk,wlh,wll;output pumpk,wrk,wfk,draink,spink,alartk;reg[4:0] state;reg pumpk,wrk,wfk,draink,spink,alartk,sta;reg[8:0] t,t1,t2;reg[1:0] tt;parameterawait=5b10000,pump=5b01000,wash=5b00100,drain=5b00010,spin=5b00001;//状态独热码always @(posedge clk) if(rst) begin state=await; t=0; t1=0; t2=60; tt=0; pumpk=0; wrk=0; wfk=0; draink=0; spink=0; alartk=0; end //进入待机状态elsecase(state) await: if(startk) state=pump; else begin state=await; t=0; t1=0; t2=20; tt=0; wr

文档评论(0)

1亿VIP精品文档

相关文档