版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、子信息科学与技术专业课程设计任务书学生姓名专业班级学号题 目洗衣机控制器课题性质A课题来源D指导教师同组姓名无主要内容(1)设计一个洗衣机控制器,使洗衣机作如下运转:定时启动正转20秒暂停10秒反转20秒暂停10秒定时不到,重复上面过程。(2)若定时到,则停止,并发出音响信号。(3)用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由开始信号开始。(4)三只LED灯表示正转、反转、暂停三个状态。任务要求(1) 制定完整地设计方案,结合框图进行说明。(2) 给出主要模块的VHDL程序。(3) 如有可能,在实验箱上进行下载验证。(4) 给出完整地设
2、计报告。参考文献(1)黄智伟. FPGA系统设计与实践 电子工业出版社 2005.1(2)焦素敏. EDA课程设计指导书 河南工业大学 2008.2(3)焦素敏. EDA技术基础 清华大学出版社 2009.8()阎石.数字电子技术基础 高等教育出版社 2006.5审查意见指导教师签字:教研室主任签字: 2012年 2月 20日说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页1 设计任务及要求()设计一个洗衣机控制器,控制洗衣机如下运转:定时启动-正转20秒-暂停10秒-反转10秒-暂停10秒-定时未到回到“正转20秒-暂停10秒-”,定时到停止;()若定时到,
3、则停机发出音响信号;()用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;()三只LED灯表示“正转”、“反转”、“暂停”三个状态。设计出的洗衣机控制器可以实现按预置的时间对衣服进行洗涤,并在结束后发出音响提示。本次设计分工如下,有预置洗涤时间模块、倒计时减法计数器、状态控制模块、发出音响模块和译码模块。2设计原理及总体框图()设计的总体框图正转暂停反转暂停停止定时启动 定时未到()设计总原理 洗衣机控制器的设计主要是定时器的设计。由一片FPGA (Field Programmable Gate Array)和外围电路构成了
4、电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对FPGA芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。 3 程序设计()VHDL语言(VHSIC Hardware Description Langua
5、ge,甚高速集成电路硬件描述语言)是一种设计、仿真、综合的标准硬件描述语言,是对可编程逻辑器件进行开发与设计的重要工具,其优点是:支持自上而下和基于库的设计,支持范围广,具有多层次描述系统硬件功能的能力。VHDL语言已成为IEEE的一种工业标准,是实现信息系统硬件开发所必备的知识和技能。()设计的各个模块程序、倒计时减法计数器模块由于洗衣机有工作时间,必须要一模块来控制它的工作时间范围,所以我设计了一个减法计数器模块,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEE
6、E.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT IS PORT(CLK,TLA,START,ENTER: IN STD_LOGIC; INI: IN STD_LOGIC_VECTOR(7 DOWNTO 0); SHOW: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); FINISH: OUT STD_LOGIC); END COUNT;ARCHITECTURE one OF COUNT ISSIGNAL FINI:STD_LOGIC;SIGNAL SHOW1:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN PROCESS(T
7、LA,CLK,START) VARIABLE NUM: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF ENTER=1 THEN NUM:=INI;-预置洗涤时间 ELSIF(TLAEVENT AND TLA=1) THEN IF START=1AND NUM/=0 THEN-倒计时 NUM:=NUM-1; END IF;END IF; IF ENTER=0 AND NUM=0 THEN FINI=1; NUM:=00000000;-停止信号发出 ELSE FINI=0; END IF;SHOW1=NUM;END PROCESS;PROCESS(CLK) BEGI
8、NIF CLKEVENT AND CLK=1 THENFINISH=FINI; SHOW=SHOW1;END IF;END PROCESS;END;、预置洗涤时间模块此模块由一个累加器和一个命令控制器组成,用来实现预置洗涤时间的功能,洗涤时间以分钟数为单位,用户可根据自己的需求来设定洗涤时间的长短。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER IS PORT(IN1: IN STD_LOGIC; Q: OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
9、END ADDER;ARCHITECTURE one OF ADDER ISSIGNAL add:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN Q=ADD; PROCESS(IN1) BEGIN IF IN1EVENT AND IN1=1 THEN ADD TIME TIME TIME TIME TIME TIME TIME TIME TIME=0;END CASE;END PROCESS;END;、信号输入模块根据课程设计要求,必须将洗衣机的工作状态及工作时间在数码管和指示灯上显示出来,此模块是用来控制洗衣机的工作状态及工作的频率,并把工作状态及工作时间显示出来。li
10、brary ieee;use ieee.std_logic_1164.all;entity one isport(clk:in std_logic; fout:out std_logic; start: in bit);end entity one;architecture one of one is signal count:integer range 0 to 32; signal mid:std_logic;beginprocess(clk,start)beginif clkevent and clk=1 thenif start=1 then if count=31 then -64分
11、频 count=0; mid=not mid;else count=count+1;end if;fout=mid;end if;end if;end process;end architecture one;library ieee;use ieee.std_logic_1164.all;entity freq_div1min isport(fout0:in std_logic; fout1: out std_logic);end entity freq_div1min;architecture one of freq_div1min is signal count:integer rang
12、e 0 to 60; signal mid:std_logic;beginprocess(fout0)beginif fout0event and fout0=1 then if count=29 then -60分频产生1分钟的周期时钟信号 count=0; mid=not mid;else count=count+1;end if;fout1=mid;end if;end process;end architecture one;、状态控制模块此模块是为了实现洗衣机的正转、暂停、反转的功能,它由一个状态控制模块构成,是典型的状态机。LIBRARY IEEE;USE IEEE.STD_LOG
13、IC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY state IS PORT(CLK,t10a,t20a,finishb,START,ENTER: IN STD_LOGIC; LED: OUT STD_LOGIC_VECTOR(2 DOWNTO 0); t10_ena,t20_ena: out std_logic; P: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END state;ARCHITECTURE one OF state IS TYPE STATES IS(ST0,ST1,ST2,ST3,ST4);SIG
14、NAL C_ST:STATES;BEGIN PROCESS(CLK,ENTER,T10A,T20A) BEGIN IF ENTER=1OR FINISHB=1 OR START=0THEN C_ST=ST0;P=00000000;LED=000;T10_ENA=0;T20_ENA C_ST=ST1;T20_ENA=1;T10_ENA LED=001;p=00010100; -正转 IF T20A=1THEN C_ST=ST2;T20_ENA=0;T10_ENA=1; ELSE C_ST=ST1; T20_ENA=1;T10_ENA LED=010;p=00001010; -暂停 IF T10A
15、=1THEN C_ST=ST3;T20_ENA=1;T10_ENA=0; ELSE C_ST=ST2; T20_ENA=0;T10_ENA LED=100;p=00010100;-反转 IF T20A=1THEN C_ST=ST4;T20_ENA=0;T10_ENA=1; ELSE C_ST=ST3; T20_ENA=1;T10_ENA LED=010;p=00001010;-暂停 IF T10A=1THEN C_ST=ST1;T20_ENA=1;T10_ENA=0; ELSE C_ST=ST4; T20_ENA=0;T10_ENA C_ST=ST0;END CASE;END IF;END P
16、ROCESS;END;译码电路此模块是为了在数码管上显示出预置时间并按倒计时方式显示LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY YIMA IS PORT(SHOW:IN STD_LOGIC_VECTOR(7 DOWNTO 0); SHOWB1,SHOWS1,SHOWG1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END YIMA;ARCHITECTURE TWO OF YIMA ISSIGNAL
17、SHOW1: INTEGER RANGE 128 DOWNTO 0;SIGNAL SHOWB,SHOWS,SHOWG: INTEGER RANGE 0 TO 9 ;beginSHOW1=CONV_INTEGER(SHOW);PROCESS(SHOW1) BEGIN SHOWB=SHOW1/100; SHOWS=SHOW1/10-SHOWB*10; SHOWG=SHOW1-SHOWB*100-SHOWS*10; SHOWB1=CONV_STD_LOGIC_VECTOR(SHOWB,4); SHOWS1=CONV_STD_LOGIC_VECTOR(SHOWS,4); SHOWG1=CONV_STD
18、_LOGIC_VECTOR(SHOWG,4); END PROCESS;END;、音响模块当洗涤时间结束时,洗衣机就会自动发出警报声,以此提醒用户洗涤工作完成,此模块就是实现次功能。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity warming isport(clk: in std_logic; finishc:in std_logic; warn:out std_logic );end warming;architecture six of warming isbeginproce
19、ss(clk)beginif finishc=1 then warn=clk;-停止工作时else warn=0;end if;end process;end ;4 编译及仿真Max+plus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Max+plus II 的更新支持。Quartus II 是Altera公司继Max+plus II之后开发的一种针对其公司生产的系列CPLD/PGFA器件的综合性开发软件,它的版本不断升级,从4.0版到10.0版,这里介绍的是Quartus II .0版,该软件有如下几个显著的特点:1、Qu
20、artus II 的优点该软件界面友好,使用便捷,功能强大,是一个完全集成化的可编程逻辑设计环境,是先进的EDA工具软件。该软件具有开放性、与结构无关、多平台、完全集成化、丰富的设计库、模块化工具等特点,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中
21、,易学易用等特点。2、Quartus II对器件的支持Quartus II支持Altera公司的MAX 3000A系列、MAX 7000系列、MAX 9000系列、ACEX 1K系列、APEX 20K系列、APEX II系列、FLEX 6000系列、FLEX 10K系列,支持MAX7000/MAX3000等乘积项器件。支持MAX II CPLD系列、Cyclone系列、Cyclone II、Stratix II系列、Stratix GX系列等。支持IP核,包含了LPM/MegaFunction宏功能模块库,用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。此外,Quartus I
22、I 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。3、Quartus II对第三方EDA工具的支持对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 Men
23、torGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。 由上仿真波形可以看出,输入一个脉冲信号clk,当洗衣机工作状态结束时,warming输出端会有一个输出脉冲,此时洗衣机会发出鸣叫声。洗衣机接通电源,按IN1设置洗涤时间按start、enter置为高电平洗衣机开始工作,当时钟第一个上升沿到达时q1(正转功能)为高电平维持20s以后变为低电平而q2(暂停功能)随着时钟上升沿的到来变为高电平维持10s变为低电平,然后q3(反转功能)开始随着
24、时钟上升沿的到来变为高电平工作维持20s后变为低电平,再停止q3置高,接下来电路一直重复上述工作,直到定时器计数结束。5 硬件调试与结果分析通过分析,该实验可选择NO.7号电路进行硬件验证,选定电路图之后,再选择ACEX1K/EP1K30TC144-3器件,对应于该器件对各个输入输出信号进行引脚锁定。下载完成后便可进行硬件验证。6 参考文献 (1)黄智伟. FPGA系统设计与实践 电子工业出版社 2005.1(2)焦素敏. EDA课程设计指导书 河南工业大学 2008.2(3)焦素敏. EDA技术基础 清华大学出版社 2009.8()阎石.数字电子技术基础 高等教育出版社 2006.5 心得体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (新教材)2026人教版三年级下册数学 2.2.8 归总问题 教学课件
- 2025 网络基础中 5G 与区块链金融网络的安全交易课件
- 统编版语文一年级下册第一单元 质量提优卷(含答案)
- 高耐腐蚀性零件数控加工系统应用可行性研究报告
- 2026年人才合同和人事代理合同(1篇)
- 刑罚执行的程序和监督
- 2025 高中信息技术数据与计算之计算思维在海洋化学数据监测分析中的应用课件
- 2025 高中信息技术数据与计算之算法的鸽群优化算法课件
- 煤气安全培训试卷及答案
- 2025 高中信息技术数据与计算之数据在电商营销渠道效果评估中的应用课件
- 薪资核定及管理办法
- 劳动课自制沙拉课件
- 药膳养生鸡汤培训课件
- 监狱辅警面试题目及答案
- 十五五特殊教育发展提升行动计划
- 医院运营数据统计分析
- 幼儿跑酷培训
- 2025至2030年中国氟化液行业市场运行态势及产业趋势研判报告
- 毕业设计(论文)-包裹分拣机械结构设计
- 徐州地铁考试题库及答案
- 国家助学贷款诚信教育主题班会
评论
0/150
提交评论