毕业论文-自动售货机_第1页
毕业论文-自动售货机_第2页
毕业论文-自动售货机_第3页
毕业论文-自动售货机_第4页
毕业论文-自动售货机_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、共享知识分享快乐盛年不重来,一日难再晨。及时宜自勉,岁月不待人毕业设计说明书自动售货机控制系统的设计与仿真共享知识分享快乐摘要随着社会的进步,科学的发展,生活水平的提高,单一传统的生活方式已经不能满 足现代居民对高品质生活的追求,在这种现象下,许多自动化设备应时代应潮流而生。 自动售货机作为自动化设备中的最常见的设备之一,由于其众多的优点,已经在世界各 地得到了普遍的发展并且还在不断地发展。自动售货机掀起了继百货商店和超市之后的又一零售狂潮,这种智能售货系统在车站、教学楼、办公楼等公共场所有着广阔的发展 前景。本文在对自动售货机的背景历史和发展趋势进行了研究介绍之后,对课题中的自动 售货机系统

2、进行了整体的设计及规划。该自动售货机控制系统是基于EDAJ术来实现的, 同时,利用Altera公司的Quartus H 14.0作为其软件开发平台,利用 VHDL®程语言输 入的方式完成了软件设计。本设计方案对整个控制系统进行了层次化的编写。把整个系 统划分为6个子模块,分别是找零计算模块、确认取消控制模块、找零控制模块、总钱 数加和模块、显示模块、锁定模块,并且对每一个子模块进行了详细的软件设计。在顶 层文件中通过调用各个子模块来完成 vhdl程序的设计。最后在对每一个子模块完成了功能仿真测试验证,同时也对整个系统进行顶层设计 和仿真测试,测试结果表明了整个控制系统的合理性以及正确

3、性。整个控制系统设计简 单合理,操作简单,满足售货机的基本要求,具有一定的实用意义。关键词:自动售货机、VHDL EDA Quartus HAAAAAAAAAbstractAbstract: With the progress of the society, the development of the scientific, and the improvement of living standards, single traditional way of life has not meet modern residents' pursuit of high quality life

4、, under this kind of phenomenon, a number of automation equipment should come into being. Vending machine as one of the most common equipment in the automation equipment, has been develop all over the world and develop constantly because it has many advantages .Vending machines set off after departm

5、ent stores and supermarkets in another retail frenzy, this intelligent vending system has broad prospects for development in the station, school buildings, office buildings and other public places.Based on the background of the vending machine, the article designs and plans the project of vending ma

6、chine system after introducing the history and development trend.The vending machine control system is based on the EDA technology to realize, at the same time, it used Quarter H 14.0 of the Altera corporation as the software development platform, taking advantage of VHDL programming language input

7、completed the software design. The design scheme is hierarchical write for the whole hierarchical control system.The whole system is divided into six sub modules, change calculation module, confirming cancellation control module, the change control module, total amount module, display module, lockin

8、g module, and each child module software design is design in detail.On the top floor file by calling each module to complete the VHDL program design.Finally, The design scheme completed the function simulation test to verify for each child modules, and conducts Top-level design and simulation test f

9、or the whole system, the test results show the rationality and validity of the whole control system. The design of the whole control system is simple and reasonable, the operation is simple, it meets the basic requirement of the vending machine and has certain practical significance.keywords :The ve

10、nding machine 、 EDA、VHDL、 Quqrtus H1绪论1.1 课题研究背景早在20世纪30年代,出售香烟的自动售货机就在美国被研制出来了,此后,各类自 动售货机也相继被研究出来。到了 20世纪的70年代,自动售货机在欧美地区和日本的发 展已经相当的普遍。早在1998的数据统计中,日本就已经有了 550万台各式各样各种功 能的自动售货机,而美国所拥有的自动售货机的数量更是高达700万台,也就是说在上个世纪末在日本平均23个人就拥有一台自动售货机,而美国则是平均 35个人就拥有一 台。自动售货机的优点之一就是无需人工看守,这点在当今世界人工劳动力成本普遍急 剧上升的年代成为了

11、各商家最看重的一点,它可以 24小时不断的进行自动售货操作,在 为商家降低成本的同时大大的增加了收益。同时,其操作方便简单、占地面积小、全自 动化等优点使其迅速在全世界各地普及开来。日本作为使用自动售货机最普遍的国家, 其国内的罐装饮料有大约70溢通过自动售货机来出售的,销售额为世界第一;在西班 牙,全国零售业的销售额一半以上是由自动售货机来完成的,并且每年的速度都在不断 增长。从这些数据可以看出自动售货机所涉及的行业在零售行业中占据着不可替代的重 要作用。1.2 课题研究的目的与意义随着社会的不断发展与进步,城镇居民的收入日渐增多,生活条件也越来越好,城 镇居民的消费方式和消费心理也正慢慢发

12、生改变。快捷自动化的生活方式正是快节奏生 活下人们所追求的一种高品质的生活方式。 而自动售货机作为商业自动化的一种常见设 备,无论是在国内还是国外,都深受消费者的喜爱,时代的发展为自动售货机提供了良 好的发展条件。然而,我国的自动售货机行业的发展却远远及不上欧美和日本等国家, 究其原因一个方面是因为我国的自动售货机行业发展比较晚,另外一方面是因为我国要普遍发展自动售货机也有着技术的瓶颈。自动售货机是一种内部集成度高、技术复杂的 高科技设备,而现在我国多数企业都缺乏自主研发自主创新的精神,使得自动售货机的 很多关键零件都要从国外进口,因此想要在国内发展这一行业,解决相关技术问题自主 开发自动售货

13、机是最重要的。我国引进自动售货机已有差不多二十年的时间,然而至今在国内运营和自主研发制 造自动售货机的企业少之又少,国外的自动售货机还毫无疑问的占据着我国绝大部分的 的市场。这种现象严重阻碍了我国发展自动售货机行业。因此,加快脚步和加大力度去 自主研制自动售货机是很有必要的,同时,更要时时关注最先进的科学技术,尽可能的 把这些高科运用到自动售货机行业中去, 只有这样才能让该行业在我国得到更好更快的 的发展。1.3 国内外研究现状及趋势目前,自动售货机已经在发达国家得到了广泛的运用,而我国由于行业起步较晚的 原因使得各方面技术还不够成熟,还需要加大力度去积极发展这一行业。在 2012六月 份,我

14、国各式各类的自动售货机的总量只有三万台,而在2013六月份,该数量已经上升至五万台,增长幅度高达差不多 50%当然由自动售货机带来的营业额也是非常庞大 的。随着科技的不断发展,如今的自动售货机也越来越先进,其中设备的科技含量也日 渐增高。自动售货机的发展历程如 图所示:目前我国生产自动售货机主要有以下几家比较知名的厂家:上海艾丝明自动售货机 有限公司,主要生产咖啡机;天津歌德公司,主要生产咖啡机;大连富士冰山公司,主 要生产饮料机。除此之外还有青岛澳柯玛自动商用设备有限公司、天津奥莱特自动售货 机有限公司等公司生产的自动售货机也是比较常见的。自动售货机的发展趋势是由于社会的产业结构发生变化的产

15、物。由于社会的消费方 式、销售环境等的变化,自动售货机的售货方式作为一种新的流通渠道,自然而然自动 售货机也就应时代发展而生了。自动售货机从一开始的功能单一结构单一发展到现在的 功能多元化个性化,该行业也成为信息化的一种表现。而且自动售货机的发展为了适应 社会的发展也将会更加合理化人性化,它已不仅仅是一台用来销售商品的机器,随着科 技的发展,通信的发展,互联网的发展,它也必将向着相互连通的信息生态圈的方向发 展,必将发展成为一种集商品销售、信息流通等于一体的高科技的终端设备。1.4 课题研究的主要内容本文主要研究利用自动售货机来完成商品处理、货币找零、出货操作、led显示等功能。完成的工作主要

16、包括以下几个方面:1 .对自动售货机的历史及发展前景做了简单的陈述。2 .对课题中用白比较多的 EDA技术以及VHDL语言、Quarter II软件开发平台的 相关知识做了简单的介绍。3 .在对自动售货机的整个控制系统进行了一定的研究和分析之后,提出了整体设计Zu 04 .对各个子模块功能的利用vhdl语言程序的输入的方式进行了详细的分析设计, 并且对每一个子模块进行了仿真测试,对其相对应的功能进行了验证。最后对整个系统 进行顶层设计,同时也对整个系统进行了仿真,对整个自动售货机的功能进行了验证。2相关技术简介2.1 EDA技术电子设计自动化技术就是常见的 EDA技术的简称,这种技术在现代电子

17、设计中有着 非常重要的作用。ED儆术以强大的计算机为依赖,在相应的软件开发平台上,利用硬 件描述语言(HDL来完成系统的各项功能的逻辑描述。EDA技术有着丰富的内容,与电子技术很多领域有着密不可分的联系,所以其发展 同计算机辅助工程、电子设计技术以及集成电路的大规模设计技术等都是同步发展的。 就近30多年来其发展可分为以下阶段:上世纪70年代可编程逻辑器件开始问世,集成电路得到广泛应用,CADft术也开始发展,EDAft术也就是在这个时候开始出现。上世纪80年代进入商用的复杂可编程逻辑器件、FPGAS件的出现、CADK术广泛的应用、各类硬件描述语言的相继出现,这些解决EDA技术要广泛运用过程中

18、所遇到的各种问题,为其规范应用奠定了基础。上世纪90年代,CAD CAE?技术已经被广泛应用在电子领域方面。同时,通信 技术的发展、计算机技术的发展使得 EDAK术有了更大的发展空间。发展至现在的EDA技术,CPLDffi FPG*可编程逻辑器件是被应用得最多的,这些 器件是利用硬件编程语言来进行软件设计以完成功能设计,这样的设计方式简单方便, 有着非常大的灵活性。可编程逻辑器件和可编程语言的发展改变了传统的电子设计的设 计方法和设计理念,同时也让 EDAK术有了更快的发展。EDAK术在现代社会的发展及 应用范围是非常广泛的,不仅在农业、医学、军事等领域被应用,在通信、化学、交通、 航天等领域

19、更是有着不可替代的重要作用。(EDAK术与VHDL P12.2 VHDLVHDL 的全称是 Very High Speed Circuit Language,与另一种 VerilogHDL 语言是现 在电子设计自动化中用的最多的两种硬件描述语言 ,现在用的比较多的EDA工具基本都 支持这两种语言,在电子领域中已经成为了通用的硬件描述语言。VHDL是一种无关设计平台、无关具体的硬件电路的语言。跟一般的高级语言类似, 不过却有着一般高级语言没有的具有硬件特性的语句,能很好的描述数字电路的功能和 结构。VHDL的结构特点是设计一项工程或实体,一个元件、一个系统或者一个电路模 块都可以设计成为一个实体

20、,被设计好的实体可以很方便的被调用, 这是VHDL很大的 一个特点。与其他的硬件描述语言相比,VHDL有以下特点:设计好的模块可以任意无数次的被调用,很好的做到了资源共享和重复利用这 一点,大大减少了设计人员的工作量和工作时间。语言的设计描述与器件无关,设计人员在进行电路的设计的时候,可以把精力放在优化电路上而不用先去考虑器件的选择,VHD®以采用不同的器件来实现已经描述好的电路设计。语言功能强大,设计方法灵活,支持各式各样的设计方法,无论是自顶向下还 是自底向上的设计方式在 VHD叶都可以灵活的被运用。同时,模块化设计,层 次化设计等设计方法也是被支持的。具有很强的移植能力,对于同

21、一个 VHD国序,它可以在不同的工作平台、综合 器、模拟器之间相互移植。一个完整的VHD叫序代码2构包括4个模块,库和程序包的模块、实体模块、结构 体模块、配置结构模块。具结构图如 图所示:VHDL代码程序用L1HRAHY,琳E笫语句引导的库和程序过谑用声明安隹由明is ri n卜| I Nl I I >始检体描述二、 ARC HI FkCl UKb/猿戏动屈柿述】)ENDARCHTTECTTJHE :配五骷构CONFIGURATION2.3 Quartus n 软件Quartus II是由Altera 公司开发的一种 EDAX具,是经过A+plus、然后至U MAX+plus, 再到M

22、AX+plusll发展而来的。Quartus II支持多种输入方式,例如原理图输入,硬件编 程语言输入等,在使用 Quartus R软件时,它会将设计人员设计好的硬件编程语言或者 原理图等自动转换目标文件,最后将目标文件下载到器件中。通过 DSP Builder工具, Quartus II能很好的跟Matlab、Simulink等结合起来,从而能够方便快捷的实现不同的 DSP系统的设计。因为有着简单直接的入口和很强的设计能力,以及使用灵活、方便快 捷的优点,所以很受广大设计者的青睐。Quartus II软件有以下特点:支持多平台的设计输入,结合其处理和验证功能使其成为一个全集化的开发平台,让开

23、发周期变短。是一个与结构无关的开发工具,Quartus II通过把Cyclone、APEX Mercury等设计环境转化为所需要的格式,真真正正的成为唯一一个与结构无关的开发工 具。具有很具有全面的可设计开发资源,是一个集系统设计、软件开发、逻辑设计 于一体的综合性开发平台。Quartus II的编程设计流程图所示:2.4 Modelsim仿真工具Modelsim提供了可以与其他 EDAX具(如Quartus U )的接口工具。Modelsim支持 Verilog、vhdl或者二者相结合的混合。针对不同的使用环境,Modeislm分为不同的版本,常见的版本有:Modelsim AE Model

24、sim ASE Modelsim SE等。在本文的设计的版 本是Modelsim ASE10.1版本。VHDL勺仿真流程如 图所示,首先在VHDl仿真器中对已设 计好的VHDL源代码进行编译,等到代码被编译正确后就会被转换为中间格式,中间数 据的结果将会保存在仿真数据库中,一般来说,VHDL®代码在编译好的仿真库就是WORK 库。设计者通过编写TestBeach文件来干预仿真的过程,在本文的设计中,计时通过编 写不同的TestBeach文件来对不同的模块代码进行仿真测试。悭序ModfLSE蝙洋 now旧山林久3系统总体方案3.1 设计要求本文设计的售货机系统中只有一种,价格为 13元

25、;可以投入三种不同的货币来购买商品,分别是 1元、5元、10元; 每次只允许购买一个商品,若想要购买多个商品,则需要重复执行购买操作; 售货机的显示器会实时更新显示总共投入的货币的总额;当投入货币后,如果不想购买商品了则可以通过按取消键来退还投入的货币, 否则就按确定键来获取商品;设置两个指示灯,分别是购买指示灯和取消指示灯,当顾客按下确定键后购买 指示灯亮起;若顾客按下取消键,则取消指示灯亮起;3.2 总体设计通过分析系统的设计要求以及考虑到系统本身,本文对整个总动售货机系统采用自 顶向下的设计方法,自顶向下的设计方法如 图所示,采用自顶向下的设计方法的优点是 很明显的。由于系统设计从顶层开

26、始,所以在进行设计时就清楚实现整个系统的性能状 况。随着设计向下一级进行,系统的性能就能进一步得到细化和表达,并且可以根据个 人需要随时修改和调整,缩短了设计周期。用系统行为描述个包畲输入输手的顶层模块,同时完成整个系统的榄拟与性能分析将系统划分为各个功能模块,每个模城山史细化的行为描述表达由EDA综合工具完成到工艺的歌对对整个系统的顶层文件进行如下端口设计:输入端口: clk,输入时钟信号;rst ,复位信号;C1,投入一张1元货币;C5, 投入一张5元货币;C10,投入一张10元货币;ok_in,确认信号;cancel_in , 取消信号。输出端口: led_buy,确认购买指示灯;led

27、_cancel,取消购买指示灯;en_deliver, 出货信号;led1,投入货币总数的个位数(单位是元);led10,投入货币总数的 十位数(单位是元)。内部可读输出端口: RC1,1元退币控制信号;RC5,5元退币控制信号;RC10,10 元退币控制信号。端口原理图如图所示:totalEsncei m CM rs-1RC5RCWTH01%西k?d cance)X XX*X Xmst在确定了整个系统的输入输出端口后,给出自动售货机的系统内部的工作原理当系统接收到复位信号后,其他所有的控制信号和标识信号都清空为零,系统处于 等待指令的状态。当系统接收到相关信号输入时,系统开始工作。顾客确定购

28、买商品时,开始投入货 币,当投入货币为1元、5元、10元时,将分别产生一个时钟宽度的信号 C1、C5 C1Q 所投入的货币总额会实时计算并通过显示器显示出来。当顾客确定购买商品并按下确认键的时候,自动售货机会产生一个时钟信号 ok_in,而且由led_buy控制的代表确认购买的指示灯会闪烁。 如果投入货币的总额大于商品价 格时,则送出商品并计算出余额操作退出余额,此时出货指示灯闪烁。如果投入的货币 不足以支付商品价格,自动售货机会退还所有货币。当顾客投入货币又不想购买商品时,就可以通过按下取消键来取消购买,这时系统 会产生一个时钟信号cancel_in ,同时通过找零控制模块来执行相应操作退还

29、货币。如 果确认键或者取消键被按下后,自动售货机会产生一个lock_out_entry 内部信号,当发出信号后,所有的操作都是无效的。当完成所有的操作后,将产生一个 clear消除信号,此时所有的信号都会被清除, 自动售货机开始等待下一次操作。整个系统的投币购物流程如图所示:零控制模块、确认取消将整个系统划分成六个模块,模块、总额加和模块、锁定模块和显示模块。各模块的功能:余额计算模块:当顾客确认购买商品并按下了售货机的确认键后,找零模块就开始 计算出应该退还的余额。找零控制模块:在顾客确定购买商品后执行找零操作,或者是在顾客取消购买后执 行退还原款操作。确认取消模块:顾客在选择购买商品或者取

30、消购买商品后,将输入的确认信号或者 取消信号分别转换成单时钟周期的控制信号,并且控制相对应的信号灯的亮和不亮。总额加和模块:不断的更新并计算售货机收到的总货币数量。锁定模块:可以按下确认键或者取消键,当其中任意一个键被按下后,整个自动售 货机系统的按键的输入都是无效的。显示模块:通过控制两个显示器(ledl和led10)来显示所投入货币的总额。整个自动售货机的内部工作过程的总体框图如图所示:确认取消模块» 找零控制模块锁定模块余额计算模块总额加和模块 f 显示模块对每一个子模块进行 VHD段计,然后对其进行编译,再编译没有错误后,通过编写TestBeach文件来对其进行仿真测试来验证

31、每一个模块的功能是否正确。在顶层文件的 vhdl程序设计中,通过特定的例化语句将已经设计好的 6个子模块进行例化,然后直接 对各个模块进行调用,整个顶层程序的设计就是通过调用底层的 6个模块来实现的,完 成顶层设计后再对整个系统进行仿真测试。4软件设计及仿真测试4.1 确认取消模块(ok_cancel模块)4.1.1 设计思想及工作原理在确认取消模块中,顾客可以在投币之后选择继续购买商品或者取消购买商品,若 确定购买则会产生一个确认信号,而该模块可以把该信号转换成单时钟的控制信号,同 时确定购买led_buy显示灯会亮;同样,若顾客按下取消健,则该模块会将输入的取消 信号转换单时钟周期的控制信

32、号,同时确定购买cancel_buy显示灯会变亮。确认取消模块有以下输入端口 :输入端口: clk,输入时钟信号;rst ,复位信号;clear ,清除信号; lock_out_entry ,锁定信号;ok_in,确认信号;cancel_in ,取消信号。输出端口: ok,内部时钟确认控制信号;cancel,内部时钟取消控制信号;led_buy, 确认购买指示灯控制信号;led_cancel,取消购买指示灯控制信号。电路原理图如图所示:JllC elXXX . 安rsl clear forknUftrlrycancel nokrantetikftflbtfy*ed_capceiX-该模块的工作

33、过程如下:首先系统复位,等待确认购买信号或者取消购买信号的输入,当收到信号后,系统会根据接收到的信号立即生成一个相对应的内部控制信号ok信号或者cancel信号。同时,指示灯会根据接收到的控制信号led_buy或者led_cancel 来显示灯的亮和灭。此过程中,当系统第一次接收到确认购买信号或者取消信号后,将 会岸上产生一个锁定信号lock_out_entry ,当接收到此信号后,整个系统的所有操作都 会无效,直到系统执行完毕,模块接收到清零信号后,所有信号都会被清空归零。由Quqrtus II软件内部生成的RTL电路图如图所示:4.1.2 仿真测试对确认取消模块进行仿真测试后,得到如图所示

34、的仿真波形图:对所得到的仿真波形图进行分析:在 15ns前,系统复位;在30ns的时候,系统接收到一个确认购买的信号,此时会生成 ok信号,即一个时钟的内部控制信号同一时间,会发出一个控制信号led_buy,以此来控制购买指示灯亮。在时间为31ns 时,可以看到系统发出了一个锁定信号lock_out_entry,当系统接收到该信号后,其他所有的按键操作都将被视为无效,所以在40ns时输入的cancel信号不会被响应;在60ns时操作执行完毕,系统接收到一个clear的控制信号,此时锁定信号归零,同时led_buy控制信号归零4.2 找零控制模块(refund模块)4.2.1 设计思想及工作原理

35、找零控制模块有以下输入端口 :输入端口: clk,输入时钟信号;rst ,复位信号;clear ,清除信号;ok,接收到 确认信号;cancel ,接收到取消信号;suml,表示接收到的投入1元货币的信号; sum_5,接收到的投入5元货币的信号;sum10,表示接收到的投入10元货币的信 号;sum,投入货币总和信号;Rsum1退出1元货币的数量;Rsum5退出5元货 币的数量;Rsum10退出10元货币的数量;输出端口: en_deliver,给货控制信号;RC1退币1元的信号;RC5退币5元的 信号;RC10退币10元的信号。电路原理图如图所示:当系统接收到确认取消模块发来的确认购买信号

36、时,则该模块开始执行找零过程,同时发出给货控制信号en_deliver ,当找零操作完成后系统发出清零信号;当系统接收 到其他模块发出的取消购买信号后,则该模块开始执行退币操作,模块会根据投入的货 币发出不同的退币控制信号,从而完成所有货币的退还,操作完成后系统发出清零信号。由Quqrtus II软件内部生成的RTL电路图如图所示:4.2.2 仿真测试对找零控制模块的仿真有2种情况:1、确认购买操作;系统执行取消购买操作,得到如图所示的仿真波形图:分析上图中的波形图可以看出:在 5ns前,系统复位;在10ns时,系统接收到 确认购买信号ok,同时接收到信号sum,表示系统收到投入货币为15元,

37、在同一时 刻发出给货信号 en_deliver;在11ns的时候,就收到了其他模块发来的退币信号 Rsum_10,可以看出当投入货币依次是15、14、13元时,退币金额分别为2、1、0 元;当给货信号完毕后,该模块立即产生退币信号,系统开始执行找零操作,操作完成后系统清零2、取消购买操作;对系统执行取消购买操作,得到如图所示的仿真波形图:II:1eknd岫/邛离djnd_i袜 青 eKjtL.他口*机ELJ *蕾Rnd I|lurn5/ 心山丈酬迎in/. *efLnd_.而 sunl对该波形图进行分析可以看出:在 5ns前,系统处于复位状态;在10ns的时候,系 统接收到其他模块发出的投币信

38、号,分别投入了一张5元货币和一张10元货币,同时,接收到别的模块发出的信号sum;在30ns时,系统接收到确认取消模块发出的取消信号, 则该模块开始执行退币过程,退币控制信号 RC50、RC100分别发出一个高电平信号, 每个退币控制信号代表退出行对应的一种货币;在操作完成后系统发出清零信号。4.3 总额加和模块(sum_cash模块)4.3.1 设计思想及工作原理总额加和模块有以下输入端口 :输入端口: clk,输入时钟信号;rst ,复位信号;clear ,清除信号;C1,投入 一元货币信号;C5,投入五元货币信号;C1Q投入十元货币信号;RC1退币1 元的信号;RC5,退币5元的信号;R

39、C10退币10元的信号;lock_out_entry,锁 定信号。输出端口: sum_1,表示发出1元货币的信号;sum_5发出5元货币的信号;sum_10, 发出10元货币的信号;sum,投入货币总和信号; 电路原理图如图所示:当系统输入不同的投币信号时,则sum1,sum5,sum1Cgft会记录相对应的货币的数量, 而sum则记录了投入货币的总额。当货币投入完毕后,顾客会选择确认购买商品或者取 消购买,系统会根据接收到的不同的信号来执行相应的操作,当找零模块执行完找零操 作或者退币操作后总数加和模块就会收到系统的清零信号,所有的内部信号和表示都会被消除。由Quqrtus II软件内部生成

40、的RTL电路图如图所示:4.3.2 仿真测试对总额加和模块进行仿真测试得到如图所示的波形图:rtMII, 料一对图中波形进行分析可以发现, 在5ns之前,系统在复位状态;在时间为20ns的时 候,系统接收到C1、CS C10发出的3个投币信号,30ns时又收到1个1元投币信号, 对应的suml、sum5 sum10记录了相对应不货币的数量,sum则记录了投入货币的总额; 在时间为40ns时,lock_out_entry 信号变为高电平,此时其他按键都会无效;当系统 开始接收到退币信号后,相应的sum1 sum5 sum1她会发生变化,找零结束后系统发 出清零信号,系统内的表示和内部信号都被消除

41、。4.4 余额计算模块(calculator 模块)4.4.1 设计思想及工作原理余额计算模块有以下输入端口 :输入端口: rst ,复位信号;clear ,清除信号;ok,确认购买信号;输出端口: sum1,投入1元货币的信号;sum5,投入5元货币的信号;sum10,投入10元货币 的信号;sum,投入货币总和信号。双向端口 R: sum1,退还1元货币的信号;Rsum5退还5元货币的信号;Rsum10, 退还10元货币的信号。电路原理图如图所示:rstdwrum4 研htSUmlRsum53. Q Ysuml 4.0 aum5+.O tmtil 0(4 fl余额计算模块在收到其他模块发出

42、的确认购买信号后,就会开始执行操作。根 据所投入的货币总额,可以分为 3种情况:投入货币小于商品价格,该情况下售货 机会退还所有货币;投入货币刚好等于商品价格,该情况下退还余额为零;投入货 币大于商品价格,该情况则根据商品的价格和顾客投入总额的差额来计算应找余额。 由Quqrtus II软件内部生成的RTL电路图如图所示:;E=ftL;二"-4T 4. jqp口fiTfrX>C'rH-S=-O-ZP4.4.2 仿真测试对余额计算模块的仿真有3种情况:1、投入货币小于商品价格;2、投入货币等于商品价格;3、投入货币大于商品价格;对于第1种情况,得到如图所示的仿真波形:对于

43、上面的波形图,可以看出在时间为 5ns前,系统复位;在10ns的时候,系统接 收到投入一张10元货币的信号和一张1元货币,接着在20ns的时候,系统接收到控制 确认购买的信号ok,经过计算最后得到投入的货币总额11元小于商品的设定价格13元, 所以系统将发出退款信号,Rsum10ffi Rsum他被赋值为1,表示要退还10元货币和一 元货币,当系统的找零控制模块接收到此信号后会执行相应操作;在时间 40ns时,发 出清零信号。对于第2种情况,得到如图所示的仿真波形:对于上面的波形图,可以看出在时间为 5ns前,系统复位;在10ns的时候,系统接 收到投入一张10元货币和3张一元货币的信号,接着

44、在20ns的时候,系统接收到控制 确认购买的信号ok,经过计算最后得到投入的货币总额 13元刚好等于商品的设定价格 13元,所以系统将发出退款信号,Rsum10 Rsum5 Rsum1 匀被赋值为0,表示要退还货 币均为0,当系统的找零控制模块接收到此信号后会执行相应操作;在时间40ns时,发出清零信号,清除系统内部信号。对于第3种情况,得到如图所示的仿真波形:对于上面的波形图,可以看出在时间为 5ns前,系统复位;在10ns的时候,系统接 收到投入2张货币的信号,接着在20ns的时候,系统接收到控制确认购买的信号 ok, 经过计算最后得到投入的货币总额 20元大于价格13元,所以系统将发出退

45、款信号, Rsum10 Rsum5 Rsum份别被贝8值为2、1、0,表示要退还货币均为2张1元,1张5 元,当系统的找零控制模块接收到此信号后会执行相应操作;在时间 40ns时,发出清 零信号,消除系统内部信号。4.5 锁定模块(lock模块)4.5.1 设计思想及工作原理锁定模块有以下输入输出端口 :输入端口: rst ,复位信号;clear ,清除信号;ok,确认购买信号;cancel , 取消购买信号。输出端口: lock_out_entry, 锁定信号。端口原理图如图所示:;lockrstclearDKcancelnst当该模块接收到确认取消模块发出的无论是确认信号还是取消信号,都会

46、发出 一个锁定信号,从而锁定整个系统的其他任何操作。由Quqrtus II软件内部生成的RTL电路图如图所示:LATCHliO-I110> bclMjrtry4.5.2 仿真测试对锁定模块进行仿真测试,得到如图所示波形:对该波形图进行分析:在5ns前,系统复位;在20ns时,系统接收到确认取消 模块发出的cancel控制信号,此时该模块会立即产生lock_out_entry 信号,即按 键锁定信号;在40ns时,系统操作结束,发出清零信号。4.6 显示模块4.6.1 设计思想及工作原理输入端口: din,表示收到货币总额信号。输出端口 : ledl,显示货币的个位数;led10 ,显示货

47、币的十位数。显示模块会实时显示售货机收到的货币总额,并且通过ledl来显示投入货币的个位数,led2来显示投入货币的十位数。在该模块中,调用了一个数码管显示的元件 disp7Lock模块的端口原理图如图所示:由部din4.Oled16.O ted26. .0 Kinst由Quqrtus II软件内部生成的TRL电路图如图所示:4.6.2 七段数码管显示器设计在元件disp7程序设计中,有一个输入端口din, 一个输出端口 leddisp7程序的端口原理图如图所示:disp7;X- din3 .0|led6 .0 一义inst该元件设计的主要目的是具体定义了从 09中每一个数值所对应的字符串赋值

48、。由Quqrtus II软件内部生成的RTL电路图如图所示:M卜g二 J-16 hft&Q二小5三4.6.3仿真测试显示模块仿真波形图如图所示:对该波形图进行分析:当显示模块接收到用来控制货币总额的信号 din时,两个led 显示器会马上将货币总额显示出来。图中可以看出,投入货币总额为15元,则ledl应显示为5, led2应显示为1,根据vhdl程序的设计,led信号用字符串" "1111001”来 显示1,用字符串“0010010”来显示数字5,图中的波形图说明了显示器显示是正确的。4.7顶层设计与分析顶层的设计就是对整个自动售货机系统进行设计,为了在整个系统中

49、达到连接底层元件从而形成更高层次的电路设计,在顶层文件的vhdl程序设计中使用了例化语句。在程序中利用component语句对准备调用的元件做了声明,并利用 net1net11 H一个 信号作为系统的内部连线。显然,元件例化的实质就是引用一种连接关系,将之前已经设计好的设计实体定义 为一个元件,然后把元件与当前的设计实体的端口通过特定的语句连接起来,从而为当 前的设计实体引进新的低一级的设计层次。元件例化是vhdl设计实体完成自上而下层次化设计的一种途径。4.7.1 设计思想及工作原理由Quqrtus II软件内部生成的RTL电路图如图所示:4.7.2仿真测试对整个系统进行功能仿真测试,对仿真的结果的其中一部分进行分析,对以下 两种仿真情况进行分析:1、确认购买但余额不足2、确认购买且需要找零对第1种情况进行仿真得到如图的仿真图:,一1jXtai主 力n,云北3_到3qMfl1pn 叫juulWUUlyrm.iwdi.minrnKmr.nrLnri.w口m-LjM&Jh莅弓Q_ru/W 一曲七加1Q1j'sid JitiQkjnaZnJ1r5加_巾 七口a。f ad 甫1。10

温馨提示

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

评论

0/150

提交评论