文档详情

VHDL语言的洗衣机控制器设计.doc

发布:2018-12-30约4.29千字共15页下载文档
文本预览下载声明
南京师范大学 中北学院 课 程 设 计 课程设计名称: EDA课程设计 专 业 班 级 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计时间: 2009-3-09~2009-3-23 1 设计任务及要求 利用可编程逻辑器件丰富的内部资源,借助EDA(电子设计自动化)工具(如MAX+plusⅡ)把家电控制器电路集成在一片FPGA(现场可编程门阵列)芯片内,这样就无需专门的单片机和外部逻辑电路。从而减小了电路的体积、提高了系统的稳定性。本次电路设计是洗衣机控制器设计。 设计的主要内容是: (1)设计一个洗衣机控制器,使洗衣机作如下运转:定时启动—〉正转20秒—〉暂停10秒—〉反转20秒—〉暂停10秒—〉定时不到,重复上面过程。 (2)若定时到,则停止,并发出音响信号。 (3)用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由开始信号开始。 (4)三只LED灯表示正转、反转、暂停三个状态。 设计的主要要求是: (1)根据设计题目要求编写相应程序代码 (2)对编写的VHDL程序代码进行编译和仿真 (3)利用实验箱完成硬件验证(可选) (4)总结设计内容,完成课程设计说明书 2设计原理及总体框图 洗衣机控制器的设计主要是定时器的设计,由一片FPGA和外围电路构成了电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制(洗衣机洗涤过程如图2所示)。对FPGA芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。 洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间和编码电路、数码管显示、译码器组成。具体电路如图3所示: 图3洗衣机控制器总体设计图 3 程序设计 ⑴数码管显示 实现数码管显示 eq \o\ac(○,2)数码管显示编码 ⑵时序电路 ⑶预置时间和编码电路 ⑷译码器 ⑸定时器电路 ①计时器 ②减法计数器 4 编译及仿真 EDA工具在EDA技术应用中占据极其重要的位置,EDA的核心是利用计算机完成电子设计全程自动化,因此基于计算机环境的EDA软件的支持是必不可少的。此次设计所用EDA工具是由著名的Alter公司生产的MAX+plusⅡ工具软件,它是一种集成的开发环境,支持原理图、VHDL和Verilog语言文本文件,以及波形文件作为设计输入,并支持这些文件的人以混合设计。 图4洗衣机控制器程序仿真图 MAX+plusⅡ工具软件具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果,同是还支持主流第三方EDA工具,所以可以说MAX+plusⅡ是当今最优秀的EDA工具软件之一。利用MAX+plusⅡ工具软件仿真仿真结果如图4所示 5 硬件调试与结果分析 洗衣机接通电源,按load设置洗涤时间按start、rd置为高电平洗衣机开始工作,当时钟第一个上升沿到达时run(正转功能)为高电平维持20s以后变为低电平而pause(暂停功能)随着时钟上升沿的到来变为高电平维持10s变为低电平,然后rev(反转功能)开始随着时钟上升沿的到来变为高电平工作维持20s后变为低电平,再停止pause置高,接下来电路一直重复上述工作,知道定时器计数结束。电路设计完成以后,按照预定设计,输入相应数据,三只LED灯按照设定时间规律间断性亮起,数码管也显示输入时间并按减数计时产生相应的数字显示,直到到达预定时间停止工作显示零,实验设计达到预期效果。 6 参考文献 [1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005. [2] 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006. [3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003. [4] HYPERLINK javascript:WriterSearch(赵岩岭); 赵岩岭 HYPERLINK javascript:WriterSearch(刘春); 刘春等.在MAX+plusⅡ平台下用VHDL进行数字电路设计. 西安:西电出版社,2005 [5] http:// HY
显示全部
相似文档