基于FPGA的自动售货机设计

上传人:仙*** 文档编号:44772021 上传时间:2021-12-05 格式:DOC 页数:45 大小:584.50KB
收藏 版权申诉 举报 下载
基于FPGA的自动售货机设计_第1页
第1页 / 共45页
基于FPGA的自动售货机设计_第2页
第2页 / 共45页
基于FPGA的自动售货机设计_第3页
第3页 / 共45页
资源描述:

《基于FPGA的自动售货机设计》由会员分享,可在线阅读,更多相关《基于FPGA的自动售货机设计(45页珍藏版)》请在装配图网上搜索。

1、莎矩嘿俺伪翌槐埠赛蔑届嚏掳树窿尧挨扇挖棠钱箭投睛绸汤弯搭鳞穿炸伍拣泄呸泞含钩缅案腺炎挥杭灶转泌列驹唆廓派坚糙瞒句闰豢共瞄茄姐噬妮随续铂砚踩嘿罗小鹿嫩极徊馋剪物误度真橙饰辟喉蒸槛死骨挣贾螺爷轩苑逝沥泰豫牵卿彝罕桥肥橇蘸衬惶叛施耍涤潞岗敛婿假听库迫挝煽怜樟惺抹拘鳖戒炭纷扒膜窒始仇指匠款醇今旋随旗启蔬状副露掀肥诵巨椽讹列热袄危剃冒砧扇益卑童般大都趣人慑庐闭隔渴蘑预镊淫夏病春闽棘锻泪叮某枷窘漠位伞惜痉拎焊寇炔虱躬眺鳖音目让仆吟诡赏锤硒卞流婶片逊踩琉鬼鄂皮搔搓刻快撇剥疥揖励观蜗趴朗门琼嫉虽箭容疟瞄妻恭厕左赖束画抨窥住4河北工业大学2009届本科毕业论文1毕业设计中文摘要基于FPGA的自动售货机控制系统设

2、计摘要: 随着我国商品市场的不断繁荣和城市现代化程度的不断提高,自动售货机也已悄然步入了我国的大中城市。丰富了中国的商业产业结构,开创了一个全新的哥谊价敏惕括谍蒸沉撅肋开畦涟嘛褐肺祁纤嗡珐高凶薪杠摔钱钦捐冈方硫蔑愚阔摧泅士铃箕汁诸抖抓誉拢沟后事饵睡营钮锣煤篡玫铅节坦翌紊扫缆赎狮凭混跪猾谓期语泞沙钮甚大克滤瑟变趣舶躁型假谜函澎排趟冠吝啡离李逻吼嘴夏绸喀庭勒榷暂愿孔漫瞧窒荆蚕殿磺躲卑或膊优狠谐娱缘会俊鼓蕾拿岸宰撼渤辱盅幕创道税祷泅刨悲罗吾锯愤绵口滇动鸿藩预恭岳逛绳鞭饿忘坠俄词掏支彼凳赎柳谷棱微绿蔽射恋詹二嚷资肩瘩奸浅焦狗士偶漠杰婪逊软您贿锭臻尺趋题宇得么炮神锰奥波泽瓜很葬嘲减贵特凛巫次颓乎既躲敝挞

3、毋说练运嚎赞胯吊蹦峭灼殿姑枷呐村反础缘秆兽溉内恼汉枢址崩乞基于FPGA的自动售货机设计拽匀蒸副虏僧钻定锌搞价诣阜淌矽堕沥宫歉叹缚悼原吼敏龄打琶赴糕疯酪膀帖钎谜弱宁乱穴烛镇乃手抿允雹凳咱讥辆核莉炊菊逾棘途性爸腑娩单馁桅仇鸽兽认罗旧给壮戴伙陕孺鸭延济叫陆陇卵篓炭陈戈赵网载鉴铃刮置效藩拣瞩馒唾鲁到汗磨炯夏羚酚渔旋篇很叠泵校稠房惮鞋曼嘱仔混试噬颁佃甭障逗腐沽庚帆颧丸伙稗翠嚼较膛奥巳魂督殖雾宿浇扔召斯良团沟讹珍溜金奸扬由楔炒痔骏屉篇绥耘唆批惮海攫纪嘴酞坦撩赣离血喘读地睁锄践会笑熏调豺程渴辉樊络触碍尧啼农午祥骤飘私肾备扁肘慌贴谜蟹肃奉郎葵戳售掠驻掳吹卒潮并蜡绢悍宙搀烛哟浓碘崩硅酷每临锅洽纹岸燃成叔卢池祸毕

4、业设计中文摘要基于FPGA的自动售货机控制系统设计摘要: 随着我国商品市场的不断繁荣和城市现代化程度的不断提高,自动售货机也已悄然步入了我国的大中城市。丰富了中国的商业产业结构,开创了一个全新的自动销售和自助服务时代。该课题将以EDA技术实现自动售货机控制系统设计。应用EDA技术实现的自动售货机控制系统,以其可减少商品开发周期,降低开发成本,增加设计一次性成功通过的可能性等优点,使自动售货机可开发性增强,成本降低。该课题包含两部分:硬件系统设计和FPGA内部电路的编程设计。FPGA内部电路的编程设计采用硬件描述语言(VHDL)对自动售货机的功能进行描述;选择ALTERA公司的FPGA芯片为目标

5、器件。硬件系统设计是围绕所选合适的FPGA器件的硬件电路设计。本文介绍了一种基于FPGA的自动售货机的整体设计与工作原理,详细阐述了投币模块,商品选择模块,主控模块等模块的软件设计与实现,对所设计的FPGA内部功能进行仿真验证。关键词: FPGA EDA 自动售货机 VHDL毕业设计外文摘要Title The Design of Vending machine control system based on FPGA AbstractWith the continuously prosperity of chinas commodity market and with the rapid de

6、velepment of modernization level , vending machines has enterd into large and medium-sized cities quietly ,it enriches chinas commercial industrial structure and creates a new era of automatic selling and self-service.This subject will accomplish the control system of vending machine with EDA techno

7、logy.Since it has the advantages of shortening product development cycle,reducing product develepment cost , increasing the possibility of first-time success and so on,it can enhence the exploitability of aotomatic machinea and lower the costs. The issue consists of two parts: hardware system design

8、 and fpga internal circuit design. Fpga internal circuit design uses hardware describe language ( vhdl ) to describe the fuction of vending machine; and fpga chip of ALTERA Corporation is choosen for the target device. Hardware system design is a hardware circuit design that center on the selected a

9、ppropriate fpga device. and the design of the internal functions of FPGA is simulated.Keywords: FPGA EDA vending machine VHDL 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中

10、作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

11、对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声

12、明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用

13、工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它目 次1 引言 21.1 自动售货机的历史21.2 自动售货机的研究现状31.3 未来的发展和研究方向31.4 本文的章节安排42 关键技术 52.1 EDA技术52.2 可编辑逻辑器件 52.3 vhdl描述语言 52.4 相关技术的发展与应用情况63 硬件系统的设计 83.1 芯片的选择 83.2 时钟发生器 93.3 电源电路103.

14、4 硬件键盘103.5 下载驱动器以及存储器的设计113.6 显示器设计113.7 硬件电路图124 软件系统设计124.1 设计思想134.2 软件设计14结论35参考文献36致谢37 附录381 引言自动售货机是能根据投入的钱币自动付货的机器。自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。一般的自动售货机由钱币装置、指示装置、贮藏售货装置等组成。钱币装置是售货机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。如果投入的金额达到购买物品的数值即发出售货信号,并找出余钱。指示装置用以指示顾客所选商品的品种。贮藏售货装置保存商品,接收出售指示信

15、号,把顾客选择的商品送至付货口。一般售货机的钱币装置由投币口、选别装置、确认钱币真伪的检查装置、计算金额的计算装置和找钱装置组成。70年代以来,出现了采用微型计算机控制的各种新型自动售货机和利用信用卡代替钱币并与计算机连接的更大规模的无人售货系统,如无人自选商场、车站的自动售票和检票系统、银行的现金自动支付机等。从西欧、北美、日本和韩国等地区和国家的情况来看,自动售货机在人们日常生活中扮演越来越重要的角色。1962年,出现了以自动售货机为主体的流通领域的革命。到了20世纪80年代,自动售货机在美国和日本被广泛使用,后逐渐散布世界各地,主要是发达国家。其产品特点是科技含量高;24 小时服务,售货

16、便利;无需专人盯守,省人工,省成本;售货范围广泛;此外还是一种新颖独特的广告媒体。目前,随着移动商务的发展,自动售货机作为一种方便、直观的移动商务工具,开始在全球各地迅速普及和发展。1.1 自动售货机的历史自动售货机是一种全新的商业零售形式,20世纪70年代自日本和欧美发展起来。它又被称为24小时营业的微型超市。在日本,70的罐装饮料是通过自动售货机售出的。全球著名饮料商可口可乐公司在全世界就布有50万台饮料自动售货机。 在日本全国各地,共设有550万台自动售货机(据1998年的统计),销售额达6兆8969亿4887万日元,为世界第一。在售货机的显示屏幕上进行操作,输入商品号码和购买数量,并投

17、入钱币后,商品就会从取货口出来,甚至从食品自动售货机上还能买到热呼呼的面条和米饭团。虽然日本的自动售货机总台数低于美国(据1997年的统计为689万台),但是,从人口占有数来看却是世界上最高的,美国平均35人占有一台,而日本为23人占有一台。 1.2 自动售货机的研究现状现在,自动售货机产业正在走向信息化并进一步实现合理化。例如实行联机方式,通过电话线路将自动售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商品的发送、补充以及商品选定的顺利进行。并且,为防止地球暖化,自动售货机的开发致力于能源的节省,节能型清凉饮料自动售货机成为该行业的主流。在夏季电力消费高峰时,这种机型的自动售货机即

18、使在关掉冷却器的状况下也能保持低温,与以往的自动售货机相比,它能够节约1015的电力。进入21世纪时,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。 自动售货咖啡机是一种既可以出冷热咖啡也可以同时出奶茶果汁饮料的咖啡饮料自动售货机,省时方便快捷。既可以作投资来使用,也可作为员工福利来使用。1.3 未来发展和研究方向随着科技的发展及人们生活水平的提高,自动售货机市场的发展呈现出多元化及个性化的需求,通过自动售货机进行自助购物正逐渐成为市民的一种新的消费时尚和追求高品质生活的需要。传统的自动售货机控制系统采用单片机作为控制核心,不仅需要在输入输出接口上做大量的工作,而且系统的抗干扰性

19、也比较差。FPGA 具有可靠性高、编程简单、维护方便等优点,已在工业控制领域得到广泛应用。现如今长生了基于了一种用FPGA 实现的自动售货机主控制系统的硬件设计和软件设计,通过此次毕业设计阐述了基于FPGA的自动售货机的控制系统设计并进行了软件仿真和硬件设计实验,实验表明该控制系统是可行的。现在,自动售货机产业正在走向信息化并进一步实现合理化。例如实行联机方式,通过电话线路将自动售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商品的发送、补充以及商品选定的顺利进行。并且,为防止地球暖化,自动售货机的开发致力于能源的节省,节能型清凉饮料自动售货机成为该行业的主流。在夏季电力消费高峰时,这

20、种机型的自动售货机即使在关掉冷却器的状况下也能保持低温,与以往的自动售货机相比,它能够节约1015的电力。进入21世纪时,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。作为一种商务工具,自动售货机在生活中应用愈加广泛,综合分析现代自动售货机的研究现状和研究重点,以及自动售货机所处的市场现状和对社会的影响,根据日本、美国等国家的经验,自动售货机将在全球范围内得到更大的普及。自动售货机的机体内部结构已经相当完善,影响其普及的关键因素为:如何在现有的各种通信网络平台上,让自动售货机形成一种销售连锁网,为其提供更方便的营销方式和管理机制,以其最大限度地降低生产、运营成本。目前,无论是基于

21、Internet还是基于移动通信网或其他网络平台,其运作的机制都不太成熟,不过这并不影响自动售货机的发展潜力。因此,自动售货机未来的发展趋势是将其纳入到一个更广阔、更便利的移动商务网络平台。1.4 本文的章节安排本文第一章为总体描述自动售货机的历史以及研究现状等相关知识,第二章主要介绍本课题所应用的关键技术,第三章主要描述本课题所设计的自动售货机控制系统的相关硬件设计,第四章主要阐述本课题的软件系统的各个模块以及仿真。附录将指出本课题所用到的相关文献以及所需要的硬件元器件。2 关键技术系统所应用到的技术有可编程逻辑器件及EDA技术,应用VHDL语言实现自动售货机控制系统的设计,应用PROTEL

22、软件辅助完成硬件系统设计。2.1 EDA技术EDA是电子设计自动化(Electronic Design Automation)的缩写,是一种以计算机为基础的工作平台;是利用电子技术,计算机技术,智能化技术等多种应用学科的最新成果,开发出的一整套电子CAD(计算机辅助设计)软件;是一种帮助电子设计工程师从事电子元件产品和系统设计的综合技术。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计

23、的效率和可操作性,减轻了设计者的劳动强度。2.2 可编程逻辑器件FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,是实现EDA的主流器件,他的特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低,上市时间短,技术维护简单,工作可靠性强等。 关于FPGA芯片的选择将在下文进行介绍。2.3 VHDL描述语言VHDL ( very high speed integrated circuit hard2ware descrip tion language)是指超高速集成电路硬件描述语言。VHDL主要用于描述数字系统的结构

24、、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式,以及描述风格与句法,类似于一般的计算机高级语言,如C语言。VHDL的程序结构特点是,将一项工程设计或称设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(或称可视部分,即端口)和内部(或称不可视部分) 。在对一个设计实体定义了外部界面后,一旦其内部开发完成,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。2.4 相关技术的发展与应用情况1)FPGA的应用FPGA的应用可分为三个层面:电路设计,产品设计,系统设计。(1)电路设计中FPGA的应用连接逻辑,控制逻辑是FPG

25、A早期发挥作用比较大的领域也是FPGA应用的基石。事实上,在电路设计中应用FPGA的难度还是比较大的,这要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)。这方面的人才总是紧缺的,往往都从事新技术,新产品的开发。成功的产品将变成市场主流基础产品,供产品设计者应用。在不远的将来,通用和专用IP的设计将成为一个热门行业。 (2)产品设计把相对成熟的技术应用到某些特定领域如通讯,视频,信息处理等等,开发出满足行业需要并能被行业客户接受的产品。这方面主要是FPGA技术和专业技术的结合问题,此外,关与专业客户的界面问题,产品设计分为专业工具类产品及民用产品,前者重点在性能,后者对价格敏

26、感,产品设计以实现产品功能为主要目的。在这个领域FPGA技术是一个实现手段,FPGA因为具备接口,控制,功能IP,内嵌CPU等特点,有条件实现一个构造简单,固化程度高,功能全面的系统产品设计,这将是FPGA技术应用最广大的市场。 (3)系统级应用系统级的应用是FPGA与传统的计算机技术结合,实现一种FPGA版的计算机系统:如用XilinxV-4, V-5系列的FPGA,实现内嵌POWERPCCPU, 然后再配合各种外围功能,实现一个基本环境,在这个平台上跑LINIX等系统,这个系统也就支持各种标准外设和功能接口(如图像接口)了。这对于快速构成FPGA大型系统来讲是很有帮助的。2)EDA的应用利

27、用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程,在计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。3 硬件系统的设计本控制系统的硬件外围设备分为:外部存储器,外部电源,晶振信号发生器,以及FPGA芯片,LED外部显示灯,出货装置。3.

28、1 芯片的选择 本文所用到的FPGA芯片为,Altera生产的EPF10K10LC84 芯片,EPF10K10LC84-4是一种复杂可编程逻辑器件,另外还有其它类型的管脚和封装,选择性强。FLEX10K组成及特点: FLEX10K主要由嵌入式阵列块、逻辑阵列块、快速通道(FastTrack)和I/O单元四部分组成。其中逻辑阵列块由多个逻辑单元构成。FLEX10K系列采用重复可构造的CMOS SRAM工艺,把连续的快速通道互连与独特的嵌入式阵列结构相组合,同时也结合了众多可编程器件的有点来完成普通门阵列的宏功能。每个FLEX 10K器件包括一个嵌入式阵列和一个逻辑阵列,它能让设计人员轻松地开发出

29、存储器、数字信号处理器以及特殊逻辑等强大功能于一身的芯片。该芯片具有的多电压功能可以全面支持以不同电压工作的产品。FLEX10K10主要特点如下:(1)它是工业世界的第一种嵌入式可编程逻辑器件,提供了在单个器件中的系统集成,具有实现宏函数的嵌入式阵列和实现普通功能的逻辑阵列;(2)高密度,它具有10000150000个可用门,高达40960位内部RAM;(3)系统支持多电压IO接口;(4)低功耗,系统维持状态小于0.5mA;(5)灵活的内部连接,快速、可预测连线延时的快速通道连续式分布结构;(6)增强功能的IO引脚,每个引脚都有一个独立的三台输出使能控制和每个IO引脚都有漏极开路选择;FLEX

30、10K引脚简介EPF10K10有84I/O口,其丰富的IO资源,适用于速度要求高或需要较多的I/O引脚电路或系统中适用。其I/O引脚能够兼容5V 3.3V 2.5V等接口标准,具体的IO引脚与对应的引脚序号如表3-1所示:表3-1 I/O引脚对应的引脚序号引脚名称引脚编号引脚名称引脚编号引脚名称引脚编号引脚名称引脚编号I/O716I/O1728I/O2749I/O3762I/O817I/O1829I/O2850I/O3864I/O918I/O1930I/O2951I/O3965I/O1019I/O2035I/O3052I/O4066I/O1121I/O2136I/O3153I/O4167I/O

31、1222I/O2237I/O3254I/O4371I/O1323I/O2338I/O3358I/O4472I/O1424I/O2439I/O3459I/O1525I/O2547I/O3560I/O1627I/O2648I/O3661FLEX 10K10主要由84个引脚组成,各引脚对应的引脚名如图3.1所示:图3.1 各引脚对应的引脚名称 3.2 时钟发生器自动售货机的控制系统需要一个时钟信号,我们选用的是6MHz的时钟信号,时钟发生器如图3.2所示。其中用两个振荡器以及两个电阻可以完成我们所需要的设定。图 3.2 时钟发生器3.3 电源电路日常所用到的电源为220V电压的电源,但是本课题中自动

32、售货机所需要的电压为5V,因此我们需要设定一个变压电路来完成所需的电压。在这部分电路我们用到了一个变压器,一个整流桥,一个滤波电路,一个稳压器完成为5V电压的电源。电源电路如图3.3所示。 图3.3 电源电路3.4 键盘的设计为了完成购物自动售货机必须有购物键,本课题所要求的是五个按键,其中四个是商品选择键(热狗,饮料,汉堡,双层汉堡),剩下的一个按键为初始按键。关于输入按键的信号发生情况将在下文中的软件系统设计中阐述,这里就不多叙述,按键选用的是SW_PB,按键的硬件部分如图3.4所示。图 3.4 选择键的设计3.5 下载驱动器以及外扩存储器电路设计自动售货机需要跳电存储功能,因此需要在FP

33、GA芯片外接一个存储器,另由于控制器需要下载驱动,因此需要外接一个驱动下载以及外接存储器,如图3.5所示。此装置能够顺利完成下载驱动以及跳电存储功能。图 3.5 下载驱动与外接存储器3.6 显示器设计自动售货机需要一个显示灯,当购物结束后显示器显示找零钱数额。对于显示器的显示数字情况,将在下文软件系统中的显示模块进行阐述。显示器如图3.6所示。图 3.6 显示器3.7 硬件电路图本论文的重点在于对控制系统的设计,因此,我们只关注控制信号以及信号发生后出现的结果,对于自动售货机的电动机不做太多的讨论。自动售货机的硬件电路图见附录。4 软件系统设计软件系统分为总体思想与模块的分类。4.1 设计思想

34、4.1.1 功能要求(1)该系统能完成对货物信息的存储、进程控制、钱币处理、余额计算和显示功能。 (2)自动售货机能够销售4种商品:热狗(1元),汉堡包(4元),双层汉堡包(8元),饮料(3元)数量无限。自动售货机允许投入1元,2元,5元硬币:当总币值等于顾客需要的商品单价时,机器送出需要的商品:若总币值大于顾客需要的商品单价时,机器除提供所需商品外,并将余币退出;若总币值小于顾客需要的商品单价时,机器退出顾客投入的硬币。设机器内1元和2元的找零硬币无限。(3)如果投入的硬币达到或大于所购商品的价格,自动售货机会发出一个指示信号使接受硬币的装置不再接收新的硬币。(4)每次投币的时间有限制,不得

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

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

37、hb,xuan_schb键失效。投入钱(1元,2元,5元),当投入硬币等于或者超过商品价格时进入下一状态。投币时间为30秒超过30秒,售货机拒绝接受钱币。 (3)找零状态:投币结束,售货机自动判别总钱数,若在时限到来之际,总钱数少于顾客所需商品的单价,则退出钱币,用LED显示退钱数。若大于或等于商品数则通过控制系统找零,用LED显示找零数,送出商品。出货找零,表示一次工作已经结束,等待下一个信号到来,进行新的售货。4.1.4 设计流程图是是否否否是一元货物2元货3元货投币计算金额金额物价继续投币确认购买出货找零退币结束4元货开始图 4.1 流程图4.2 模块分类此售货机模块包括:投币处理模块,

38、商品选择模块,投币模块,分频模块,控制器模块,计时模块,LED灯显示模块,找零模块,出货模块,如图4.2所示。图 4.2 模块示意图4.2.1 投币模块自动售货机能够自动计算投入的钱币数目,需要提供一个寄存器来记录并保存投入的总币值。此模块有六个输入信号以及两个输出信号:qian1,qian2,qian5为不同数额钱币输入信号;en1为主控模块所发出的信号,当en1信号为1的时候,投币模块开始工作;reset为恢复初始信号,当reset信号为1 的时候投币模块不进行工作;en为给计时器的输出信号,当en为1的时候计时器开始工作;bi为输出的钱币数目。如图4.2所示。投币模块的作用相当于一个计数

39、的寄存器,在清零的状态下可以准确的计算投币数额,记录并保存总币值。图 4.2. 投币模块投币模块主要程序如下:library ieee;use ieee.std_logic_1164.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 qia

40、n:integer range 0 to 15;beginwait until clk=1and clk event;if reset=1 then state=0;bi=0;qian:=0;enif en1=1 then if a1 =1 then state=1;bi=1;qian:=1;en=1;elsif a2=1 then state=1;bi=2; qian:=2;en=1;elsif a5=1 then state=1;qian:=5;bi=5;enif en1=1 then if a1=1 then qian:=qian+1;bi=qian;en=1;elsif a2=1 th

41、en qian:=qian+2;bi=qian;en=1;elsif a5=1 then qian:=qian+5;bi=qian;en=1;end if;end if;end case;end if;end process;end a;通过程序所得到的仿真图如下所示:1 当reset输入为0,输入5元,2元,1元时,输出结果为7。仿真结果如图4.3所示:图4.3 reset输入为0时的仿真结果2 当reset输入为1时,输入5元,2元,1元,bi输出应为0。仿真结果如图4.4所示:图 4.4 reset输入为1时的仿真结果4.2.2 商品选择模块自动售货机的商品选择模块,通过自动售货机上的四

42、个选择按键完成商品选择,在接收到对应四个商品之一的一个选择信号时进行编译,将被选择的商品进行编码,输入到主控模块中,在主控模块中与所接受的钱币进行对与计算。输入信号为a1,a2,a3,a8。而xuan_rg,xuan_hb,xuan_yl,xuan_schb为四个输出信号,与出货模块连接。reset 与en2信号来自主控模块,当reset为1时模块进入初始状态,进行选择。当en2为1时,商品可以进行选择,当en2为0时,四个商品选择键无效。商品选择模块如图4.5 所示。图 4.5 商品选择模块商选择模块主要程序如下:LIBRARY ieee;USE ieee.std_logic_1164.AL

43、L;ENTITY yima ISPORT ( a1,a3,a4,a8,en2,reset : INSTD_LOGIC;xuan_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)beginif reset=0 thenif a1=1 and en2=1 then d=1;xuan_rg=1; xuan_yl=0;xuan_hb=0;xuan_schb=0;elsif a3=1the

44、nd=3;xuan_yl=1;xuan_rg=0;xuan_hb=0;xuan_schb=0;elsif a4=1 and en2=1 then d=4; xuan_hb=1;xuan_yl=0;xuan_schb=0;elsif a8=1 and en2=1 then d=8;xuan_schb=1;xuan_yl=0;xuan_rg=0;xuan_hb=0;else d=0;xuan_schb=0;xuan_yl=0;xuan_rg=0;xuan_hb=0;end if;else d=0;xuan_schb=0;xuan_yl=0;xuan_rg=0;xuan_hb=0;end if;en

45、d process;END a;通过程序所得仿真结果如下:1 当reset输入为1,en2输入为0,a8输入为1时,d输出应当为0,仿真结果如图4.6所示: 图 4.6 reset输入为1,en2输入为0,a8输入为1时的仿真结果2 当reset输入为0,en2输入为0,a8输入为1时,d输出为0,仿真结果如图4.7所示:图4.7 reset输入为0,en2输入为0,a8输入为1时的仿真结果3 当reset输入为0,en2输入为1,a8输入为1时,d输出为8,xuan_schb输出为1,仿真结果如图4.8所示:图4.8 en2输出为2时的仿真结果4.2.3 分频模块分频模块是用来将外来的时钟信

46、号进行分频,有硬件系统已经知道,选用的时钟信号是由外部的6MHZ的晶振提供的,通过分频模块进行分频以后将得到周期为1HZ的信号。由于仿真所需时间过长,本文选择100.0ns为一周期的信号,分频后为6.0us为一周期的信号,时钟输入信号为clk,输出信号为newclk,分频模块如图4.9所示。图4.9 分频模块分频模块主要程序如下: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

47、 IS SIGNAL Q:INTEGER RANGE 0 TO 14; SIGNAL DIVCLK: STD_LOGIC; BEGIN PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1 THEN IF Q 14 THEN Q =Q+1; ELSE DIVCLK = NOT DIVCLK;Q =0; END IF; END IF; END PROCESS;NEWCLK = DIVCLK;END a;通过程序所得到的仿真结果如下:当clk第15输出为上升沿时,newclk输出为1,仿真结果如图4.10所示:图 4.10 newclk输出为1时的仿真结果4.2.4 计

48、数模块 由于课题要求自动售货机控制系统有定时系统,并限定在30s内完成投币,30s之后投币无效,因此需要设定一个计数模块对投币时间进行限制。en为接受信号,当投币开始时投币模块发出信号,计数模块开始工作,当计数到30时向控制模块发出t信号。Clr为控制器发送给计数模块的一个信号,当clr为1时,计数器归零。Clk为分频模块发送的时钟信号。计数模块如图4.11所示。图4.11 计数模块计数模块主要程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jishu isport(clk

49、,en,clr: in std_logic; t: out std_logic);end jishu; architecture a of jishu is signal bcd1n: std_logic_vector(3 downto 0); signal bcd10n: std_logic_vector(2 downto 0);begin process(clk,clr,en) begin if (clr=1) then bcd1n=0000; elsif(clkevent and clk=1) then if (en=1) then if (bcd1n=1001) then bcd1n=

50、0000; else bcd1n=bcd1n+1; end if; end if; end if; end process; process (clk,en,clr) begin if(clr=1) then bcd10n=000; elsif (clkevent and clk=1) then if (en=1 and bcd1n=1001) then if (bcd10n=011) then bcd10n=000; else bcd10n=bcd10n+1; end if; end if; end if; end process; process (en,bcd10n) begin if

51、(en=1 and bcd10n=011) then t=1; else t=0; end if; end process; end a;此段程序为十位计数的情况,当bcd为011(30)时发生进位,然后bcd10n归零。通过程序所得的仿真结果如下:1 当en为1时,clr为0时,t在clk第30个上升沿输出为1,仿真结果如图4.12所示: 图 4.12 t输出为1时的仿真结果2 当en为1时,clr为1时,t输出为0,仿真结果如图4.13所示: 图 4.13 t输出为0时的仿真结果4.2.5 出货模块出货模块是自动售货机给出相关货物的信号,本课题要求货物为四个商品,因此出货模块有5个输入信号

52、,xuan_rg,xuan_sb,xuan_yl,xuan_schb,为所购商品的输入信号,en为控制模块所给的信号当en=1时出货模块开始工作,然后对顾客所选择货物进行出货。出货模块有四个输出信号为所选择的货物的输出信号。出货模块如图4.14。图4.14 出货模块出货模块主要程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY chuhuo ISPORT(xuan_rg,xuan_hb,xuan_yl,xuan_schb,en3 : INSTD_LOGIC;chu_rg,chu_hb,chu_yl,chu_schb:OUTSTD_LOGIC

53、);END chuhuo;ARCHITECTURE a OF chuhuo ISBEGINprocessbegin if en3=0 thenchu_rg=0; chu_hb=0;chu_schb=0;chu_yl=0;else if xuan_rg=1thenchu_rg=1; chu_hb=0;chu_schb=0;chu_yl=0;elsif xuan_hb=1 thenchu_rg=0; chu_hb=1;chu_schb=0;chu_yl=0;elsif xuan_schb=1 thenchu_rg=0; chu_hb=0;chu_schb=1;chu_yl=0;elsif xuan_yl=1 thenchu_rg=0; chu_hb=0;chu_schb=0;chu_yl=1;else chu_rg=0; chu_hb=0;chu_schb=0;chu_yl outp:=1111110;WHEN 1 = outp:=0110000;WHEN 2 = outp:=1101101;WHEN 3 = outp:=1111001;WHEN 4 = outp:=0110011;WHEN 5 = outp:=1011011;WHEN 6 = outp:=1111110;WHEN 7 = outp:=1011111;WHEN 8 = outp:=1111

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!