ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:218.89KB ,
资源ID:17016925      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17016925.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的自动售货机毕业设计Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的自动售货机毕业设计Word格式文档下载.docx

1、目前,随着移动商务的发展,自动售货机作为一种方便、直观的移动商务工具,开始在全球各地迅速普及和发展1。2 硬件系统的设计本控制系统的硬件外围设备分为:外部存储器,外部电源,晶振信号发生器,以及FPGA芯片,LED外部显示灯,出货装置。2.1 芯片的选择 本文所用到的FPGA芯片为,Altera生产的EPF10K10LC84 芯片,EPF10K10LC84-4是一种复杂可编程逻辑器件,另外还有其它类型的管脚和封装,选择性强2。2.2 时钟发生器自动售货机的控制系统需要一个时钟信号,我们选用的是6MHz的时钟信号。其中用两个振荡器以及两个电阻可以完成我们所需要的设定。2.3 电源电路日常所用到的电

2、源为220V电压的电源,但是本课题中自动售货机所需要的电压为5V,因此我们需要设定一个变压电路来完成所需的电压。在这部分电路我们用到了一个变压器,一个整流桥,一个滤波电路,一个稳压器完成为5V电压的电源。2.4 键盘的设计为了完成购物自动售货机必须有购物键,本课题所要求的是五个按键,其中四个是商品选择键(热狗,饮料,汉堡,双层汉堡),剩下的一个按键为初始按键3。关于输入按键的信号发生情况将在下文中的软件系统设计中阐述,这里就不多叙述。2.5 显示器设计自动售货机需要一个显示灯,当购物结束后显示器显示找零钱数额。对于显示器的显示数字情况,将在下文软件系统中的显示模块进行阐述。3 软件系统设计软件

3、系统分为总体思想与模块的分类。3.1 设计思想3.1.1 功能要求1该系统能完成对货物信息的存储、进程控制、钱币处理、余额计算和显示功能。2举例说明:如果自动售货机能够销售4种商品:热狗(1元),汉堡包(4元),双层汉堡包(8元),饮料(3元)数量无限。自动售货机允许投入1元,2元,5元硬币:当总币值等于顾客需要的商品单价时,机器送出需要的商品:若总币值大于顾客需要的商品单价时,机器除提供所需商品外,并将余币退出;若总币值小于顾客需要的商品单价时,机器退出顾客投入的硬币。设机器内1元和2元的找零硬币无限。3每次投币的时间有限制,不得超过30秒,在时间到时,总币值不足顾客购买的商品单价时,自动售

4、货机按不足钱数处理,退还全部硬币。或者在设定时间内,总币值不足顾客购买的商品单价时,若需要取消交易则可按取消键,售货机按不足钱数处理,退还全部硬币。4当顾客完成一次购买后或按错按钮后,需要设置一个重新开始按钮,使整个系统恢复到初始状态。5顾客一次只能购买一种商品的一个,若需要更多商品,需要重复操作4。3.1.2 总体思想自动售货机包括四个商品,依据四种商品分别设为四个按钮,A1,A3,A4,A8。当顾客选择其中的一种商品时,售货机发送出一个信号按钮不再生效,用一个LED灯显示。设置三个按钮:a1,a2,a5来表示投入的硬币是1元、2元、5元。当顾客投入的硬币大于或等于售价时将不再接受硬币,用一

5、个LED灯显示。当顾客确定某种商品且投入了足额的硬币,投币时限到时,投币窗口找零,用七段显示管显示找零数,同时送出商品,指示灯out亮5。3.1.3 控制状态的设计此售货机分为三种状态:初始状态,投币状态,找零状态。1初始状态:当售货机通电后进入初始状态,顾客购买时,可根据选择xuan_rg,xuan_yl,xuan_hb,xuan_schb键购买商品,从而进入下一状态。当顾客购买错误或不再购买时按下start重新进入初始状态。2投币状态:在这个状态时xuan_rg,xuan_yl,xuan_hb,xuan_schb键失效。投入钱(1元,2元,5元),当投入硬币等于或者超过商品价格时进入下一状

6、态。投币时间 为30秒超过30秒,售货机拒绝接受钱币。3找零状态:投币结束,售货机自动判别总钱数,若在时限到来之际,总钱数少于顾客所需商品的单价,则退出钱币,用LED显示退钱数。若大于或等于商品数则通过控制系统找零,用LED显示找零数,送出商品6。3.1.4 设计流程图系统设计流程图,如图3-1所示。图3-1 系统设计流程示意图3.2 模块分类此售货机模块包括:投币处理模块,商品选择模块,投币模块,分频模块,控制器模块,计时模块,LED灯显示模块,找零模块,出货模块,如图3-2所示。图3-2 模块示意图3.2.1 投币模块自动售货机能够自动计算投入的钱币数目,需要提供一个寄存器来记录并保存投入

7、的总币值。此模块有六个输入信号以及两个输出信号:qian1,qian2,qian5为不同数额钱币输入信号;en1为主控模块所发出的信号,当en1信号为1的时候,投币模块开始工作;reset为恢复初始信号,当reset信号为1 的时候投币模块不进行工作;en为给计时器的输出信号,当en为1的时候计时器开始工作;bi为输出的钱币数目。通过程序所得到的仿真图如下所示7。1当 reset输入为0,输入为5元2元1元时,输出结果为7。仿真结果如图3-3所示。 图3-3 reset输入为0时的仿真结果2当reset输入为1时,输入5元,2元,1元,bi输出应为0。仿真结果如图3-4所示。 图3-4 res

8、et输入为1时的仿真结果3.2.2 商品选择模块自动售货机的商品选择模块,通过自动售货机上的四个选择按键完成商品选择,在接收到对应四个商品之一的一个选择信号时进行编译,将被选择的商品进行编码,输入到主控模块中,在主控模块中与所接受的钱币进行对与计算。输入信号为a1,a2,a3,a8。而xuan_rg,xuan_hb,xuan_yl,xuan_schb为四个输出信号,与出货模块连接。reset 与en2信号来自主控模块,当reset为1时模块进入初始状态,进行选择。当en2为1时,商品可以进行选择,当en2为0时,四个商品选择键无效8。商品选择模块如图3-5所示。图3-5 商品选择模块通过程序所

9、得仿真结果如下:1当reset输入为1,en2输入为0,a8输入为1时,d输出应当为0,仿真结果如图3-6所示。图3-6 reset输入为1,en2输入为0,a8输入为1时的仿真结果2当reset输入为0,en2输入为0,a8输入为1时,d输出为0,仿真结果如图3-7所示。图3-7 reset输入为0,en2输入为0,a8输入为1时的仿真结果3当reset输入为0,en2输入为1,a8输入为1时,d输出为8,xuan_schb输出为1,仿真结果如图3-8所示。图3-8 en2输出为2时的仿真结果3.2.3 分频模块分频模块是用来将外来的时钟信号进行分频,由于硬件系统已经知道,选用的时钟信号是由

10、外部的6MHZ的晶振提供的,通过分频模块进行分频以后将得到周期为1HZ的信号9。由于仿真所需时间过长,本文选择100.0ns为一周期的信号,分频后为6.0us为一周期的信号,时钟输入信号为clk,输出信号为newclk,分频模块如图3-9所示。图3-9 分频模块通过程序所得到的仿真结果如下:当clk第15输出为上升沿时,newclk输出为1,仿真结果如图3-9所示。 图3-10 newclk输出为1时的仿真结果3.2.4 计数模块由于课题要求自动售货机控制系统有定时系统,并限定在30s内完成投币,30s之后投币无效,因此需要设定一个计数模块对投币时间进行限制。en为接受信号,当投币开始时投币模

11、块发出信号,计数模块开始工作,当计数到30时向控制模块发出t信号。Clr为控制器发送给计数模块的一个信号,当clr为1时,计数器归零。Clk为分频模块发送的时钟信号。计数模块如图3-11所示。图3-11 计数模块3.2.5 出货模块出货模块是自动售货机给出相关货物的信号,本课题要求货物为四个商品,因此出货模块有5个输入信号,xuan_rg,xuan_sb,xuan_yl,xuan_schb,为所购商品的输入信号,en为控制模块所给的信号当en=1时出货模块开始工作,然后对顾客所选择货物进行出货10。出货模块有四个输出信号为所选择的货物的输出信号。出货模块如图3.12所示。图3-12 出货模块出

12、货模块的仿真结果如下:1当输入信号en为1,xuan_rg信号为1时,chu_rg信号为1,仿真结果如图3-13所示。图3-13 chu_rg信号为1时的仿真结果2当输入信号en为0,xuan_rg信号为1时,chu_rg信号为0,仿真结果如图 3-14所示。图3-14 chu_rg信号为0时的仿真结果3.2.6 显示模块显示模块的作用是对购物结束后的所需找零数目进行显示。找零显示模块的输入端接收来自控制模块的输入信号,输出端外接LED显示灯,由于找零的数目为范围为0至8,因此只需要一个LED显示灯,输出信号为a,b,c,d,e,f,g。找零显示模块如图3-15所示。图3-15 显示模块当输入

13、信号di为2时,g输出为1,f输出为0,e输出为1,d输出为1,c输出为0,b输出为1,a输出为1,仿真结果如图3-16所示。图3-16 di输入为2时的仿真结果3.2.7 主控模块主控模块为自动售货机控制系统的核心部分,在主控模块中将输入的钱币数目(b)与商品的价格(d)进行对比,然后进行找零并发出出货信号。输入信号t为计时信号,当时间超过30s时,商品不再接受货币。Clk为控制系统的时钟信号。输出信号di,c分别为找零显示模块的输入信号与找零信号。en为控制出货模块的信号,当en值为1时,确认出货模块可以输出商品。Start为复位信号,当start值为1时,自动售货机回到初始状态。Clr为

14、计数模块的控制信号,当收货完成后,Clr输出为1,计数模块回到初始状态归零。en1与en2分别为投币模块与商品选择模块的控制信号,当en1为0时,投币模块不工作,当en2为0时商品选择模块不工作。主控模块如图3-17所示。图3-17 主控模块主控模块的仿真结果如下:1当start输入为0,t输入为0,b输入为5,d输入为4时,c输出为1,clr输出为1,en输出为1,en1输出为1,reset输出为1,仿真结果如图3-18所示。图3-18 c输出为1,clr输出为1,en输出为1,en1输出为1,reset输出为1时的仿真结果。2当start输入为0,t输入为1时,b输入为5,当输入为4时(b

15、=d),c输出为1,en输出为0,en1输出为0,clr输出为1,en2输出为0,仿真结果如图3-19所示。图3-19 c输出为1,en输出为0,en1输出为0,clr输出为1,en2输出为0 时的仿真结果。4 结果分析与讨论通过设计简单的自动售货机,详细了解了自动售货机的投币模块,商品选择模块,主控模块等模块的软件设计与实现主要功能的模块的仿真。经过仿真与实践,整个系统的工作稳定可靠,具有较强的适应性,当需要增加商品时,此控制系统只需增加相对的输入信号,硬件原有的电路不应改变,因此在自动售货机行业可以得到广泛的应用。不过缺点是只能完成相对比较简单的自动售货机功能,实现金额计算,发放商品,找零

16、,退币等功能。由于其中是商品存货无限,找零无限,因此不会出现找零钱币与商品存货的不足的情况。解决办法是通过增加模块,与输入信号来解决。仿真过程中遇到的问题主要有:1、在仿真过程中由于原有时钟信号分频模块仿真时间过长,因此用频率相对较小的晶振进行代替仿真。2、仿真过程中找零所得钱币数目不能达到预期效果,通过调整主控模块程序已得到解决。参考文献1 袁亚恒,周伟.基于VHDL的自动售货机设计J,武汉理工大学学报,武汉:信息管理工程版,2007.32 宋潇,李佩佩,韩莹莹.自动售货机控制设计J,科技信息,机械与电子,2009.33 谭卫泽,徐畅.面向FPGA器件的VHDL语言优化设计方法J,南宁职业技

17、术学院学报.2008.44 陈志刚.VHDL语言在电路设计中的优化J, 电子测试.2008.95 周润雅等.基于QuartusII的FPGA/CPLD数字系统设计实例M,北京:电子工业出版社,2007.56 姜雪松,吴钰淳,王鹰.VHDL设计实例与仿真M,北京:机械工业出版社,2006.37 徐光军,徐光辉.CPLD/FPGA的开发与应用M,北京:电子工业出版社,2002.108 PETER R. WILSON. UNDERSTANDING THE FPGA DESIGN FLOW, Electronics world,2008.110L.M. Wu; W.B.Hu;N.H.Lai; G.T.

18、 Wang The Reconfigurable Embedded Nc System Based On FpgaM,Key Engineering Materials .2009.19 Mark D. Birnbaum .Essential electronic design automation (EDA). China Machine Press, 2005.910 Rusdiansyah A, Tsao D B.An integratedmodel of the periodic delivery problems for vending - machine supp ly chain

19、s J .Journal of Food Engineering, 2005.7致 谢本课题在选题及研究过程中得到朱永琴老师的亲切关怀和悉心指导下完成的。她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,朱老师都始终给予我细心的指导和不懈的支持。在此谨向朱老师致以诚挚的谢意和崇高的敬意。同时我要感谢同学们对我做毕业设计期间的帮助,由于他们的热情帮助促使我能在规定时间内完成我所做的课题,对于同学们的帮助我深怀感激之情。附录1:硬件原理图附录2:软件程序投币模块主要程序如下:library ieee;use ieee.std_logic_11

20、64.all;entity toubi is port (a1,a2,a5,en1,clk,reset:in std_logic; bi:out integer range 0 to 15; en: out std_logic);end toubi;architecture a of toubi issignal state:integer range 0 to 1;beginprocessvariable qian:integer range 0 to 15;wait until clk=1and clk event;if reset=1 then state=0;biqian:enif e

21、n1=1 then if a1 =1 then state=1;qian:=1;elsif a2=1 then state=2; qian:=2;elsif a5=1 then stateif en1=1 then if a1=1 then qian:=qian+1;=qian;elsif a2=1 then qian:=qian+2;elsif a5=1 then qian:=qian+5;商选择模块主要程序如下:USE ieee.std_logic_1164.ALL;ENTITY yima ISPORT ( a1,a3,a4,a8,en2,reset : IN STD_LOGIC;xuan

22、_rg,xuan_yl,xuan_hb,xuan_schb:OUT STD_LOGIC;d: OUT integer range 0 to 8 );END yima;ARCHITECTURE a OF yima ISBEGINprocess(a1,a3,a4,a8) if reset=0 thenif a1=1 and en2=1 then dxuan_rg=1; xuan_yl=0xuan_hbxuan_schbelsif a3=1then=3;xuan_ylelsif a4=1=4; xuan_hbelsif a8=1=8;else d=0;=0;0;end if;end process;

23、END a;分频模块主要程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY fenpi ISPORT(CLK:IN STD_LOGIC;NEWCLK:OUT STD_LOGIC);END fenpi;ARCHITECTURE a OF fenpi ISSIGNAL Q:INTEGER RANGE 0 TO 14;SIGNAL DIVCLK: STD_LOGIC;PROCESS(CLK)IF CLKEVENT AND CLK=1 THEN IF Q 14 THEN Q =Q+1;ELSE DIVCLK = NOT DIVCLK;Q END IF;END PROCESS;NEWCLK = DIVCLK;END a;计数模块主要程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jishu isport(clk,en,clr:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1