资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
自动售货机的设计与实现摘要:本文介绍了VHDL的特点和应用,以自动售货机为例,详细说明了其实现过程。本系统使用VHDL语言编写,用状态基来实现各功能,使用MAXPLUS进行仿真,模拟各模块的实现。本文详细介绍如何运用VHDL语言及MAXPLUS进行仿真,本文设计的自动售货机实现了选择货物,投币,找零,显示,多次交易,在一次购买中选择多个货物等自动售货机的基本功能。本文给出了各个模块的源程序、各模块的连接图以及各个模块的仿真图,并做出了详细的分析。关键词:VHDL语言,MAXPLUS,自动售货机Design and implementation of vending machineElectronics and Information Science and Technology Candidate:JiangHuiAdvisor:CaiJianhuaAbstract:This article introduces the characteristics and application of VHDL, with a example ofdesigning vending machines, describes detailedly the implementation process. The system uses the VHDL language, realizing every function uses state machines, applying MAXPLUS to simulate in order to realize the function every modules.This article describes the use of VHDL language and MAXPLUS simulation, to achieve the vending machines basic functions , as choose good, coin,give change, buy good more than one time, choose more than one good in one time, display, and so on. This article gives the original program of every modules and the simulating diagram of every modules and the combination of all of the modules, gives detail analyse of every simulating diagram as well.Keywords:VHDL language,MAXPLUS,Vending machine引言随着科技的发展和社会的进步,自动化商业机械有了越来越广泛的应用,自动售货机作为自动化商业机械的代表被广泛用于公共场所自动售货,给人们的生活带来了极大的方便。特别在发达国家,自动售货机已经十分普及,自动售货机可售出各种成型包装小商品,各种袋装,盒装,软瓶装等小商品。因其无需专人值守而可以每天24小时售货,被称为无人小超市。在我国,由于多种原因,自动售货机的市场推广缓慢,处于培育阶段,但可以预见,这种方便快捷的服务形式因其适合现代生活快节奏的需要,在不久的将来必会获得大众的喜爱。随着商品市场的不断繁荣,自动售货机和自动服务设施必将逐步得到广泛的应用。本文设计研究自动售货机的主要功能模块,主要包括货币处理模块、余额计算模块、显示模块,延时和时控模块,由于条件上的限制,对投币模块中的货币检测未进行处理。相应的主要功能有选择货物,多次购买,出货找零,显示,延时和时控功能。本文是通过使用VHDL语言,基于FPGA可编程芯片,并通过使用MAXPLUS软件进行程序设计,模拟仿真,功能验证,以更好的来理解和掌握自动售货机控制系统的工作原理和设计方法,以及学习和掌握基于EDA的电子产品设计方法,进一步加深对VHDL语言以及MAXPLUS软件、FPGA可编程芯片的认识与了解。更深入的学习EDA技术,更好地掌握本专业知识。1 本论概述本文设计的自动售货机是基于VHDL1语言,使用MAXPLUS软件进行模拟仿真,在FPGAField Programmable Gate Arry,现场可编程门阵列可编程芯片上实现的一款EDAElectronic Design Automation,电子设计自动化技术的产品。1.1系统的工作原理本文设计的自动售货机有两种饮料可以出售,售价分别为2元和3元。售货机可以识别1元,5元两种货币。如果投入金额总值等于或超过售价就可以将饮料放出,并具有相应的找零钱功能。1用户可多次选择购买的饮料种类,某次饮料种类选定后等待投币。如等待时间超过10秒钟,则认为用户放弃选购,售货机自动回到等待状态,等待新的交易。若在10秒,再次选中饮料,则再次等待。2每次交易完成,售货机自动回到等待状态,等待新的交易。3用按键模拟投入1元,5元两种货币,可连续投币,同时显示投入的金额和还应投入的金额。若某次投币后金额不足,且一定时限不再投币10秒左右,则交易失败,并退币,显示退还金额。4具有指示电路,分别指示购买成功、交易取消交易失败和找零。5相应显示有延时和时控功能。1.2 VHDL语言介绍VHDL2Very High Speed Integrated Circuit Hard-ware Description Language是指超高速集成电路硬件描述语言。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式,以及描述风格与句法,类似于一般的计算机一个电路模块或一高级语言,如C语言。VHDL的程序结构特点是,将一项工程设计或称设计实体可以是一个元件、一个电路模块或一个系统分成外部或称可视部分,即端口和部或称不可视部分。在对一个设计实体定义了外部界面后,一旦其部开发完成,其他的设计就可以直接调用这个实体。这种将设计实体分成外部分的概念是VHDL系统设计的基本点。1.2.1 VHDL语言的发展背景硬件描述语言的发展至今已经有几十年的历史,并已成功应用到系统的仿真、验证和设计综合等方面。其中比较著名的的有VHDL语言、AHDL语言、Verilog HDL语言等。而在七八十年代初期VHDL语言是为美国国防部工作的。它是以ADA语言为根源,就像将被看到的整体结构的VHDL和其他的VHDL报表。1986年,有人提议VHDL语言作为IEEE标准。它经历了一些修改意见和修改,直至1987年12月获得通过,成为IEEE 1076至1987标准。它的出现为电子设计自动化的普及和推广奠定了坚实的基础。之后IEEE对87版本进行了修订,于1933年推出了较为完善的93版本被定为ANSI/IEEE std 1076-1993标准,使得VHDL语言的编程更加灵活方便。此后,越来越多的人开始使用VHDL语言进行数字电路系统的设计。而VHDL语言有不同于软件编程语言,在编程结构和规上有自己的特点,在此,本文就从简单介绍VHDL语言基础开始。1.2.2 VHDL语言的基本结构 一个完整的VHDL3语言程序通常包括实体、构造体、配置、包集合和库5个部分。前4种是可以分别编译的源设计单元。下面分别介绍:实体:实体是用于描述所设计电路系统的外部接口信号,系统的输入输出端口及属性都是在实体中定义的。一个实体是设计中最基本的。最上层水平的设计是最高层的实体。如果设计分层次,那么最高层的描述将有低层描述的说明附在它里面。构造体:构造体用于描述系统部的结构和行为,系统要实现的功能都是在构造体用语言进行描述的。所有实体可以有一个构造体的说明来模拟。该构造体描述的行为实体。一个单一的实体可以有多个构造体。一个构造体可能是行为而另一个可能是一个结构描述的设计。配置:配置用于从库中选取所需单元来组成系统设计的不同版本。配置声明是用来约束一个组件实例的一双实体架构。一个配置可以被视为像一个零件清单进行设计。它描述的使用的每一个实体的行为,就像零件列表说明哪一部分用于每一部分的设计。包集合:包集合存放各种设计模块都能共享的数据类型、常数和子程序等。包集合是一个收集常用数据类型和子程序中使用的设计。想想包含使用的工具建立的设计的一个工具箱作为一个包。库:库存放已经编译的实体、构造体、包集合和配置。库可由用户生成或者是由ASIC芯片制造商提供,以便在设计中为大家共享。这种功能可以通过特定语句来实现。除了以上介绍的各种术语,其它术语还有:驱动程序:这是一个信号上的一个源。如果一个信号有两个来源,那么当两个来源是由两个驱动程序来起作用的。总线:这个词,巴士通常使我想起一组信号或某个特定的通信方式,用于设计的硬件。在VHDL语言,总线是一种特殊的信号,表明可能由驱动程序来完成。属性:一个关于VHDL对象连接到VHDL的物体或预先确定的数据的属性数据。例如,电流驱动能力的一个缓冲区或最高工作温度的装置。通用:泛指是VHDL语言传递信息实体参数的任期。例如,如果一个实体是一个门级模型的上升和下降延迟,上升和下降延误的值才能通过成为实体与仿制。进程:一个进程是执行的VHDL中的一个基本单位。一切行动,是在模拟VHDL描述分为单个或多个进程。在VHDL语言程序中,最重要的就是实体和构造体部分。它们是一个具体设计的核心。如果说实体是系统和外部交流的桥梁,那么构造体就是处理外交流的信号加工厂。在构造体中各种信号协调工作,最后得到所需的输出,传送到输出端口和外部进行交流。下面具体说明实体和构造体。1.2.3 实体一个VHDL实体指定的实体名称,实体的端口,以及实体相关的信息。所有设计创建使用一个或多个实体。让我们来看看一个简单的实体例子:ENTITY mux ISPORT ;END mux;关键字实体是开始一个实体声明的标志,在整本文的说明中,标准封装中关键字的语言和类型全部用大写字母来显示。例如,在前面的示例中,关键字是ENTITY, IS, PORT, IN, INOUT,等等。如果标准型是少量的。用户创建像复用一样的,在上面的例子中,将以小写显示。实体的名称是多路复用,该实体有7个端口和端口条款。6个端口,一个是输入端口,另一个是输出端口。4个数据输入端口是位宽类型。这两个多路选择输入是s0 和 s1,也都是位宽类型。输出端口也是位宽类型。实体描述外界的接口。它规定了一些端口,端口方向和端口的类型。比起这里显示的信息,实体可以存放更多的信息,但是这为我们提供了建立更复杂例子的基础。1.2.4 构造体实体是描述接口的VHDL模型。构造体描述了实体的基本功能,并包含了模拟实体行为的述。构造体始终是涉及实体和描述实体的行为。计数设备的构造体更早的像这样描述:ARCHITECTURE dataflow OF mux ISSIGNAL select : INTEGER;BEGINselect = 0 WHEN s0 = 0 AND s1 = 0 ELSE1 WHEN s
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号