logo资料库

FPGA自动售货机设计.docx

第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
资料共15页,剩余部分请下载后查看
第1章基于EasyFPGA030自动售饮料机
1.1概述
1.2硬件设计
1.2.1布局原理
1.2.2元器件选择(器件介绍)
1.2.3EasyFPGA030开发板简介
1.2.4数码管简介
1.2.5发光二极管简介
1.2.6焊接
1.3软件设计
1.3.1总体设计原理
1.3.2分频模块
1.3.3主控模块
1.3.4找零控制模块
1.3.5译码模块
1.4系统测试结果
1.4.1仿真波形
1.4.2测试结果分析
1.5心得体会
附录A参考文献
自动售饮料机 ---基于 EasyFPGA030 学 校: 华南农业大学 作 者: 曾康玲 卫晓欣 时 间: 2009.11 i
目 录 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 第 1 章 基于 EasyFPGA030 自动售饮料机............................................................... 3 概述............................................................................................................................ 3 硬件设计.................................................................................................................... 3 布局原理 ............................................................................................................ 3 元器件选择(器件介绍)................................................................................4 EasyFPGA030 开发板简介...............................................................................4 数码管简介........................................................................................................ 5 发光二极管简介................................................................................................6 焊接 .................................................................................................................... 6 软件设计.................................................................................................................... 7 总体设计原理 ....................................................................................................7 分频模块 ............................................................................................................ 8 主控模块 .......................................................................................................... 10 找零控制模块 ..................................................................................................10 译码模块 .......................................................................................................... 12 系统测试结果.......................................................................................................... 13 仿真波形 .......................................................................................................... 13 测试结果分析 ..................................................................................................14 心得体会.................................................................................................................. 14 附录 A 参考文献........................................................................................................15 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4.1 1.4.2 1.3 1.4 1.5 ii
第 1 章 基于 EasyFPGA030 自动售饮料机 【摘 要】 Verilog 硬件描述语言能够用软件语言的的方式描述硬件特性,并可用仿 真方式完成电路的调试.本文介绍了基于 EasyFPGA030 的自动售饮料机的设计,详细说明了 运用 verilog 语言的设计过程与实现成果。 Verilog 【关键词】自动售饮料机 EasyFPGA030 【 Abstract 】 Verilog hardware description language ( HDL ) specializes in describing hardware in the way of software language, and complete circuit simulation available are introduced. This thesis include the design of Automatic Beverage Machines which is based on the EasyFPGA030 ,as well as the details of the design process Verilog language use and achieve results. 【Key words】Automatic Beverage Machine EasyFPGA030 verilog 1.1 概述 本设计是基于 EasyFPGA030 的自动售饮料机的设计,用 EasyFPGA030 开发套件实 现模拟自动售饮料机的操作。本设计中用两个按钮分别代表投入一块或五毛硬币,投下硬币 之后,通过数码管显示已投硬币金额,当达到相应数目时,自动出饮料,出货信号由两盏灯 交替闪烁提醒拿走饮料,最后饮料机的找零均为五毛硬币,由数码管显示已找零的五毛个数。 此外,饮料机还增加了取消信号,只要在出饮料之前按下取消按钮,即可取回投入的金额, 由找零数码管显示退回的五毛钱个数。 1.2 硬件设计 自动售饮料机通过三个按钮分别模拟硬币的投入,取消信号,把信号输入到板中,然 后运用 EasyFPGA030 控制系统,使输出两个显示已投金额的数码管,一个找零数码管,两 个出货灯。 1.2.1 布局原理 由于内部板已经有四个按键了,所以外部电路只需焊接显示和 LED 灯。由系统软件设定, 按键信号由 AP030 的 15、16、17、64 口输入;然后经过处理,分别把信号输送给 LED 灯 和数码管。总电路原理图如图 1- 1 所示。
图 1- 1 布局原理图 1.2.2 元器件选择(器件介绍) 根据布局原理,得元件清单如表 1- 1 元件清单 表 1- 1 元件清单 器件名称 参数 开发板 EasyFPGA030 1 位共阴数码管 2 位共阴数码管 发光二极管 电阻 470 欧姆 单排插针和插座 多功能板 杜邦线 数量 1 片 1 个 1 个 1 个 2 个 若干 1 片 17 根 1.2.3 EasyFPGA030 开发板简介 本设计所用到的 EasyFPGA030 开发板,其中 EasyFPGA030 硬件电路示,主要芯片采 用 Actel 的 A3P030,如图 1- 3 EasyFPGA030 外观所示,封装为 VG100。板上的外设包括 四个按键、四个 LED、48MHz 的晶振等,同时板上提供了 FPGA 下载所需要的下载器,直 接与 PC 机并口相连,并通过上位机软件 Libero 即可下载。其主要特点:  很强的兼容性,主芯片 A3P030 可替换成资源更大的 A3P060、A3P125、A3P250 入以及 AGL 系列;  I/O 口全部引出,方便进行二次开发;  可以通过芯片内部的 FlashROM 进行数据存储;
 提供注释详尽、简单的入门源程序。 1.2.4 数码管简介 图 1- 2 EasyFPGA030 外观 发光二极管 LED 是将电信号转换成光信号的发光器件,8 段 LED 数码管则是在一 定形状的绝缘材料上,利用单只 LED 组合排列成“8” 字型(第八段是小数点),分别引 出它的电极,并点亮相应段来显示出 0-9 的数字。如图 1- 3 译码管译码显示所示。 图 1- 3 译码管译码显示 LED 数码管根据 LED 的接法不同分为共阴和共阳两类,了解这些特性,对编程是很重 要的,不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。本设计采 用的是共阴极的数码管,即公共端接地,译码时,高电平为显示有效。其主要特点:  能在低电压、小电流条件下驱动发光,能与 CMOS、TTL 电路兼容;  发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高;  体积小,重量轻,抗冲击性能好;  寿命长,使用寿命在 10 万小时以上,甚至可达 100 万小时 ;  光亮可以由电流控制,所以 LED 数码管被广泛用作数字仪器仪表、数控装置显示;
1.2.5 发光二极管简介 发光二极管简称为 LED,LED 是英文 Light Emitting Diode 的缩写。由镓(Ga)与 砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以 用来制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显示。磷砷化镓二 极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。发光二极管的核心部分是由 P 型 半导体和 N 型半导体组成的晶片,在 P 型半导体和 N 型半导体之间有一个过渡层,称为 PN 结。在某些半导体材料的 PN 结中,注入的少数载流子与多数载流子复合时会把多余的能 量以光的形式释放出来,从而把电能直接转换为光能。PN 结加反向电压,少数载流子难以 注入,故不发光。当它处于正向工作状态时(即两端加上正向电压),电流从 LED 阳极流向 阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。发光二极 管外观如图 1- 4 二极管外观所示。 图 1- 4 二极管外观 发光二极管还可分为普通单色发光二极管、高亮度发光二极管、超高亮度发光二极管、 变色发光二极管、闪烁发光二极管、电压控制型发光二极管、红外发光二极管和负阻发光二 极管等。 发光二极管的特点是:  工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);  抗冲击和抗震性能好,可靠性高,寿命长;  通过调制通过的电流强弱可以方便地调制发光的强弱。 1.2.6 焊接 经过了布线之后,我们按照原理图安排走线,并尽量减少了跳线,简单美观,正反面 如 所示图 1- 5 反面焊接图,图 1- 6 完成效果图所示。
图 1- 5 反面焊接图 、 图 1- 6 完成效果图 1.3 软件设计 1.3.1 总体设计原理 本设计运用了顶层设计思路,通过调用不同功能的模块实现总的功能。此外我们还用 了有限状态机进行状态描述 ,为了使状态图不至繁琐 ,以便能够更加清楚模拟饮料机,假 定该售货机只出售一种货品:可乐售价 2.5 元 ,可以接受两种币值的硬币:1 元和 5 毛, 最高可接收 3 元。输出端有四个,分别两个数码管显示已投硬币的金额,一个数码管显示找 零,LED 显示售出饮料。此外,如果在出饮料之前按下取消按钮,饮料机会退回 5 毛币值
的硬币,第三个数码管显示退回的 5 毛的个数。本设计利用状态机设计。 经过分析状态图,本设计分为四个模块:分频模块,主控模块,找零模块,显示输出模 块,于是可得出总体设计框架,如图 1- 7 设计总框架所示。 1.3.2 分频模块 图 1- 7 设计总框架 本设计总共包含两个分频,分别是 1S 和 0.25S,1S 分频是用作找零数码管和售出信号 闪烁用的,而 0.25S 是用作与输入按钮的时间匹配,由于人的按键时间是毫秒级的,为了使 一元和五角的信号持续一个时钟周期,所以需要把时钟信号分成 0.25S。现在以 0.25S 为例。 分频模块完成了把 48MHz 的系统时钟信号分成频率得到 4Hz 的时钟信号,并作为。主控 模块的时钟信号。此处用了 divclk_cnt1 计数器进行计数,复位信号启动,使得输出为低 电平,每当系统时钟上升沿到达时,计数器就进行加 1 计数,输出信号保持原状态。 当计 数到 6000000 时,输出信号取反,计数器清 0,因而得到一个周期的方波信号,可知在 1 秒时间内,输出信号有 4 个周期,即输出信号频率为 4Hz。程序流程如图 1- 8 分频设计流 程所示。
分享到:
收藏