




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vhdl实验报告洗衣机控制器设计 一实验题目名称:洗衣机控制器设计二:实验目的、任务和要求:设计一个洗衣机洗涤程序控制器,控制洗衣机的电动机按下图所示的规律运转: 图2.1 电机运转时序图用两位数码管预置洗涤时间(分钟数),洗涤过程在送入预置时间后开始运转,洗涤中按倒计时方式对洗涤过程作计时显示,用led表示电动机的正、反转,如果定时时间到,则停机并发出音响信号。 其系统框图如下图所示: 图 2.2 系统框图设计思路:此设计问题可分为洗涤预置时间编码寄存电路模块、十进制减法计数器模块、时序电路模块、译码驱动模块四大部分。 设置预置信号ld,ld有效后,可以对洗涤时间计数器进行预置数,用数据开关k1-k10分别代表数字1,2,9,0,用编码器对数据开关k1-k10的电平信号进行编码,编码器真值表如下表所示,编码后的数据寄存。 图2.3 编码器真值表设置洗涤开始信号start,start有效,则洗涤时间计数器进行倒计数,并用数码管显示,同时启动时序电路工作。 时序电路中含有20s定时信号,10s定时信号,设为a、b,a、b为“0”表示定时时间未到,为“1”表示定时时间到。 时序电路状态表如下表所示: 图 2.4 时序电路状态表状态编码为: s0=00 s1=01 s2=11 s3=10 若选jk触发器,其输出为q2q1。 逻辑赋值后的状态如下表所示: 图2.5 逻辑状态表设置电动机正转信号run、反转信号rev、暂停信号pause,由时序电路的输出q2q1经译码驱动模块,可使显示信号正确反映电路的工作状态,译码驱动模块真值表如下表所示:图2.6 译码驱动真值表直到洗涤计时时间到,时序电路异步复位,并启动音响电路。其硬件系统示意图如下图所示: 图2.7 硬件系统设计 三实验系统结构设计分析系统运行过程如下:在系统进行运行之前,使用k按钮预置洗衣机运转时间,此时用户设定的时间通过数码管时时显示出来,计时设备选取的精度是分钟级,也就是说用户可以设定洗衣时间是多少分钟,范围为00-99。然后用户可以给出开始信号,系统开始运转并开始从预设时间倒计时,重复“正传-暂停-反转-暂停”的循环过程直至剩余时间变为零。数码管在系统的整个运行过程中时时显示剩余运转时间,由于我们选用的数码管是一个,故设定的是每隔一秒分别显示十位和个位。根据以上需求分析,按照系统模块化设计的要求可将洗衣机控制器的电路设计为主要由五部分组成,包括:预设时间和编码电路、减法计数器电路、数码管显示电路、电机运转时序控制电路、译码器。系统总体电路图如下:图3.1 系统模块设计图各个部分的具体功能描述如下:(一) 预设时间和编码电路(settime):接受用户通过按钮预置的时间信息,编码成八位之后转给减法计数器。(二) 减法计数器电路(counter):接收编码之后的预置时间信息,向电机运转控制电路传递运行信号,并将预置时间信息和剩余时间信息发给数码管显示电路进行实时显示。(三) 数码管显示电路(showtime):接收减法计数器电路传来的时间信息,进行实时译码显示。(四) 电机运转时序控制电路(analyse):接收运行起止信号,安排电机运行状态并编码输出。(五) 译码器(move):接收电机运行状态信号,译码后实时控制电机的正传、反转和暂停。 为方便使用spartan-3e进行系统实现,我们根据该开发板的特点对实验实现进行了如下修改:(一) 开始的时候是在settime模块我们是使用十个按钮进行数字0到9的输入,每一位分别对应数字一到十,后来在写入板子的时候由于开关个数有限,选用了四位编码输入,即:“0000”到“1001”,非别对应一到十;(二) 预置时间的十位数字和个位数字分开输入。先进行十位数字的输入,完成后通过按钮向系统发送“load”信号。然后进行预置时间个位数字的输入,输入完成后同样以“load”按钮结束;而且,当开始输入的时间是错误的时候,可以进行多次输入,以前的信息会被自动覆盖。(三) 以发光二极管的亮灭展示电机的正转、反转和暂停;(四) 在七个数码管上交替显示倒计时的十位和个位数字,每个时序脉冲替换一次。开始的时候是设计为两个数码管,大但考虑到只有一个数码管,故我们设计为每一秒交替显示十位和个位。四实验代码设计以及分析:根据总体设计图和实验分析,各个部分的程序实现如下:预置时间和编码电路(settime):其中,time_input为通过开发板上按钮输入的信号,load为输入确认信号。本模块将输入的四位时间信息编码输出到减法计数器电路。减法计数器(counter):本模块中clk为系统时序脉冲信号,start为系统开始运行的信号,time_set为从预置时间模块接收到的时间编码信号,time_remain为输出到数码管显示电路的时间信号,time_is_up为系统运行结束信号,可以用来控制蜂鸣器的通断。在系统运行的开始时期,用户第一次输入的预置时间会被赋给个位,第二次输入的时间会被赋给十位,可以进行多次输入,以前的会被覆盖。数码管显示电路(showtime):接收减法计数器电路传来的时间信息,进行实时译码显示,由于我们的实际是可以进行两位的时间显示的,所以开始的时候是用的两个数码管,后来见到硬件芯片上是只有一个,又修改成了一个,但为了进行两位的显示,我们就设计了两个小灯,每个小灯分别代表十位和个位,当某个小灯被点亮时代表当前显示的是对应位的数值,每个一秒转换一次,这样就可以实现两位的显示了。电机运转时序控制电路(analyse):通过时钟的输入进行计算当前系统应该处的状态,并进行编码输出电机的运转状态。由于在显示以及输入的时候只有分钟,故需要内设一个秒的计时变量。译码器(move):分析输入的电机转动编码信号,即为思路中的q1何q2,安排电机运行状态并进行输出。此模块较为简单,设计基本没什么难度。分频电路(主程序中未包含):由于在最后写入板子的过程中时钟一直产生问题,故我们采取直接调用内部的时钟然后进行分频,这样就可以得到自己所想要的频率了。主程序(wash)用来将各个模块进行组合,从而实现一个可以运行的系统。程序代码如下所示:五:仿真图以及波形:以下为系统仿真运行时输出的波形图通过波形可以看到time_input设定的值通过load读入,start后,电机就会运转,同时数码管进行显示,实现了预定的功能,而且对于minute和second的显示也是正确的。六实验问题分析和经验总结:关于这个洗衣机控制器,就是用模块化层次化的设计方法进行系统层的设计,这样分解下来,设计会更容易点,思路也比较简单。洗衣机控制器主要就只有三个状态,要实现几种状态的多次循环的改变,其他的还有计时和数码显示的功能,所以电路可以设计为大致五大部分:settime,counter,analyse,move,和showtime。通过每个模块的设计最后组装即可完成系统级的设计。在设计的时候,如果特别要注意各个模块之间接口的设计,要是接口不对,模块之间就没法实现组装。通过这次设计,对于vhdl的设计方法大致有了一些技巧性的了解,位以后的硬件设计打下了基础,对fpga的编程、定时器和计数器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 集安辅警考试题库2024
- 基因工程在非细胞治疗中的应用
- 武术续费活动方案
- 歌词抢答活动方案
- 江苏非遗打卡活动方案
- 武警读书活动方案
- 沈阳装修公司开业活动方案
- 每日抢购纸巾活动方案
- 民间气排球活动方案
- 法治在身边宣传活动方案
- 2025至2030中国矿用卡车行业发展趋势分析与未来投资战略咨询研究报告
- 氟骨症课件教学课件
- 脚手架知识试题集及答案
- 宣城宣州区“政聘企培”人才引进笔试真题2024
- 诊后疾病管理行业体系构建
- 成都东方广益投资有限公司下属企业招聘笔试真题2024
- 中国乡村建设运动课件
- 2025至2030年中国高纯氮化硅行业市场全景评估及发展策略分析报告
- 2024年四川省高校毕业生“三支一扶”计划真题
- 2025年农作物种植与管理专业考试试题及答案
- JG/T 302-2011卷帘门窗
评论
0/150
提交评论