基于VHDL的自动售货机设计_毕业设计论文
基于VHDL语言自动售货机设计实验报告-绝对原创

自动售货机设计实验报告一设计题目:g) 自动售货机设计FPGA模块模拟自动售货机的工作过程,要求如下(1)售货机有两个进币孔,可以输入硬币和纸币,售货机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是5角和1 元的硬币,纸币的识别范围是1 元、5 元,10 元,20元,50元,100元。
乘客可以连续多次投入钱币。
(2)顾客可以选择的商品种类有16种,价格分别为1-16元,顾客可以通过输入商品的编号来实现商品的选择。
即有一个小键盘(0-9按键)来完成,比如输入15时要先输入1,再输入5。
(3)顾客选择完商品后,可以选择需要的数量。
然后可以继续选择商品及其数量,每次可以选择最多三个商品。
然后显示出所需金额。
顾客此时可以投币,并且显示已经投币的总币值。
当投币值达到或超过所需币值后,售货机出货,并扣除所需金额,并找出多余金额。
在投币期间,顾客可以按取消键取消本次操作,钱币自动退出。
二程序代码:三程序实现功能:FPGA模块模拟自动售货机:(1)售货机有两个进币孔,分别输入硬币和纸币,硬币的识别范围是5角和1 元的硬币,纸币的识别范围是1 元、5 元,10 元,20元,50元,100元。
乘客可以连续多次投入钱币。
(2)顾客可以选择的商品种类有16种,价格分别为1-16元,顾客可以通过输入商品的编号来实现商品的选择。
(3)顾客选择完商品后,可以选择需要的数量。
然后可以继续选择商品及其数量,每次最多选择最种商品,每种商品最多购买三个。
然后显示出所需金额。
顾客此时可以投币,并且显示已经投币的总币值。
当投币值达到或超过所需币值后,售货机出货,并扣除所需金额,并找出多余金额。
在投币期间,顾客可以按取消键取消本次操作,钱币自动退出。
四程序功能模块分析:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;实体说明:entity sellor isport ( clk:in std_logic; --系统时钟sel,cancel,reset: in std_logic; --选择、取消、开始(用于进入初始状态)变量定义:coin: in std_logic_vector(1 downto 0); --5角硬币、1元硬币crash:in std_logic_vector(5 downto 0); --100元、50元、20元、10元、5元、一元纸币item: in std_logic_vector(3 downto 0); --16种商品quantity:in std_logic_vector(1 downto 0); --商品数量(一次最多购买3件)change_out :out std_logic_vector(10 downto 0); --找零item_out :out std_logic_vector(3 downto 0); --是否购买了商品(1表示有商品出来、0表示没有商品出来)change :out std_logic ); --是否有找零end sellor;结构体说明:architecture behave of sellor issignal price:std_logic_vector(7 downto 0);signal counter: std_logic_vector(10 downto 0); --币数计数器signal total_price:std_logic_vector(10 downto 0); --控制系统的时钟信号type state_type is (initial_state,item1_state,quantity_state,money_state,sell_state,change_state);signal state:state_type;signal temp:std_logic_vector(1 downto 0);signal quan:std_logic_vector(3 downto 0);begincom:process(reset,sel,clk)beginif (clk'event and clk='1')thenif reset='1' then state<=initial_state;temp<="00";quan<="0000";end if;case state iswhen initial_state=>item_out<="0000"; --出票口关闭change_out<="00000000000"; --找零口关闭total_price<="00000000000"; --票价总额记录清零counter<="00000000000";--投入钱币总额记录清零change<='0';state<=item1_state; 设定initial_state选择物品程序:when item1_state=>if temp<"11" thenelse state<=money_state;end if;when quantity_state=>if(cancel='1')then --按下“取消”按钮state<=initial_state;else 取消操作程序if quantity="00" thenitem_out<="0000";change<='0';change_out<="00000000000";state<=initial_state;else 当选择0个商品total_price<=total_price+price*quantity;temp<=temp+1;quan<=quan+quantity;if (sel='1') then state<=item1_state;elsestate<=money_state;end if;end if;end if;货币识别:when money_state=>if(cancel='1')then --按下“取消”按钮state<=initial_state;end if;case crash is --纸币识别end case;case coin is --硬币识别end case;if counter>=total_price thenstate<=sell_state;--系统进入出票状态end if;购物操作程序:when sell_state =>if(cancel='1')thenitem_out<="0000";change<='1';change_out<=counter; --按下“取消”按钮state<=initial_state;elseif counter>=total_price thenitem_out<=quan; --判断是否还有找零state<=change_state; --系统进入找零状态elseitem_out<="0000";state<=initial_state;end if;end if;when change_state=>if(cancel='1')thenitem_out<="0000";change<='1';change_out<=counter; --按下“取消”按钮state<=initial_state;elseif counter>total_price thenchange<='1';change_out<=counter-total_price;item_out<=quan;elsechange<='0';change_out<="00000000000";state<=initial_state;end if;end if;end case;end if;end process;end behave;五、仿真波形六、个人总结与感想:良好的沟通与分工是十分重要的,这对程序的实现和质量具有至关重要的作用。
基于VHDL的自动售货机的设计和实现论文

《计算机组成原理》课程设计报告基于VHDL的自动售货机设计与实现课程设计任务书计算机与通信工程学院网络工程专业指导教师对学生在课程设计中的评价指导教师对课程设计的评定意见基于VHDL的自动售货机设计与实现摘要:本设计运用VHDL语言编写一个自动售货机的控制系统,该系统具有货物信息存储,进程控制,硬币处理,余额计算,显示等功能。
商品的种类、单价和数量在初始化时输入,然后存储。
可以识别的币种为硬币,五毛和一元的面额。
用户投入硬币,系统累计数量,然后对比物品的单价和数量,扣除价格,最后计算余额,可以找零。
设计没有考虑硬件的实现,只进行功能的相应仿真,性质为实验性质的课程设计。
关键词:VHDL、自动售货机、课程设计、MXAPLUSⅡ、系统仿真Abstract: This design use of VHDL language design a vending machine control system, the system have the functions to storagethe goods information, process control, coin handling, balance calculation, display and other functions. The type of goods, unit price and quantity in the initialization to be input, and then stored. Currency for the coins can be identified, fifty cents and one dollar denomination. User input coins, the system account sum, and then comparing the unit price and quantity of goods, net price, the final calculation of the balance, you can give change.Design did not consider the hardware implementation, only the corresponding functional simulation, experimental nature of the curriculum design.Keywords: VHDL, vending machines, curriculum design, MXAPLUS Ⅱ, system simulation目录1.引言 (7)1.1自动售货机系统概述 (7)1.2设计任务和主要容 (8)2.系统设计过程 (9)2.1自动售货机系统总体框图 (9)2.2系统功能模块 (9)2.3程序源代码 (11)3.系统仿真 (15)3.1系统仿真全图 (15)3.2系统分步仿真图 (16)4.总结 (20)参考文献 (21)1 引言随着现在生活节奏越来越快,自动售货机的出现大大方便了人们的日常生活。
自动售货机电路设计VHDL

郑州轻工业学院课程设计任务书题目自动售货机电路设计专业、班级电信2班学号 541101030217 姓名李磊主要内容、基本要求、主要参考资料等:查阅资料完成自动售货机的设计思路,利用硬件编程语言VHDL 或者Verilog-HDL来实现,要求能够识别100元、50元、10元、5元及其钢崩1元五种面值的设计,能够找零,设计中假设找零货贝充裕,货物的价格不允许出现0.5元的情况。
给出完成控制电路所需要的设计模块;给出硬件编程语言的实现,并进行仿真;给出下载电路的设计,设计为2种下载方法,其中一种必须为JTAG;同时设计者报告不允许雷同。
参考资料:1、潘松、黄继业《EDA技术及其应用》(第四版)科学出版社 20092、数字信号处理的教材完成期限:指导教师签名:课程负责人签名:摘要随着电子技术的发展,当今数字系统的设计正朝着速度快,容量大,体积小,重量轻的方向发展,推动该潮流迅猛发展的引擎就是日趋进步和完善的ASIC设计技术,AISC芯片具有价格低,体积小,可靠性高等优点,目前在电子产品中已有广泛的应用,VHDL是一种用来描述数字逻辑系统的“编程语言”,它通过对硬件行为的直接描述来实现对硬件的物理实现,代表了当今硬件设计的发展方向。
本文是在VHDL的基础上对自动售货机进行设计来实现其基本功能的,采用了Altera的开发软件Quarts II。
通过在该软件平台上进行数字电路设计和仿真的方法,阐述了VHDL(Very High Speed Integrated Circuit Hardware Description Language)超高速集成电路硬件描述语言的一些特点及语法结构,介绍了自动售货机的基本原理、系统组成和主要功能,并分析讨论了用VHDL语言开发自动售货机系统的设计流程。
本设计采用VHDL硬件描述语言编程的设计方法设计系统核心电路的硬件程序,在Quartus II软件平台上进行编译和仿真。
文章首先简述了自动售货机系统的意义和发展现状以及VHDL语言的特点,然后介绍了自动售货机的设计要求、设计思路,并给出了总体设计框图,通过分析设计写出VHDL程序源代码,将代码在Quartus II软件平台上进行编译仿真,波形基本符合设计要求。
毕业论文自动售货机控制系统的设计与仿真

毕业设计说明书自动售货机控制系统的设计与仿真摘要随着社会的进步,科学的发展,生活水平的提高,单一传统的生活方式已经不能满足现代居民对高品质生活的追求,在这种现象下,许多自动化设备应时代应潮流而生。
自动售货机作为自动化设备中的最常见的设备之一,由于其众多的优点,已经在世界各地得到了普遍的发展并且还在不断地发展。
自动售货机掀起了继百货商店和超市之后的又一零售狂潮,这种智能售货系统在车站、教学楼、办公楼等公共场所有着广阔的发展前景。
本文在对自动售货机的背景历史和发展趋势进行了研究介绍之后,对课题中的自动售货机系统进行了整体的设计及规划。
该自动售货机控制系统是基于EDA技术来实现的,同时,利用Altera公司的QuartusⅡ14.0作为其软件开发平台,利用VHDL编程语言输入的方式完成了软件设计。
本设计方案对整个控制系统进行了层次化的编写。
把整个系统划分为6个子模块,分别是找零计算模块、确认取消控制模块、找零控制模块、总钱数加和模块、显示模块、锁定模块,并且对每一个子模块进行了详细的软件设计。
在顶层文件中通过调用各个子模块来完成vhdl程序的设计。
最后在对每一个子模块完成了功能仿真测试验证,同时也对整个系统进行顶层设计和仿真测试,测试结果表明了整个控制系统的合理性以及正确性。
整个控制系统设计简单合理,操作简单,满足售货机的基本要求,具有一定的实用意义。
关键词:自动售货机、VHDL、EDA、QuartusⅡAbstractAbstract: 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, 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 department 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 machine 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 Ⅱ 14.0 of the Altera corporation as the software development platform, taking advantage of VHDL programming language input 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, locking 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 for 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 vending machine、EDA、VHDL、QuqrtusⅡ1 绪论1.1课题研究背景早在20世纪30年代,出售香烟的自动售货机就在美国被研制出来了,此后,各类自动售货机也相继被研究出来。
电气工程自动化专业毕业论文自动售货机的论文设计

本科毕业论文(设计)(20XX届)自动售货机的设计院系电子信息工程学院专业电气工程及其自动化姓名 XX 指导教师 XX 助教 XX 副教授20XX年1月I摘要概括介绍了自动售货机的现状,针对电子创新实验室电子元件管理难题提出了一种能够自动管理与售卖电子元件的自动售货机的设计思路!给出了电子元件自动售货机设计方案。
首先研究了电子元件自动售货机的总体设计方案,分析了设计要求,接着设计了售货机的功能模块,最后给出了控制程序的设计方法。
经过测试,该程序运行稳定符合设计要求。
本文介绍了以AT89C51单片机为核心的自动售货机的设备控制系统的设计。
详细介绍了自动售货机系统的方案设计,硬件选型,软件的工作原理,并着重介绍了原理和技巧,自动售货机的系统设计,软件编程。
该系统以AT89C51单片机为核心,采用集中控制方式实现自动售货机的全过程自动控制。
使用汇编语言编写系统程序和C语言软件编程和编译,该软件具有编程简单的特点,方便检查错误,易于阅读,所以。
汇编语言是一种基本的语言程序,简单易懂,便于记忆和使用等。
关键词:自动售货机;单片机;控制器;显示屏;AT89C51AbstractSummarizes the status of vending machine, for the electronic element management problem of the electronic innovation lab! Presents a vending machine capable of automatic management and sale of electronic components design idea! Give electronic components vending machine design scheme. Firstly studies the general design scheme of the electronic components of the vending machine, analyses the design requirements, and then design the function module of vending machines, finally the design method ofthe control program are given. After the test, the program runs stably meet the design requirements. This paper introduces the design of vending machine control system using AT89C51 microcontroller as the core of the equipment. This paper explains in detail the design, automatic vending machine scheme of system hardware selection, software works, and emphatically introduces the principles and techniques of automatic vending machine, system design, software programming. The system uses the AT89C51 microcontroller as the core, adopts the centralized control method to realize the whole process of automatic vending machine automatic control. System program is written in assembly language and C language software programming and debugging, the software has the characteristics of simple programming, convenient to check for errors, easy to read, so. Assembly language is a basic language program, easy to understand, easy to remember and use etc.Keywords: Vending machine Single chip microcomputer Display scree Controller;目录摘要................................. 错误!未定义书签。
自动售货机的VHDL实现

自动售货机的V H D L实现(共14页) --本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2011-9-6目录1.封面 (1)2.目录 (2)3.导言 (3)4.正文 (3)(1)总体方案设计 (3)(2)单元模块设计 (4)①系统变量及参数说明 (4)②各状态功能介绍及设计 (5)③各单元模块的联接 (7)(3)系统功能调试 (7)(4)设计总结 (9)①设计的小结 (9)②设计收获体会 (9)③对设计的进一步完善提出意见 (9)5.结论 (10)6.感谢 (10)7.附录 (10)8.参考文献 (14)3、导言该系统用于模仿自动售货机,完成自动售货机的核心控制功能。
设计 FPGA模块模拟自动售货机的工作过程,要求如下:(1)售货机有两个进币孔,可以输入硬币和纸币,售货机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是1 元的硬币,纸币的识别范围是 5 元,10 元,20,50 元,100元。
乘客可以连续多次投入钱币。
(2)顾客可以选择的商品种类有 16 种,价格分别为 1-16 元,顾客可以通过输入商品的编号来实现商品的选择。
即有一个小键盘(0-9 按键)来完成,比如输入 15 时要先输入 1,再输入 5。
(3)顾客选择完商品后,可以选择需要的数量。
然后可以继续选择商品及其数量,每次可以选择最多三个商品。
然后显示出所需金额。
顾客此时可以投币,并且显示已经投币的总币值。
当投币值达到或超过所需币值后,售货机出货,并扣除所需金额,并找出多余金额。
在投币期间,顾客可以按取消键取消本次操作,钱币自动退出。
4、正文(1)总体方案设计本系统采用状态机的架构,将系统分为6个状态:开始、选种类、选数量、付款、退款/找零准备、结束。
各状态的转换关系如图:(2)单元模块设计①系统变量及参数说明②各状态功能介绍及设计i.初始状态开启系统后,当时钟信号进入上升沿,系统进入初始设置,用于存储商品种类和数量的高低位寄存器统一清零备用,系统转入下一个状态。
基于Verilog HDL的自动售货机设计与仿真
电子技术Electronic Technology电子技术与软件工程Electronic Technology & Software Engineering 基于Verilog H D L的自动售货机设计与仿真李红科王庆春贾晓菲(安康学院电子与信息工程学院陕西省安康市725000 )摘要:本文应用Verilog H D L语言采用自顶而下的方法设计自动售货机,整个系统包括商品选择、确认、投币、找零和出货等模块。
在Modelsim平台进行功能仿真验证,经过仿真验证设计正确,符合设计要求。
关键词:Verilog H D L;自动售货机;模块设计1引言随着集成电路产业快速发展,电路集成度越来越高,以计算机辅助为基础的电子设计自动化(EDA Electronics Design Automation)技术成为集成电路设计重要工具m,Verilog HDL硬件描述语言是以文字形式描述数字系统硬件电路结构和行为的语言,只需描述电路的功能和电路模块之间的相互关系,设计者更加专注电路设计整体性能,使电路更加优化,提高设计效率|21。
自动售货机是一种常见的智能自动化设备,由于不受人直接参与,所以广泛应用在办公楼、操场、高速服务K等场所,大大降低时间、地点的限制,在节省人力资源方面有着明显优势。
2自动售货机设计思路有限状态机(FSM Finite-state Machine)是•种用来进行对象行为建模的工具,其作用是表示有限个状态以及这些状态之间相互转移和动作等行为的数学模型。
有限状态机广泛应用于建模行为、硬件电路设计、软件工程和网络协议等的设计。
在数字系统设计中,当某一事物发生连续变化时,可以采用有限状态机设计思路提高设计效率,增加程序可读性,降低错误概率,有限状态机设计思路是数字系统中最常用的设计方法之一 [3]。
2.1自动售货机系统总体设计该售货机电路设计要求:(1)每次只能出售一种商品。
(2)所售商品种类:售货机只售4种商品,所售商品编号分 别用四位二进制数从右向左表示为0001、0010、0100、1000,对应价格分别为2元、3元、4元、5元。
基于VHDL的自动售货机系统设计
基于VHDL的自动售货机系统设计赵杰【摘要】采用自顶向下的设计原则和模块化的设计思想,将自动售货机系统划分为分频、主控、译码和显示等模块.各模块均采用硬件描述语言VHDL(超高速集成电路硬件描述语言)设计,用电路原理图实现各模块之间的连接关系,完成顶层设计实体.主控模块使用有限状态机完成,将基本功能的实现转换为状态的转移.最终完成的模拟自动售货机系统具有商品选择、投币处理、出货找零、异常退币等主要功能.在Quartus Ⅱ软件平台上完成工程设计,对各模块分别进行仿真,最后对顶层设计实体进行仿真验证.【期刊名称】《系统仿真技术》【年(卷),期】2015(011)002【总页数】5页(P167-171)【关键词】自动售货机;硬件描述语言;模块化【作者】赵杰【作者单位】商洛学院电子信息与电气工程学院,陕西商洛726000【正文语种】中文【中图分类】TP3911 引言自动售货机是能按照投入的货币自动售货的机器,它是贸易自动化的常用设备,受时间、地点的限制少,能节约人力、便利交易,是一种全新的贸易零售方式,又被称为24小时业务的小型超市[1]。
在自动售货机的控制方面,常采用单片机或PLC(可编程逻辑控制器)作为控制核心,完成整个系统的基本功能[2-5]。
然而,实际中主控芯片需和众多外围芯片或接口相连,或者需要进行功能扩展[6]。
用传统方式来应对日益复杂的要求显得力不从心。
而使用硬件描述语言在FPGA(现场可编程门阵列)上实现电路系统的现代EDA(电子设计自动化)技术,具有明显的优势[7-8]。
本文主要利用VHDL硬件描述语言编写程序代码,用状态机实现功能转换,以Quartus II软件作为运行平台,实现一个能够实现货物选择、投币、找零、多次购买等功能的自动售货机。
自动售货机采用模块化设计,可以对各模块实行独自设计、修订和调试,最终通过模拟仿真进行验证。
2 自动售货机设计为方便起见,设定自动售货机可以出售两种商品,标价分别为2元和3元。
自动售货机控制系统的VHDL实现(1)
目录一、概述 (1)二、自动售货机控制系统的实现............. 错误!未定义书签。
1、自动售货机功能描述及控制系统组成... 错误!未定义书签。
2、自动售货机控制功能的状态描述....... 错误!未定义书签。
3、自动售货机功能控制模块的VHDL实现 (3)4、投币输入信号电路的设计与实现 (4)5、自动售货机控制系统功能仿真 (5)三、结束语 (6)四、参考文献 (7)自动售货机控制系统的VHDL实现一、概述有限状态机FSM(Finite State Machine)及其设计技术是实用数字系统设计中实现高效率、高可靠逻辑控制的重要途径。
传统的状态机设计方法需进行繁琐的状态分配、绘制状态表、化简次态方程等,而利用VHDL可以避免这些繁琐的过程,直接利用状态转换图进行状态机的描述,所有的状态均可表达为CASE_WHEN结构中的一条CASE语句,而状态的转移则通过IF_THEN_ELsE语句实现。
此外,与VHDL的其它描述方式相比,状态机的VHDL表述丰富多样,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的特点。
二、自动售货机控制系统的实现1、自动售货机功能描述及控制系统组成设计一个自动售货机的逻辑控制电路。
它有两个投币口分别为一元投币口和五角投币口,假设每次只能投入一枚一元或五角硬币,投入一元五角硬币后机器自动给出一瓶饮料,投入两元硬币后,在给出一瓶饮料的同时找回一枚五角的硬币。
图1为自动售货机控制系统方框图,由投币信号处理模块和功能控制模块组成。
投币找钱信号出货图1 自动售货机控制系统2、自动售货机控制功能的状态描述取投币信号为输入逻辑变量,投入一枚一元硬币时用A=1表示,未投入时A=0。
投入一枚五角硬币用B=1表示,未投入时B=0。
给出饮料和找钱为两个输出变量,分别用Z和Y 表示,给出饮料时Z=1,不给时Z=0,找回一枚五角硬币时Y=1,不找时Y=0。
根据上面的功能描述,可用三个状态S0,S1,S2表示,未投币前的初始状态为S0,投入五角硬币以后为S1,投入一元硬币后(包括投入一枚一元硬币和投入两枚五角硬币的情况)为S2,再投入一枚五角硬币后电路返回S0,同时输出为Z=1,Y=0;如果投入的是一枚一元硬币,则电路也应能返回S0,同时输出为Z=1,Y=1。
自动售货机界面操作及显示 VHDL语言
自动售货机界面操作及显示VHDL语言目录1摘要...1 2.正文...1 2.1系统设计...1 2.2单元电路设计...1 2.3软件设计...1 2.4系统测试...2 3.结论...4 4.经验体会 (4)参考文献 (4)附录A:系统电路原理图及引脚锁定图 (5)附录B:程序设计的源代码 (6)摘要自动售货机是根据投入的钱币自动付货的机器,是一种全新的商业零售形式。
本论文主要介绍了VHDL的特点和应用;以自动售货机的设计为例,详细说明了其实现过程,并给出了实现代码和时序仿真波形。
主要创新点是可以实现多种商品的选择(这里是四种),而且价格和数量都是可调的;并可显示机器内商品剩余数量。
关键词:电子设计自动化;超高速集成电路硬件描述语言;自动售货机正文2.1.系统设计设计一台自动售货机,要求具备货物信息存储、进程控制、硬币处理、余额计算、自动找零、状态显示等功能。
预先设定该自动售货机可自动出售4种不同的商品,基本货币单位为1元。
2.2.单元电路设计分析系统设计要求,不然得知自动售货机系统可以通过多进程设计的方法实现。
其中,最主要也是最核心的进程控制自动售货机的货物信息储备、购买、价格计算、找币等功能,其他进程则负责选择商品种类、消费品种单价和剩余数量、消费余额的显示译码等。
自动售货机的系统框图如下图所示:其中,clk为输入时钟脉冲信号,set为货物信息存储信号,get为购买信号,sel为货物品种选择信号,finish为购买完成信号,coin为1元的投币,price[3.0]和quantity[3.0]分别为商品的价格和剩余数量。
输出信号中,item[3.0]为商品种类并译码输出,act[3.0]为提示是否可购买的译码输出,y0[3.0]、y1[3.0]、y3[3.0]分别为商品的单价译码输出、剩余商品的数量显示、投币的硬币数量。
2.3.软件设计(如果用到软件要写)设计平台:QuartusII 7.2自动售货机的工作流程如下:当置数信号set为高电平时,对商品的单价、数量进行相应的设置;在每一次购买前,先对投入的硬币数量进行清零;购买时,首先以1元为基本单位对投入的硬币数量进行计数并在数码管上进行显示;当选择信号sel高电平有效时,选择所要购买的商品种类;当get信号高电平有效时,购买所选择的商品;当finish信号高电平有效时,结束交易并完成找币操作;当get信号为低电平是,则显示商品的单价及其剩余数量和剩余的钱数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科生毕业论文(设计)基于VHDL的自动售货机设计目录中文摘要 (2)英文摘要 (3)引言……………………………………………………………………………………41.介绍及设计任务 (5)1.1EDA技术 (5)1.1.1EDA的介绍与发展 (5)1.1.2EDA的设计流程 (5)1.1.3VHDL介绍 (5)1.2自动售货机的应用与设计背景 (6)1.2.1自动售货机的应用介绍 (6)1.2.2自动售货机的设计要求 (6)2.系统分析与设计方案 (7)2.1系统分析 (7)2.2系统设计方案 (7)3.Max+PlusⅡ设计过程 (9)3.1Max+PlusⅡ的介绍 (9)3.2各模块的VHDL设计 (11)3.2.1货物信息的存储模块的设计 (12)3.2.2进程控制模块的设计 (12)3.2.3硬币处理模块的设计 (13)3.2.4余额计算模块的设计 (14)3.2.5显示功能模块的设计 (15)3.3顶层电路的设计流程 (16)3.4仿真功能与测试 (17)3.4.1 编译及仿真 (17)结束语 (21)参考文献 (22)致谢 (23)基于VHDL的自动售货机设计*****指导老师:****(****信息工程学院,*******)摘要:在当今社会随着电子技术获得了飞速发展的情况下,现在电子产品几乎渗透了社会的各个领域,有力的推动了社会生产里的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
首先EDA技术在进入21世纪后,得到了很大的发展,其基本特征是采用高级语言描述,具有系统级仿真和综合能力。
VHDL 硬件描述语言是涉及源文件可以采用类似与C语言的书写形式,并采用结构设计方法。
通过VHDL为基础设计了一种自动售货机的设计。
整个设计以两个计数器为核心,30秒计数器通过与按键联合控制整个购买过程;8秒计数控制饮料出口开关的自动开关,从而达到控制输出流量。
全文提供了投币信号处理,购买过程处理,开关流量控制几个主要控制模块的设计思路及方案。
并给出了各模块和总体系统设计的仿真。
关键词:VHDL;投币;计数器;控制The design of vending machine based onVHDL****Director:****(Information Engineering College, ****)Abstract:Electronic technology has experienced rapid growth, now in its electronic product almost permeated every area of society has vigorously promoted the development of social production and the improvement of social information level, also make modern electronic product performance to further improve the rhythm of becoming obsolete also more and more quick first EDA technology in the 21st century, got great development, its basic characteristics are described by a high-level language, with system-level simulation and comprehensive ability VHDL hardware description language is design source files can use similar and C language writing form, and USES the structure design method. A new design of coin drinking seller based on VHDL is introduced. The most important part in this design are two counters,the 30 seconds counter combined with keys control the process of selection by cosumers.;the 8 seconds counter works as a controller to control the rate of output flow. This article provided the thoughts and schemes for these key parts such as:coin signal process,selection process and rate flow control.At last the paper present the emulation result for whole design.Key Words:VHDL; coin; counter; control引言目前,随着移动商务的发展,自动售货机作为一种方便、直观的移动商务工具,开始在全球各地迅速普及和发展。
在中国,自动售货机将成为一个潜在的巨大产业,继百货商店、超市之后掀起第三次零售业革命,前景非常广阔。
售卖的商品可根据摆放场所的需要量身定制,包括冷热饮料、零食、电话卡及国外进口的特色商品等。
并且,透过这种智能售货系统,存货、销售、物流信息可以准确、及时地反馈给客户和管理人员。
此外,还支持多种交易支付模式,同时方便实现较大金额的支付和交易结算。
在2004年,通过手机购物的无线自动售货机在国内开始出现,天津南开戈德公司已研制此种类型的自动售货机。
这种新一代自动售货机除了更方便售卖货品之外,还被视为一种传播广泛的广告媒介。
在国外,自动售货机发展相对成熟。
日本的自动售货业已经有2000多种机型、6000 多种商品。
在美国,运营商就多达10800家,并且具有与大饮料商、大食品商的合作经验。
在日本,由于其无所不在,24h 供应,自动售货机很受特别忙碌的人欢迎。
在自动售货机相关的所有研究领域中,全球对其关键技术的研究主要集中在以下3个方面:a. 系统内部销售动作实现方式的研究;b. 资金结算及销售信息统计管理的实现方式研究;c. 功耗节省模式的研究。
根据目前,系统内部销售动作实现方式的研究已基本成熟,研究最多的主要集中在资金结算及销售信息统计管理的实现方式和功耗节省模式上。
自动售货机制作时使用的EDA技术与传统的电子设计相比,传统的电子设计方法是一种自底向上且费时费力的设计方法,而现代电子设计技术(EDA)是自顶向下且先进高效的。
在电子产品的设计理念、设计方式、系统硬件构成、设计的重用性、知识产权、设计周期等方面,EDA技术具有一定的优势。
1 介绍及设计任务1.1EDA技术1.1.1 EDA的介绍与发展EDA是Electronic Design Automation(电子设计自动化)的缩写,EDA技术是20实际90年代初以来迅速发展起来的现代电子工程领域的一门新技术。
它以可编程逻辑器件(PLD)为载体,以计算机为工作平台,以EDA工具软件为开发环境,以硬件描述语言(HDL)作为电子系统功能描述方式,以电子系统设计为应用方向的电子产品自动化设计过程[1]。
在当今以数字化和网络化为特征的信息技术革命大潮中,电子技术获得了飞速发展,现代电子产品渗透到了社会的各个领域。
现代电子产品的性能进一步提高,功能越来越复杂,集成化智能化程度越来越高,更新换代的节奏越来越快,开发风险也越来越大,而且正向着功能多样化,体积小型化,功耗最低化的趋势发展。
所有这些,都给电子系统设计师们带来了前所未有的压力,面对这种压力,唯一的出路是熟练掌握EDA技术,并获得其的有力支持。
EDA技术的出现,极大的提高了电路设计的效率和可靠性,减轻了设计者的劳动强度,EDA是电子产品开发研制的动力源和加速器,是现代电子设计的核心。
随着基于PLD的EDA 技术的发展和应用领域的扩大和深入,它在电子信息,通信工程,自动控制及计算机应用领域的重要性日益突出[2]。
1.1.2 EDA的设计流程及优点EDA的设计流程如下:(1)根据设计题目要求编写相应程序代码(2)对编写的VHDL程序代码进行编译和仿真(3)利用实验箱完成硬件验证(4)总结设计内容,完成课程设计说明书EDA技术与传统的电子设计相比,传统的电子设计方法是一种自底向上且费时费力的设计方法,而现代电子设计技术(EDA)是自顶向下且先进高效的。
在电子产品的设计理念、设计方式、系统硬件构成、设计的重用性、知识产权、设计周期等方面,EDA技术具有一定的优势[3]。
1.1.3 VHDL介绍VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描述语言。
因此它的应用主要是应用在数字电路的设计中。
目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。
当然在一些实力较为雄厚的单位,它也被用来设计ASIC。
但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为ANSI/IEEE的标准(IEEE STD1076-1987)。
1993年更进一步修订,变得更加完备,成为ANSI/IEEE的ANSI/IEEE STD 1076-1993标准。
目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准[4]。
在MAX软件平台上有很多种输入方式,特别介绍VHDL是因为用VHDL 语言进行数字逻辑电路和数字系统的设计,是电子电路设计方法上的一次革命性变革。
与传统设计方法相比,VHDL描述电路行为的算法有很多优点:(1) 设计层次较高、用于较复杂的计算时,能尽早发现存在的问题,缩短设计周期。
(2) 独立实现,修改方便,系统硬件描述能力强。
(3) 可读性好,有利于交流,适合于文档保存。
(4) VHDL语言标准、规范、移植性强。
(5) VHDL类型众多而且支持用户自定义类型,支持自顶而下的设计方法和多种电路的设计。
1.2 自动售货机的应用与设计背景1.2.1 自动售货机的应用介绍从广义讲自动售货机是通过投入硬币后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。