B组:微波炉设计任务书-(2)_第1页
B组:微波炉设计任务书-(2)_第2页
B组:微波炉设计任务书-(2)_第3页
B组:微波炉设计任务书-(2)_第4页
B组:微波炉设计任务书-(2)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 湖南工程学院 课程设计任务书 课程名称课程名称 EDA 技术 题题 目 基于目 基于 FPGAFPGA 的微波炉控制器设计的微波炉控制器设计 专业 电子科学与技术 班级 0981 姓名 贺垚焱 学号 08 指导老师 郭照南 审 批 任务书下达日期 2012 年 5 月 28 日星期一 设计完成日期 2012 年 6 月 8 日星期五 2 设计内容与设计要求 一 设计内容 一 设计内容 用 FPGA 为核心器件 用 VHDL 为设计手段设计制作一个微波炉 控制器电路 具有三档微波加热功能 分别表示微波加热为烹调 烘烤 解冻 试验中用 LED 模拟 示意图如下 功能设 置部分 定时 部分 数据装 入部分 显示 部分 音响控 制部分 二 要求二 要求 1 实现工作步骤 复位待机 检测显示电路 设置输 出功能和定时器初值 启动定时和工作开始 结束 烹调 音响提示 2 设置三个功能预置键 具有三档微波加热功能 分别用三个 按键来设置不同功能 表示微波炉工作状态为烹调 烘烤 解冻 试验时分别使用三个 LED 来模拟输出 3 设置复位键 在上电或手动按复位键时 微波加热处于待机 状态 三个 LED 均不亮 即表示控制器输出的微波功率控制 信号为 0 时间显示电路显示为 00 00 4 设置 4 位时间预置键 用四个按键分别进行秒个位 秒十位 系统功能模块图 3 分个位和分十位的操作时间设置 采用十进制的递增计数方 式预置 最大预设数为 99 分 99 秒 5 设置开启键 设定功能和初值后 按开启键 一方面按选择 的挡位启动相应的微波加热 另一方面使计时电路以秒为单 位作倒计时 当计时到时间为 0 则断开微波加热器 并给出 声音提示 即扬声器输出 2 3s 的双音频提示音 6 设置测试键 若在待机状态时按测试键 则 4 位数码管交替 显示全亮和全灭两种状态 以检测数码管各发光段的好坏 要求采用分层次描述方式 且用图形输入和文本输入混合方 式建立描述文件 二 设计要求 二 设计要求 1 设计思路清晰 给出整体设计框图 2 用 VHDL 设计各单元电路 完成其功能仿真和编译并生 成低层模块 3 在 Quartus 中完成顶层设计并编译通过 4 在 Quartus 中完成设计下载并调试电路 5 写出设计报告 主要设计条件 1 提供 EDA 设计环境和 EDA 软件Quartus 2 提供 EDA 实验箱和 CPLD 下载装置 4 说明书格式 1 课程设计报告书封面 2 任务书 3 说明书目录 4 设计总体思路 5 单元电路设计 6 总电路设计 7 设计调试体会与总结 8 附录 9 参考文献 注意 课程设计报告说明书要求用注意 课程设计报告说明书要求用 1616 开纸开纸打印打印 进 度 安 排 第一周 星期一 上午 安排任务 讲课 星期一下午 星期五 查资料 设计 第二周 星期一 星期二 设计输入和设计仿真 四楼 EDA 室 星期三 低层编译和设计下载 四楼 EDA 室 星期四 调试电路 写总结报告 星期五 答辩 参 考 文 献 EDA 技术实用教程 第四版 潘松主编 电子技术与 EDA 技术课程设计指导 郭照南主编 中南大学出版社 电子线路设计 实验 测试 谢自美主编 华中 理工出版社 5 目 录 总体设计 1 课题的主要内容及基本要求 1 设计思路 1 设计方案 2 模块分析 4 状态控制电路模块 4 数据控制电路模块 5 计时器模块 6 程序设计及仿真 8 程序简要说明 8 仿真时序图 8 硬件调试 11 总结 14 参考文献 14 6 附录一 原理图 15 附录二 源程序 16 总体设计总体设计 要求采用 EDA 技术设计一个微波炉控制器 可完成以下功能 1 可控制烹调的开关 2 可设置烹调时间 假设系统最长的烹调时间为 59 分 59 秒 3 可显示烹调的剩余时间 设计思路 现代数字系统设计一般采用自顶向下的方法 其过程大致可分为三个大 的步骤 系统调研 模块的划分 模块的实现 承接一个数字系统设计的课 题后 一般不要急于动手设计 而应对课题作充分的分析和调研 然后确定 初步的方案 分析 课题的任务 要求 原理和使用条件等 调研 课题现状并和相同或相近课题进行比较 现代数字系统设计一般是将其划分为控制器和受控电路两大部分 控制 器由 ASM 图或 MDS 图决定 而受控电路则使用各种通用模块实现 下面分析微波炉定时器的工作过程及基本要求 上电后 系统处于复位状态 工作时首先进行烹调时间设置 并使用数 码管显示时间信息 设要求最长的烹调时间为 59 分 59 秒 时间设置完毕后 系统自动回到初始状态 按开始烹调按键进入烹调状态 时间显示数码管按 每秒减 1 的倒计时方式显示剩余烹调时间 烹调结束后 系统回到复位状态 系统要求分析及初步方案的确定 根据系统的基本要求 着重应考虑如下问题 1 计时电路的设计 芯片内部产生和外部提供 本例中由外部时钟电 路以 BCD 码的形式提供 7 2 时间设置出错及工作过程的取消等情况的处理 设置一个复位按键 3 数码管状态的检测 设置数码管检测按键 按动该按键后 数码管 能够显示 8888 的信息 4 时间显示电路 采用 4 位 7 段显示数码管显示 并由芯片直接驱动 5 微波管的驱动 设置一个输出驱动控制烹调状态的继电器即可 设计方案 微波炉控制器系统可由以下三个电路模块组成 状态控制电路 其功能 是控制微波炉工作过程中的状态转换 并发出相关控制信号 数据装载电路 其功能是根据控制信号选择定时时间 测试数据或计时完成信息的载入 计 时器电路 其功能是对时钟进行减法计数 提供烹调完成时的状态信号 微波炉控制器的系统框图如图 1 所示 其中 CLK 为时钟输入信号 时 钟上升沿敏感 RESET 为复位信号 高电平有效时系统复位清零 TEST 为数 码显示管测试信号 高电平有效系统显示 8888 SET T 高电平有效时允许设 置烹饪时间 KEY 为定时时间输入信号 用于设置烹饪时间的长短 其高到 低分别表示时间分 秒的十位 个位 START 为烹调开始信号 高电平有效 时开始烹调 输出信号 COOK 指示微波炉状态 高电平时表示烹调进行时 SEC0 SEC1 MIN0 MIN1 分别表示秒个位 秒十位 分个位 分十位 8 图 1 微波炉控制器系统框图 微波炉控制器的工作流程图如图 2 所示 时间输入 时钟输入 复位输入 时间设置 输入 开始按键 数码管测 试输入 分秒 信号 输 出 驱动烹调输出 显示设置时间和 烹饪时间信号 9 接通电源 初始状态 时间设置 显示 8888 烹调 完成 SET T TEST START 时间到 N Y N Y N Y N Y 图 2 工作流程图 首先 对系统进行复位清零 使其各电路模块均处于初始状态 当烹饪 时间设置信号 SET T 有效时 读入时间信号 KEY 3 0 的取值 此时系统显 示设置的时间信息 再按下 SET T 确定设置时间完成 按下开始键 START 系 统进入烹调状态 COOK 信号变为高电平 时钟计数器开始减法计数 MIN1 MIN0 SEC1 SEC0 显示剩余烹调时间 烹调结束 系统恢复初始状态 当系统处于复位清零状态时 按下显像管测试按钮 TEST 将对显像管是 否正常工作进行测试 正常工作时 显像管输出全 8 10 模块分析 状态控制电路模块 状态控制器的功能根据输入信号和自身当时所处的状态完成状态的转换 和输出相应的控制信号 其模块框图如图 3 所示 其中 输出信号 LD DONE 指示数据装载电路载入的烹调结束的状态信息的显示的驱动信息数据 LD CLK 显示数据装载电路的设置的时间数据 LD TEST 指示数据装载电路载 入的用于测试的数据 以显示驱动信息数据 COOK 指示烹饪的状态 并提示 计时器进行减法计算 KEY 为定时时间输入信号 用于设置烹饪时间的长短 其高到低分别表示时间分 秒的十位 个位 当 LD DONE 有效时 输出烹调 结束数据 当 LD CLK 有效时 输出烹调的设置时间数据 当 LD TEST 有效时 输出数码管测试数据 包括 6 个输入信号和 4 个输出信号 图 3 状态控制电路模块框图 根据微波炉工作流程的描述 分析状态转换条件及输出信号 可以得到 如图 4 所示的微波炉控制器的状态转换图 11 TEST LD TEST RESET 初 始 状 态 IDLE SET CLOCK LAMP TEST DONE MSG TIMER START USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL USE IEEE STD LOGIC ARITH ALL ENTITY controllor IS PORT RESET IN STD LOGIC 复位信号 KEY IN STD LOGIC VECTOR 3 DOWNTO 0 输入时间 SET T IN STD LOGIC 时间设置信号 START IN STD LOGIC 开始烹调信号 TEST IN STD LOGIC 显示电路测试信 号 CLK IN STD LOGIC 时钟脉冲 DONE IN STD LOGIC 完成信号 COOK OUT STD LOGIC 指示烹调状态 提示计时器开始 计数 LD TEST OUT STD LOGIC 指示数据装载电路载入的用于测试的 数据 LD CLK OUT STD LOGIC 指示数据装载电路载入设置时间数据 DATA OUT STD LOGIC VECTOR 15 DOWNTO 0 16 位数据 LED SET T OUT STD LOGIC LED 显示状态 LD DONE OUT STD LOGIC LED 显示完成 END controllor 24 ARCHITECTURE rtl OF controllor IS TYPE STATES IS IDLE LAMP TEST SET CLOCK TIMER DONE MSG SIGNAL NXT CUR STATES 2 个信号 下一状态 当前状态 SIGNAL DATATMP STD LOGIC VECTOR 15 DOWNTO 0 SIGNAL SET T0 STD LOGIC 设置时间信号 BEGIN PROCESS CLK RESET 时钟和复位的进程 BEGIN IF RESET 1 THEN 复位时将 IDLE 显示 0000 赋予当前 状态 CUR IDLE ELSIF CLK EVENT AND CLK 1 THEN CUR NXT 如果不是 遇到上边沿则自动跳转下一 状态 END IF END PROCESS PROCESS RESET KEY 复位和输入的进程 BEGIN 可以让输入 4 位数字 显示时间 IF RESET 1 THEN 复位时不论任何状态数码管都将显示 0000 DATATMP 0 ELSE IF KEY 3 EVENT AND KEY 3 1 THEN 设置分的十位 IF DATATMP 15 DOWNTO 12 0101 THEN 5 自动跳转到 0 DATATMP 15 DOWNTO 12 0000 ELSE DATATMP 15 DOWNTO 12 DATATMP 15 DOWNTO 12 1 END IF 否则自动加 1 END IF 25 IF KEY 2 EVENT AND KEY 2 1 THEN 设置分的个位 IF DATATMP 11 DOWNTO 8 1001 THEN 9 自动跳转到 0 DATATMP 11 DOWNTO 8 0000 ELSE DATATMP 11 DOWNTO 8 DATATMP 11 DOWNTO 8 1 END IF 否则自动加 1 END IF IF KEY 1 EVENT AND KEY 1 1 THEN 设置秒的十位 IF DATATMP 7 DOWNTO 4 0101 THEN 5 自动跳转到 0 DATATMP 7 DOWNTO 4 0000 ELSE DATATMP 7 DOWNTO 4 DATATMP 7 DOWNTO 4 1 END IF 否则自动加 1 END IF IF KEY 0 EVENT AND KEY 0 1 THEN 设置秒的个位 IF DATATMP 3 DOWNTO 0 1001 THEN 9 自动跳转到 0 DATATMP 3 DOWNTO 0 0000 ELSE DATATMP 3 DOWNTO 0 DATATMP 3 DOWNTO 0 1 END IF END IF 否则自动加 1 END IF DATA DATATMP END PROCESS PROCESS SET T RESET 设置时间和复位进程 BEGIN IF RESET 1 THEN 复位时设置时间变为低电平 SET T0 0 ELSIF SET T EVENT AND SET T 1 THEN 按下 SET T 键时 SET T0 NOT SET T0 SET T 非它前之状态 26 END IF IF SET T0 1 THEN LED SET T 1 赋予 SET T 持续电平 ELSE LED SET T 0 赋予 SET T 持续电平 END IF END PROCESS PROCESS CLK CUR SET T START TEST DONE IS BEGIN NXT IDLE 将 IDLE 载入 NXT LD TEST 0 复位 LD DONE 0 LD CLK 0 COOK 译码器显示测试状态 LD TEST 1 COOK 烹调时间测试状态 LD CLK 1 COOK 完成信息显示状态 LD DONE 0 COOK 初始状态定义 IF TEST 1 THEN 27 NXT LAMP TEST 设置 TEST LD TEST 1 ELSIF SET T0 1 THEN 设置 SET T NXT SET CLOCK LD CLK 1 ELSIF START 1 AND DONE 0 THEN 设置计时模式 NXT TIMER COOK IF DONE 1 THEN 设置计时完成 NXT DONE MSG LD DONE 0 ELSE NXT TIMER COOKNULL END CASE END PROCESS END rtl 数据装载电路的 VHDL 实现如下 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC ARITH ALL ENTITY loader IS PORT DATAIN IN STD LOGIC VECTOR 15 DOWNTO 0 输入 16 位数 28 据 LD TEST IN STD LOGIC LD CLK IN STD LOGIC LD DONE IN STD LOGIC DATAOUT OUT STD LOGIC VECTOR 15 DOWNTO 0 输出 16 位数据 LOAD OUT STD LOGIC 选择状态 END loader ARCHITECTURE rtl OF loader IS BEGIN PROCESS DATAIN LD TEST LD CLK LD DONE CONSTANT ALLS STD LOGIC VECTOR 15 DOWNTO 0 测试信息 1000100010001000 显示 8888 CONSTANT DONE STD LOGIC VECTOR 15 DOWNTO 0 烹调完成信 息 1010101111001101 VARIABLE TEMP STD LOGIC VECTOR 2 DOWNTO 0 BEGIN LOAD 测试 DATAOUT 烹调完成 DATAOUT 29 DATAOUTNULL END CASE END PROCESS END rtl 十进制计数器 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY cnt10 IS PORT CLK IN STD LOGIC LOAD CLR IN STD LOGIC CLR 清除数据 EN IN STD LOGIC 信号使能 DATAIN IN STD LOGIC VECTOR 3 DOWNTO 0 输入的 4 位数 据 Q OUT STD LOGIC VECTOR 3 DOWNTO 0 输出的 4 位数据 CARRY OUT OUT STD LOGIC 数据装载 END cnt10 ARCHITECTURE rtl OF cnt10 IS SIGNAL TMP STD LOGIC VECTOR 3 DOWNTO 0 链接输入输出 BEGIN 数据的信号 PROCESS CLK LOAD CLR EN BEGIN IF CLR 1 THEN 当 CLR 高电平 数据变为 0000 30 TMP 0000 ELSIF LOAD 1 THEN 否则装载输入的数据 TMP DATAIN ELSIF CLK EVENT AND CLK 0 THEN 上升沿时 执行 10 进制减 法 IF EN 1 THEN IF TMP 0000 THEN 0 跳转到 9 TMP 1001 ELSE 自动减 1 TMP TMP 1 END IF END IF END IF IF TMP 0000 THEN CARRY OUT 1 COOK CARRY OUT ELSE CARRY OUT 0 END IF END PROCESS Q TMP END rtl 六进制减法计数器 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY cnt6 IS 31 PORT CLK IN STD LOGIC LOAD CLR IN STD LOGIC EN IN STD LOGIC DATAIN IN STD LOGIC VECTOR 3 DOWNTO 0 Q OUT STD LOGIC VECTOR 3 DOWNTO 0 CARRY OUT OUT STD LOGIC END cnt6 ARCHITECTURE rtl OF cnt6 IS SIGNAL TMP STD LOGIC VECTOR 3 DOWNTO 0 BEGIN PROCESS CLK LOAD CLR EN BEGIN IF CLR 1 THEN TMP 0000 ELSIF LOAD 1 THEN TMP DATAIN ELSIF CLK EVENT AND CLK 0 THEN 上升沿时进行 6 进制减 法 IF EN 1 THEN IF TMP 0000 THEN 0 自动跳转到 5 TMP 0101 ELSE TMP TMP 1 否则自动减 1 END IF END IF END IF 32 IF TMP 0000 THEN CARRY OUT 1 赋值给 COOK ELSE CARRY OUT 0 END IF END PROCESS Q TMP END rtl 计时电路的 VHDL 实现如下 计数器电路模块设计 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL ENTITY counter IS PORT COOK IN STD LOGIC LOAD CLR IN STD LOGIC CLK IN STD LOGIC DATA IN STD LOGIC VECTOR 15 DOWNTO 0 SEC0 OUT STD LOGIC VECTOR 3 DOWNTO 0 秒个位 SEC1 OUT STD LOGIC VECTOR 3 DOWNTO 0 秒十位 MIN0 OUT STD LOGIC VECTOR 3 DOWNTO 0 分个位 MIN1 OUT STD LOGIC VECTOR 3 DOWNTO 0 分十位 DONE OUT STD LOGIC 完成 END counter 33 ARCHITECTURE rtl OF counter IS 定义十进制和六进制计数器电路模块 COMPONENT cnt10 IS PORT CLK IN STD LOGIC LOAD CLR IN STD LOGIC EN IN STD LOGIC DATAIN IN STD LOGIC VECTOR 3 DOWNTO 0 输入 Q OUT STD LOGIC VECTOR 3 DOWNTO 0 输出 CARRY OUT OUT STD LOGIC 状态 END COMPONENT cnt10 COMPONENT cnt6 IS PORT CLK IN STD LOGIC LOAD CLR IN STD LOGIC EN IN STD LOGIC DATAIN IN STD LOGIC VECTOR 3 DOWNTO 0 Q OUT STD LOGIC VECTOR 3 DOWNTO 0 CARRY OUT OUT STD LOGIC END COMPONENT cnt6 SIGNAL CLK0 STD LOGIC SIGNAL S0 STD LOGIC SIGNAL S1 STD LOGIC SIGNAL S2 STD LOGIC SIGNAL S3 STD LOGIC BEGIN 34 元件例化 CLK0 NOT CLK U1 cnt10 PORT MAP CLK0 LOAD CLR COOK DATA 3 DOWNTO 0 SEC0 S0 U2 cnt6 PORT MAP S0 LOAD CLR COOK DATA 7 DOWNTO 4 SEC1 S1 U3 cnt10 PORT MAP S1 LOAD CLR COOK DATA 11 DOWNTO 8 MIN0 S2 U4 cnt6 PORT MAP S2 LOAD CLR COOK DATA 15 DOWNTO 12 MIN1 S3 DONE S0 AND S1 AND S2 AND S3 END rtl 顶层模块的 VHDL 实现如下 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL ENTITY top IS PORT KEY IN STD LOGIC VECTOR 3 DOWNTO 0 输入 4 位 16 进 制 RESET IN STD LOGIC 复位键 SET T IN STD LOGIC 设置时间 START IN STD LOGIC 开始计时 TEST IN STD LOGIC 测试模式 CLK IN STD LOGIC 输入脉冲 COOK OUT STD LOGIC 烹调状态 LED2 OUT STD LOGIC VECTOR 1 DOWNTO 0 LED 显示状 态 SEC0 OUT STD LOGIC VECTOR 3 DOWNTO 0 35 SEC1 OUT STD LOGIC VECTOR 3 DOWNTO 0 MIN0 OUT STD LOGIC VECTOR 3 DOWNTO 0 MIN1 OUT STD LOGIC VECTOR 3 DOWNTO 0 END top ARCHITECTURE rtl OF top IS 定义状态控制电路模块 COMPONENT controllor IS PORT RESET IN STD LOGIC KEY IN STD LOGIC VECTOR 3 DOWNTO 0 SET T IN STD LOGIC START IN STD LOGIC TEST IN STD LOGIC CLK IN STD LOGIC DONE IN STD LOGIC COOK OUT STD LOGIC LD TEST OUT STD LOGIC LD CLK OUT STD LOGIC DATA OUT STD LOGIC VECTOR 15 DOWNTO 0 LED SET T OUT S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论