版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EDA课程设计 全自动洗衣机1 设计任务及要求利用可编程逻辑器件丰富的内部资源,借助EDA(电子设计自动化)工具(如MAXplus)把家电控制器电路集成在一片FPGA(现场可编程门阵列)芯片内,这样就无需专门的单片机和外部逻辑电路。从而减小了电路的体积、提高了系统的稳定性。本次电路设计是洗衣机控制器设计。设计的主要内容是:(1)设计一个洗衣机控制器,使洗衣机作如下运转:定时启动正转20秒暂停10秒反转20秒暂停10秒定时不到,重复上面过程。(2)若定时到,则停止,并发出音响信号。(3)用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由开始信号
2、开始。(4)三只LED灯表示正转、反转、暂停三个状态。设计的主要要求是:(1)根据设计题目要求编写相应程序代码(2)对编写的VHDL程序代码进行编译和仿真(3)利用实验箱完成硬件验证(可选)(4)总结设计内容,完成课程设计说明书2设计原理及总体框图洗衣机控制器的设计主要是定时器的设计,由一片FPGA和外围电路构成了电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制(洗衣机洗涤过程如图2所示)。对FPGA芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层
3、实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间和编码电路、数码管显示、译码器组成。具体电路如图3所示:图3洗衣机控制器总体设计图3 程序设计(1)时间设置电路:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;enti
4、ty settime isport(load:in std_logic;k:in std_logic_vector(9 downto 0);o:out std_logic_vector(3 downto 0);end settime;architecture rt1 of settime issignal p1:std_logic_vector(3 downto 0);begin process(load)beginif(load'event and load='1')thencase k iswhen "1000000000"=>p1<
5、="0001"when "0100000000"=>p1<="0010"when "0010000000"=>p1<="0011"when "0001000000"=>p1<="0100"when "0000100000"=>p1<="0101"when "0000010000"=>p1<="0110"when &qu
6、ot;0000001000"=>p1<="0111"when "0000000100"=>p1<="1000"when "0000000010"=>p1<="1001"when "0000000001"=>p1<="1010"when others=>p1<="0000"end case;end if;end process;o<=p1;end rt1;(2)数
7、码管显示library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity showtime is port(num:in std_logic_vector(3 downto 0);dout:out std_logic_vector(6 downto 0);end showtime;architecture a1 of showtime isbeginwith num selectdout<="1111110" when
8、 "0000", "0110000" when "0001", "1101101" when "0010", "1111001" when "0011", "0110011" when "0100", "1011011" when "0101", "1011111" when "0110", "1110000" whe
9、n "0111", "1111111" when "1000", "1111011" when "1001", "0000000" when others;end a1;(3)序电路library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all; entity SHIXU isport(clk:in std_logic;TG:in std
10、_logic;start:in std_logic;SHUCHU:BUFFER std_logic_VECTOR(2 DOWNTO 0);end SHIXU; architecture behav of SHIXU isSIGNAL QQ:STD_LOGIC_VECTOR(5 DOWNTO 0);beginprocess(clk,tg,QQ)beginif(tg='1')or(start='0') then shuchu<="001"QQ<="111011"else if(clk'event) and
11、(clk='1')then if QQ="000000" then QQ<="111011" ;shuchu<="100" ; elsif QQ="111010"then shuchu<="100" ; elsif QQ="100111"then shuchu<="001" elsif QQ="011101"then shuchu<="010" elsif QQ=&quo
12、t;001001"then shuchu<="001" end if;QQ<=QQ-1;end if;end if; END PROCESS;end behav;译码器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all; entity YIMA isport(run:out std_logic;rev:out std_logic;pause:out std_logic;SHURU:IN std_logi
13、c_VECTOR(2 DOWNTO 0);end YIMA; architecture behav of yima isbeginprocess(shuru)begincase shuru is when "001"=>rev<='0'run<='0'pause<='1'when "010"=>rev<='1'run<='0'pause<='0'when "100"=>rev<=&
14、#39;0'run<='1'pause<='0'when others=>rev<='0'run<='0'pause<='1'end case;end process;end behav;(5)减法计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all; entity counter isport(start:IN st
15、d_logic;clk:IN std_logic;CHUSHItime:IN integer range 0 to 15;XIANSHItime:OUT integer range 0 to 15;JINWEI:BUFFER std_logic);end counter; architecture behav of counter issignal ZHONGJIANtime:integer range 0 to 15;beginprocess(clk)beginif(start='0')then ZHONGJIANtime<=CHUSHItime;XIANSHItime
16、<=CHUSHItime;jinwei<='0'else if(clk'event and clk='1')then if(ZHONGJIANtime=0) then XIANSHItime<=0;JINWEI<='1' else ZHONGJIANtime<=ZHONGJIANtime-1;XIANSHItime<=ZHONGJIANtime; end if; end if;end if;end process;end behav; 4 编译及仿真EDA工具在EDA技术应用中占据极其重要的位置,EDA
17、的核心是利用计算机完成电子设计全程自动化,因此基于计算机环境的EDA软件的支持是必不可少的。此次设计所用EDA工具是由著名的Alter公司生产的MAXplus工具软件,它是一种集成的开发环境,支持原理图、VHDL和Verilog语言文本文件,以及波形文件作为设计输入,并支持这些文件的人以混合设计。 图4洗衣机控制器程序仿真图 MAXplus工具软件具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果,同是还支持主流第三方EDA工具,所以可以说MAXplus是当今最优秀的EDA工具软件之一。利用MAXplus工具软件仿真仿真结果如图4所示5 硬件调试与结果分析洗衣机接通电源,按lo
18、ad设置洗涤时间按start、rd置为高电平洗衣机开始工作,当时钟第一个上升沿到达时run(正转功能)为高电平维持20s以后变为低电平而pause(暂停功能)随着时钟上升沿的到来变为高电平维持10s变为低电平,然后rev(反转功能)开始随着时钟上升沿的到来变为高电平工作维持20s后变为低电平,再停止pause置高,接下来电路一直重复上述工作,知道定时器计数结束。电路设计完成以后,按照预定设计,输入相应数据,三只LED灯按照设定时间规律间断性亮起,数码管也显示输入时间并按减数计时产生相应的数字显示,直到到达预定时间停止工作显示零,实验设计达到预期效果。6 参考文献1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.4 赵岩岭 刘春等.在MAXplus平台下用VHDL进行数字电路设计. 西安:西电出版社,2005心得体会通过这次的EDA设计,我可以说是受益良
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大学园艺(生态园艺技术)试题及答案
- 2026年高职医院管理(医院运营优化)试题及答案
- 100MWh级储能电站试点示范项目可行性研究报告
- 建筑防雷引下线焊接质量管控要点
- 掘进机司机培训考试题及答案
- 青少年飞盘竞技培训班拓客案
- 交管12123机动车驾驶证学法减分新版考试题目及答案
- 某造纸厂员工激励制度
- 搅拌站岗前安全培训试题及答案
- 建筑工程-轮胎式装载机操作安全技术交底表格
- 社会科学研究课题结题报告模板及范文
- 年产5000km橡套电缆项目环评报告表
- 财务报表审计工作底稿编制案例
- DL∕T 1362-2014 输变电工程项目质量管理规程
- (正式版)HGT 20656-2024 化工供暖通风与空气调节详细设计内容和深度规定
- 咯血介入治疗护理查房
- 微创椎间孔镜手术技巧与临床实践
- 《血管活性药物静脉输注护理》标准解读
- 集合的基本运算(课件)
- 《无人机组装与调试》第8章 无人直升机的组装与调试
- 浙教版七年级数学下册全册课件
评论
0/150
提交评论