欢迎来到天天文库
浏览记录
ID:11049179
大小:246.00 KB
页数:13页
时间:2018-07-09
《eda课程设计 全自动洗衣机》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、EDA课程设计全自动洗衣机1设计任务及要求利用可编程逻辑器件丰富的内部资源,借助EDA(电子设计自动化)工具(如MAX+plusⅡ)把家电控制器电路集成在一片FPGA(现场可编程门阵列)芯片内,这样就无需专门的单片机和外部逻辑电路。从而减小了电路的体积、提高了系统的稳定性。本次电路设计是洗衣机控制器设计。设计的主要内容是:(1)设计一个洗衣机控制器,使洗衣机作如下运转:定时启动—〉正转20秒—〉暂停10秒—〉反转20秒—〉暂停10秒—〉定时不到,重复上面过程。(2)若定时到,则停止,并发出音响信号。(3)用两个数码管显示洗涤的预
2、置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由开始信号开始。(4)三只LED灯表示正转、反转、暂停三个状态。设计的主要要求是:(1)根据设计题目要求编写相应程序代码(2)对编写的VHDL程序代码进行编译和仿真(3)利用实验箱完成硬件验证(可选)(4)总结设计内容,完成课程设计说明书2设计原理及总体框图洗衣机控制器的设计主要是定时器的设计,由一片FPGA和外围电路构成了电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正
3、反转控制、制动控制、起停控制和运动状态控制(洗衣机洗涤过程如图2所示)。对FPGA芯片的编程采用模块化的VHDL(硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间和编码电路、数码管显示、译码器组成。具体电路如图3所
4、示:图3洗衣机控制器总体设计图3程序设计(1)时间设置电路:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitysettimeisport(load:instd_logic;k:instd_logic_vector(9downto0);o:outstd_logic_vector(3downto0));endsettime;architecturert1ofsettimeissignalp1:std_logic_vector(3do
5、wnto0);beginprocess(load)beginif(load'eventandload='1')thencasekiswhen"1000000000"=>p1<="0001";when"0100000000"=>p1<="0010";when"0010000000"=>p1<="0011";when"0001000000"=>p1<="0100";when"0000100000"=>p1<="0101";when"0000010000"=>p1<="0110";when"0000001000"=>p1<="0111
6、";when"0000000100"=>p1<="1000";when"0000000010"=>p1<="1001";when"0000000001"=>p1<="1010";whenothers=>p1<="0000";endcase;endif;endprocess;o<=p1;endrt1;(2)数码管显示libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityshowt
7、imeisport(num:instd_logic_vector(3downto0);dout:outstd_logic_vector(6downto0));endshowtime;architecturea1ofshowtimeisbeginwithnumselectdout<="1111110"when"0000","0110000"when"0001","1101101"when"0010","1111001"when"0011","0110011"when"0100","1011011"when"0101","10111
8、11"when"0110","1110000"when"0111","1111111"when"1000","1111011"when"1001","0000000"whenothers;enda1;(3)序电路libraryieee;useieee.std_l
此文档下载收益归作者所有