版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实 验 报 告实验课程名称 数字逻辑系统设计 实验工程名称 基于FGPA的洗衣机自动控制程序年 级 2021级 专 业 集成电路工程 学生姓名 张少雄 学 号 2021020758 理 学 院实验时间:2012年06月03日数字逻辑系统设计贵州大学理学院 11级集成电路工程 张少雄 学号2021020758实验名称:基于FGPA的洗衣机自动控制程序实验要求:使用Verilog HDL或VHDL语言编程实现全自动洗衣机根本功能实验仪器:FPGA集成实验箱实验时间:2012年5月28日至2012年5月30日实验地点:博学楼513S实验步骤:一、分析实验要求,确定程序设计思路根据实验要求及实验条件,
2、将程序分为两个模块:100Hz脉冲产生模块和自动洗涤控制模块。1、100Hz脉冲产生模块FPGA集成实验箱内提供40MHz的时钟脉冲,而实验要求实现精度为秒的计时,固根据程序简化原那么,在不影响用户使用体验的前提下,将自动洗涤控制模块输入时钟调整为100Hz。2、自动洗涤控制模块标准洗涤可分为如下几步:1待机:等待用户按下“开始启动洗涤程序。2注水:正式进入洗涤进程,等待水位到达预设值。3洗涤:加满水后,电机开始按“正转-暂停-反转-暂停循环转动,持续时间为预设 值。4排水:洗涤结束后,自动排水。5甩干:脏水排干后,自动进行甩干。6第二到第五步重复三次,洗涤进程结束并通知用户。结合以上分析,本
3、实验采用状态机来实现洗涤步骤。共分为五个状态:await待机、pump注水、wash洗涤、drain排水、spin甩干。二、模块端口及参数设置1、100Hz脉冲产生模块端口及参数输入:clki -本实验为40MHz晶振输出:clko -为自动洗涤控制模块提供100Hz时钟参数:out -为reg型变量,通过always块记数赋值实现分频2、自动洗涤控制模块输入:clk -100Hz时钟 rst -复位 startk -启动开关 wlh -高水位开关,表示注水满 wll -低水位开关,表示排水结束输出:pumpk -注水开关 wfk, wrk-电机正转与反转开关 draink -排水开关 spi
4、nk-甩干开关 alartk -警报器,通知用户洗涤完毕参数:state-为reg型变量,为五种状态赋值独热码 t,t1,t2,tt -为reg型变量,分别为洗涤总时间、电机转动时间、甩干时间、洗涤 次数3、顶层模块输入、输出与自动洗涤控制模块相同。参数:clklnk-为wire型变量,用于连接100Hz脉冲产生模块输出clko与自动洗涤控制模块 输入clk三、确定各状态的程序结构1、await状态:if(startk) 进入pump状态 else begin 为各项参数及输出量赋初值 end 2、pump状态:if(wlh) 进入wash状态 elseif(tt=3) 返回await状态并将
5、alartk翻开else 停留在pump状态并将pumpk翻开3、wash状态:if(t5分钟) 进入排水状态else begin 停留在wash状态并关闭pumpk 总时间t开始计数 if(t10)&(t123s)&(t143s) 电机反转 else 电机停转 end 4、drain状态:if(wll) 进入甩干状态else 停留在drain状态 将draink翻开 电机关停 t,t1置零5、spin状态:if(t2) t2开始计数并将spink翻开 else t2置初值60s 洗涤次数tt+1 关闭spink及draink 返回pump状态四、完整程序代码1、顶层模块includecont
6、rol.vincludefenpin.vmodule washmachine(clk,rst,startk,wlh,wll,pumpk,wrk,wfk,draink,spink,alartk);input clk,rst,startk,wlh,wll;output pumpk,wrk,wfk,draink,spink,alartk;wire clklnk; /实现control模块的输入clk与fenpin模块的输出clko的连接control c1(clklnk,rst,startk,wlh,wll,pumpk,wrk,wfk,draink,spink,alartk);fenpin f1(c
7、lk,clklnk);endmodule顶层模块示意图2、100Hz分频模块module fenpin(clki,clko);input clki;output clko;reg clko;reg 31:0 out;initial clko=0;always(posedge clki)if(out=200000) begin clko=!clko; /假设out加到200k,那么clko反转,每个脉冲周期为400K,输出100Hz out=0; endelse out=out+1;endmodule100Hz分频模块仿真波形100Hz分频模块RTL视图3、自动洗涤控制模块module cont
8、rol(clk,rst,startk,wlh,wll,pumpk,wrk,wfk,draink,spink,alartk);input clk,rst,startk,wlh,wll;output pumpk,wrk,wfk,draink,spink,alartk;reg4:0 state;reg pumpk,wrk,wfk,draink,spink,alartk;reg31:0 t,t1,t2,tt;parameterawait=5b10000,pump=5b01000,wash=5b00100,drain=5b00010,spin=5b00001;/-状态独热码-always (posedg
9、e clk) if(rst) begin state=await; t=0; t1=0; t2=6000; tt=0; pumpk=0; wrk=0; wfk=0; draink=0; spink=0; alartk=0; end /-复位状态-elsecase(state) await: if(startk) state=pump; /假设startk=1那么进入注水状态 else begin state=await; /否那么停留在待机状态 t=0; t1=0; t2=6000; tt=0; wrk=0; wfk=0; draink=0; spink=0; pumpk=0; end /-待
10、机状态- pump: if(wlh) state=wash; /假设高水位开关wlh=1那么进入洗涤状态 else if(tt=3) begin state=await; /假设洗涤次数tt=3那么返回待机状态并翻开报警 alartk=1; end else begin state=pump; /否那么停留在pump状态 pumpk30000) state5分钟那么进入排水状态 else begin state=wash; /否那么停留在洗涤状态 pumpk=0; /关闭注水开关 t=t+1; /总时间计数 t14600) t10)&(t12000) /头20s正转 begin wfk2300
11、)&(t14300) /中间20s反转 begin wrk=1; end else /中间3s和最后3s电机停 begin wfk=0; wrk=0; end end /-洗涤状态- drain: if(wll) /假设低水位开关wll=1那么进入甩干状态 state=spin; else begin state=drain; /否那么停留在排水状态 draink=1; /排水开关翻开 wfk=0; /电机关闭 wrk=0; t=0; /时间重置 t1=0; end/-排水状态- spin: if(t2) begin t2=t2-1; /假设t20那么t2自减,甩干开关翻开 spink=1; end else begin t2=6000; /假设t2=0那么重置甩干时间 tt=tt+1; /洗涤次数加1 s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026年)人事部招聘工作计划
- (2026年)清华附属中学初一第二学期期中试卷
- 考务工作人员培训考核试卷(附答案)
- 宝剑工安全管理知识考核试卷含答案
- 烧碱生产工安全管理模拟考核试卷含答案
- 环丁砜装置操作工安全防护能力考核试卷含答案
- 宠物健康护理员岗前技术评优考核试卷含答案
- 船舶电子技工安全文化能力考核试卷含答案
- 音响调音员工作能力评优考核试卷含答案
- 甲醇制烯烃操作工复测水平考核试卷含答案
- 中小学楷书书写规范教学
- 检验检测机构法律法规政策培训测试题及答案
- 5.1.3小数乘法(课件)(共20张)西师大版(新教材)五年级上册
- 2025年上半年CATTI三级笔译实务真题详解(含参考译文)
- 2026年甘肃省兰州新区商贸物流投资集团数投公司大数据专业技术人员招聘10人笔试备考试题及答案详解
- 2026公安联考笔试真题题库及标准答案(公安专业科目完整版)
- 2026年吉林大学中日联谊医院专业技术系列人员招聘笔试参考题库及答案详解
- 护理副高职称评审答辩自我介绍模板
- 2026年陕西省基层法律工作者题库及答案
- 病因考试试题及答案
- 中国国新招聘笔试
评论
0/150
提交评论