微波小论文.doc_第1页
微波小论文.doc_第2页
微波小论文.doc_第3页
微波小论文.doc_第4页
微波小论文.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1 摘 要 本文介绍了应用 FPGA 芯片和硬件描述语言 VHDL 设计微波炉控制器的方法 系统使用 VHDL 编程实现各底层模块的功能 顶层的设计采用图形输入完成 主要阐述模块化设计的思想和 状态图的描述方法 以及他们在硬件描述语言中的应用 微波炉控制器系统是一个实用型的系统 系统不仅具有操作简单的功能 而且实用性能非常出 色 既能节约时间又能节约能源 主要有以下几个模块 输入模块 控制模块和显示模块 输入模块 主要实现按键扫描和键盘译码 控制模块主要包括数据装载 计时 温度控制 显示模块涉及到显示 译码和指示灯的闪烁 经过对系统做需求分析 验证了设计方案的可行性及实现方法的有效性 基本实现了系统的要 求 关关键词键词 FPGA VHDL 微波炉 状态图 定时器 目 录 1 绪论 3 1 1 设计的主要目的 3 2 主要设计概述 3 2 1系统总体方案设计 3 3 系统模块设计 4 3 1输入模块设计 4 3 1 1 键盘扫描 4 3 1 2 键盘译码 5 3 2 控制模块设计 6 3 2 1 数据装载 7 3 2 2 计时设置 7 3 2 3 温度控制 9 3 3 显示模块设计 12 4 结论 14 参考文献 14 附系统整体结构图 15 2 1 1 设计的主要目的 目前大部分微波炉控制器采用单片机进行设计 电路比较复杂 性能不够灵活 本设 计采用先进的 EDA 技术 利用 VHDL 设计语言 设计一种新型的微波炉控制器 该控制 器具有系统复位 状态控制 时间设定 火力档位选择 烹饪计时 温度控制 显示译码 和音效提示功能 基于 FPGA 芯片实现 本系统控制部分以 FPGA 芯片为核心 通过功能按键设置和手动数据输入 完成不同 功能时自动以预置方案或者自定义方案加热 其中 预制方案提供烹调 烘烤 解冻等系 统烹调流程 仅供用户选择 无需设置 而自定义方案 用户根据食物含量 重量等手动 设置时间 温度和选择火力等操作 在烹饪过程中 能通过数码管显示或者指示灯提示知 道食物的成熟度 可以智能控制 该系统在功能执行时 能实现门开关检测 键盘输入扫描 温度控制 LED 显示 工 作状态指示 蜂鸣 2 1 系统总体方案设计 根据题目要求 该系统控制部分以 FPGA 芯片为核心 实现时间设置 温度设定 火 力选择 音效响应提示 LED 数码管显示等 在硬件组成上 涉及到电源供电 按键输入 LED 数码管显示 指示灯提示等 以下是该系统总体框图 如图下图所示 本系统主要由输入 控制和显示部分组成 输入部分主要完成用户对控制功能的设 3 置 采用按键作为输入设备 控制部分是本系统的核心 它接收用户的输入 完成相应的 控制逻辑功能 并将当前的工作状态等信息送到显示部分 显示部分主要监视系统工作状 态并提示用户进行控制操作 以下是该系统功能模块图 如图所示 3 系统模块设计 3 1 输入模块设计 输入模块采用 4 4 矩阵键盘作为输入设备 实现数据输入控制 矩阵键盘是一种常见 的输入装置 在日常生活中 矩阵键盘在计算机 电话 手机 微波炉等格式电子产品上 已经被广泛应用 计算机键盘通常采用行列扫描法来确定所按下键的行列位置 由于键盘 按键是一种机械开关 所以设计其控制电路时 需要涉及到键盘扫描 键盘译码 光靠矩 阵键盘是无法完成按键输入工作的 3 1 1 键盘扫描键盘扫描 键盘处理的重要环节是时序产生 键盘扫描和按键消抖 以下分别针对所涉及到的电路进 行描述 1 时序产生电路 时序产生电路 本时序产生电路中使用了三种不同频率的工作脉冲波形 系统时钟脉冲 扫描键盘时 钟 键盘消抖动时钟 分别定义如下 4 CLK IN STD LOGIC 系统时钟脉冲 CLK SCAN OUT STD LOGIC 扫描键盘时钟 CLK DEB OUT STD LOGIC 键盘消抖动时钟 一般消抖动信号时钟频率必须比其它的电路使用的脉冲信号频率更高 一般消抖动频率 是键盘扫描或 LED 频率的 4 倍或更高 这里系统时钟频率取 50MHZ 扫描时钟频率取 100KHZ 消抖时钟频率取 200KHZ 生成的电路符号如下 图所示 CLKCLK SCAN CLK DEB clk gen inst 2 按键扫描电路 按键扫描电路 所谓行列式键盘扫描 即用带有 I O 口的线组成行列式结构 按键设置在行列的交点上 行列式矩阵键盘原理 按键设置在行列线的交叉点 行列线分别连接到按键的两端 列线 通过上拉电阻截止 5V 电压 即列线的输出被定位到高电平状态 判断有无按键按下时通 过行线送出扫描信号 然后列线读取状态得到 其方法是依次给行线送低电平 检查列线 的输入 若列线全为高电平 则代表所在行无按键按下 若列线出现低电平 则低电平所 在的行和出现低电平的列的交叉点处有按键 按下 行扫描信号为 KEY DRV 3 0 列输入 信号为 KEY IN 3 0 3 1 2 键盘译码键盘译码 通过一个译码程序 将键盘扫描后的值根据需要设定成相应的按键 程序设计如下 key decode PROCESS SC CLK BEGIN Z K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE K VALUE 默认情况为 K VALUE 保持原来状态 相当于实现锁存器 END CASE 生成相应的电路符号 如图所示 SC CLK KEY DRV 3 0 KEY IN 3 0 OUT CLK OUT DATA 15 0 key decode inst1 3 2 控制模块设计 控制模块是整个微波炉控制器系统的核心 完成许多复杂的控制和数据处理任务 它 通过输入模块提供的按键输入实现数据信息装载处理 控制显示模块显示相应的信息 控制模块采用 FPGA 芯片作为主控芯片 其涉及到数据的装载 状态控制转换 烹饪 计时 温度控制 火力控制 音效提示等 其中 状态控制转换子模块 其功能是控制微 波炉工作过程中的状态转换 并发出相关控制信号 数据装载子模块 其功能是根据按键 信号设置定时时间 最高温度 火力档位 烹调属性设置以及烹调数据信息装载 烹饪计 时子模块 其功能是对时钟进行减法计数 提供烹调完成时的状态信号 温度控制子模块 其功能是在食物烹饪过程中进行温度测定和控制 它同时实现火力控制 音效控制子模块 其功能是控制微波炉工作时的音效提示 这里直接外接一个蜂鸣器实现该功能 其功能子模块图如下 图所示 控控制制模模块块 Control 数数据据装装载载 子子模模块块 ZZQ 烹烹饪饪计计时时 子子模模块块 JSQ 温温度度控控制制 子子模模块块 KWQ 音音效效控控制制 子子模模块块 ALARM 状状态态转转换换控控制制 子子模模块块 KZQ 6 3 2 1 数据装载数据装载 数据装载器 ZZQ 它本质上就是一个三选一的数据选择器 根据其应完成的逻辑功能 本设计可采用一个进程来完成 但由于三个被选择的数据只有一个来自输入口 因此另两 个被选择的数据则通过进程的说明部分定义两个常数来产生 由于 ZZQ 装入测试的数据可以用 8 个 8 作为显示驱动信息数据 因此 将该用于显 示的常数 ALLS 分解成 8 个 8 其中 4 个 8 作为时间显示驱动信息 3 个 8 作为温度显 示驱动信息 1 个 8 作为火力档位显示驱动信息 分别经过八个译码器译码后显示驱动信 息编码 因此 该常数应是 8 个分段的 4 位 BCD 码 即 1000 1000 1000 1000 和 1000 1000 1000 1000 同理 DONE 的 BCD 码分别为 1010 1011 1100 1101 以显示 donE 的常 数 DONE 通过上述分析 该模块的主要程序可实现如下 PROCESS DATA1 LD TEST LD CLK LD DONE IS CONSTANT ALLS STD LOGIC VECTOR 15 DOWNTO 0 1000100010001000 CONSTANT DONE STD LOGIC VECTOR 15 DOWNTO 0 1010101111001101 VARIABLE TEMP STD LOGIC VECTOR 2 DOWNTO 0 BEGIN LOAD DATA2 DATA2 DATA2 NULL END CASE END PROCESS 完成 VHDL 源程序的输入 编译 运行 生成相应的电路符号 如下图所示 DATA1 15 0 LD TEST LD CLK LD DONE DATA2 15 0 LOAD ALARM ZZQ inst5 3 2 2 计时设置计时设置 计时器 JSQ 为减计数计数器 其最大计时时间为 59 59 因此可用两个减计数十进制计数 7 器 DCNT10 和两个减计数六进制计数器 DCNT6 级联构成 其中 两个十进制的减法计数 器用于分 秒的个位减法计数 两个六进制的减法计数器用于 分 秒的十位减法计数 由所学知识可知 计数的功能是累计输入脉冲的个数 实现计数 功能的数字电路即计数器 被计数的脉冲可以是周期性脉冲 也可以是非周期性脉冲 通 常加在计数器的时钟脉冲输入端 作为计数器的时钟脉冲 因此 根据减法计数器随计数脉冲的不断输入而递减计数 在具体设计该十进制减法计数 器和六进制减法计数器过程中 可以当计数值减到 0 时 其计数器的数值自动转为定时设 定时间 在十进制计数器的设计过程中 可表达为 IF CQI 0000 THEN CQI 1001 ELSE CQI CQI 1 同理 六进制计数器的设计表达式为 IF CQI 0000 THEN CQI 0101 ELSE CQI cout 6 AND tout cout 5 THEN 设定值上下 5 度的范围内开 始计时 enout 1 ELSE enout 0 END IF 时钟定时部分 PROCESS CLK clearing enin VARIABLE s m INTEGER RANGE 0 TO 60 VARIABLE e INTEGER RANGE 0 TO 24 VARIABLE d BIT BEGIN d clearing XOR enin IF d 0 THEN s 0 m 0 e 0 ELSIF CLK EVENT AND CLK 1 THEN s s 1 IF s 10 THEN s 0 m m 1 IF m 10 THEN m 0 e e 1 IF e 24 THEN e 0 hourout e 控制部分 BEGIN IF tin cin 5 THEN cin 是参数设定值 temp 1 ELSE temp 0 END IF 11 IF CLK EVENT AND CLK 1 THEN control bcdhourin THEN ALARM 1 ELSE ALARMDOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7 0000000 END CASE END PROCESS 生成电路符号 如图所示 13 AIN4 3 0 DOUT7 6 0 YMQ inst4 4 结论 本文是利用 ALTERA 公司的 QUARTUS 开发环境和软件 进行 VHDL 程序设计 然 后进行仿真 调试 实现了一个简单的微波炉控制器系统的设计 设计的重点主要在系统 的规划以及程序的设计与调试上 要做到键盘与数码管 LED 灯的一体化 需要在键位设 置时进行准确的设计 通过键盘的扫描 和译码 达 到一键一码的目的 做到功能的完善 设计的难点主要在功能控制上 数据和控制信号较多 状态之间的转化也较为复杂 在设计中带来了一些困难 本设计也存在一定的不足 由于本身能力和实验器材的限制 无法在系统中建立完善的体 制 只是实现了一个微波炉控制器的基本功能 参考文献 1 李华 MCS 51 系列单片机使用接口技术 北京 北京航空航天大学出版社 1990 2 黄继昌 传感器工作原理及应用实例 北京 人民邮电出版社 1998 3 纪宗南 单片机外围器件实用手册输入通道器件分册 北京 北京航空航天大学出版社 1998 4 阎石 数字电子技术基础 北京 高等教育出版社 2004 5 张志刚 FPGA 与 SOPC 设

温馨提示

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

评论

0/150

提交评论