首页 基于VHDL的自动售货机设计

基于VHDL的自动售货机设计

举报
开通vip

基于VHDL的自动售货机设计 第29卷 第l2期 武汉理工大学学报 ·信息与管理工程版 2007年l2月 JOURNAL O UT(INFORMATION&MANAGEMENT ENGINEERING Vol_29 No.12 Dec.2007 文章编号:1007—144X(2007)l2—0136—04 基于 VHDL的自动售货机设计 袁亚恒,周 伟 (武汉理工大学 信息工程学院,湖北 武汉 43~70) 摘 要:介绍了 VHDL的特点和应用;以自动售货机的设计为例,详细说明了其实现过程,并给出了实现代码 和时序仿真波...

基于VHDL的自动售货机设计
第29卷 第l2期 武汉理工大学学报 ·信息与管理 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 版 2007年l2月 JOURNAL O UT(INFORMATION&MANAGEMENT ENGINEERING Vol_29 No.12 Dec.2007 文章编号:1007—144X(2007)l2—0136—04 基于 VHDL的自动售货机 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 袁亚恒,周 伟 (武汉理工大学 信息工程学院,湖北 武汉 43~70) 摘 要:介绍了 VHDL的特点和应用;以自动售货机的设计为例,详细说明了其实现过程,并给出了实现代码 和时序仿真波形。 关键词:电子设计自动化;超高速集成电路硬件描述语言;自动售货机 中图法分类号:TP31 文献标志码:A 近年来,集成电路技术的迅猛发展,特别是可 编程逻辑器件的高速发展,电子设计 自动化 EDA 技术成为电子设计工程师的新宠。EDA技术以 计算机为工具完成数字系统的逻辑综合、布局布 线和设计仿真等工作。电路设计者只需要完成对 系统功能的描述,就可以由计算机软件进行系统 处理,最后得到设计结果,并且修改 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 如同 修改软件一样方便。利用EDA工具可以极大地 提高设计效率⋯。 VHDL(very high speed integrated circuit hard- ware description language)是指超高速集成电路硬 件描述语言。VHDL主要用于描述数字系统的结 构、行为、功能和接13。除了含有许多具有硬件特 征的语句外,VHDL的语言形式,以及描述风格与 句法,类似于一般的计算机高级语言,如c语言。 VHDL的程序结构特点是,将一项工程设计或称 设计实体(可以是一个元件、一个电路模块或一 个系统)分成外部(或称可视部分,即端 口)和内 部(或称不可视部分)。在对一个设计实体定义 了外部界面后,一旦其内部开发完成,其他的设计 就可以直接调用这个实体。这种将设计实体分成 内外部分的概念是 VHDL系统设计的基本点 。 1 自动售货机的设计 1.1 设计说明 笔者所述的自动售货机可销售可可糖(0.5 元)、果仁(1元)、薄饼(1.5元)、牛奶(2元)、果 汁(2元)5种商品;允许投入0.5元,1元硬币;售 货机有2个输出口,分别输出货品和找零 ;另外有 4个 LCD数码管,2个用来显示已经投入的币值, 2个用来显示找零数。 自动售货机控制系统共设3个状态:初始状 态、投币状态和找零出货状态。在每一个状态中 完成特定的功能 3]。 (1)初始状态。当售货机通电时,表示一次 投币销售过程开始;顾客正常购买商品操作失误 包括改变购买意向或不再购买,按 start按钮重新 进入初始状态;在初始状态 select—COCO、select— nut、select — cookie、select — milk和 select—juice生效 时,顾客可以根据自己的需要,选择其中一种商品 (只限一种),进入下一状态。 (2)投币状态。在投币状态,select—COCO、se. 1ect — nut、select — cookie、select — milk和 select—juice 失效,rejectl灯亮。表示投入的硬币是 0.5元、1 元的 coin_5、coin一10生效,当投人硬币总额大于 或等于商品价格,并且按确认键后进入下一状态; 若按取消键,售货机拒绝接受投币,并退出所投硬 币,进入初始状态。 (3)找零出货状态。投币结束,售货机自动 判别总钱数,若总钱数少于顾客所需商品的单价, 顾客按取消键,则使退钱驱动器工作,用七段显示 器显示退还硬币数;若投入的硬币等于或大于商 品单价,且确认购买,则使找零驱动器工作,用七 段显示器显示找零的硬币,同时在送货口送出商 品,显示灯outl亮。出货、退钱或找零结束时表 示一次自动售货过程完成,等待 start信号的到 来,以便开始下一次售货过程。本系统中顾客投 币销售流程如图 1所示。 收稿 13期:20o7—06—06. 作者简介:袁亚恒(1983一),女,湖北荆门人,武汉理工大学信息工程学院硕士研究生 维普资讯 http://www.cqvip.com 第29卷 第 12期 袁亚恒,等:基于 vHDL的自动售货机设计 137 图 1 投币销售流程 1.2 逻辑电路模块 (1)售货机的选择货物按钮 select—COCO、se— lect — nut、select — cookie、select — milk和 select—juice 经同步消抖电路和编码电路转换成总线五位二进 制 Do、D1、D2、D3和 IM,然后送人控制器。编码 电路设置了一个使能端 EN1,使电路进入初始状 态有效,退出时无效 J。 (2)由于售货机应能 自动计算投入的硬币 数,为此用寄存器来记录并保存投入的总币值,称 之为计钱器。在电路处于投币状态时,接受外来 的coin一5、coin一10信号,累计币值用总线五位二 进制数 B0、B1、B2、B3和 B4来表示。它可与 Do、 D1、D2、D3和 D4比较,当比较结果 BD时,则出 货口不仅给出商品,而且还退还找零的硬币。设 置来自控制器的一输入信号 reset,计钱器清零。 CP是外部提供的基准时钟,而 EN2信号为在 c 状态下使投入硬币窗口有效。 (3)配备一个cP信号发生器,它可以作为控 制时钟的信号源。 (4)系统工作电压为直流 5 V,需设置一个直 流稳压电路来保证稳定直流的供给。 (5)每个按键需接一个消抖电路,以消除手 动按键因机械振动而产生的电压电流波形“毛 刺”。 (6)售货机系统输出设置 4个数码显示管, 用2个显示应找零数,另2个实时显示投币金额; 设置 5个发光二极管 Qo、Q1、Q2、Q3和 Q4来显 示对商品的选择;设置一个货物出口,用发光二极 管outl显示;分别设置 rejectl和 reject2表示拒绝 货物输入显示和拒绝接收硬币显示。 1.3 基本功能模块 自动售货机的功能模块逻辑上划分为商品选 择模块、编码模块、投币处理模块 、投币、找零显示 模块和主控模块 J。 (1)商品选择模块。该模块对输入信号进行 传递,人口参数包括 CP时钟信号(由系统时钟产 生)、select—COCO(选择可可糖)、select—nut(选择果 仁)、select—cookie(选择薄饼)、select—milk(选择 牛奶)、select_.,juice(选择果汁),由5个发光二极 管分别显示商品是否被选。 (2)编码模块。该模块功能是将货物选择按 钮给的选择信息转换成总线五位二进制 Do、D1、 D2、D3和 IM 来表示,然后送人控制器。并设有 使能端 EN1,使电路进入初始状态有效,退出时无 效 J。 (3)投币处理模块。该模块人 口参数 coin5 (投入0.5元硬币),coinl0(投入 1元硬币),EN2 (投入硬币有效的使能端)。功能类似于计钱器, 在清零的前提下,可准确计算投入的硬币数,记录 并保存投入的总币值。 (4)投币、找零显示模块。该模块是用来显 示投入和找零的钱数。用于投币显示时,将计钱 器加接 5个输出端,先转换成 BCD码,然后经译 码器译码并显示。用于找零显示时,将主控模块 的找零信号的五位总线输出端转换成 BCD模块, 再译码显示。 (5)主控模块。主控模块程序通过对输入信 号进行处理,完成状态的切换,其人口参数包括 start复位信号(取消键)、ok—buy(购买确认)、b (所投的币值,以十进制显示)、出口参数包 outl (灯亮显示商品出货)、rejectl(灯亮表示拒绝商品 输入)、reject2(灯亮表示拒绝接收硬币)、C(找零 及退币,以十进制显示)。模块代码如下 。 library ieee; use ieee.std — logic 一 1 1 64.all; package state _ pack is type state is(qa,qb); end state — pack; library ieee; 维普资讯 http://www.cqvip.com 138 武汉理工大学学报 ·信息与管理工程版 2007年l2月 use ieee.std — logic 一 1 164.all; use work.state — pack.all; entity maincontrol is port(start,cp,ok—buy:in std—logic; d,b:in integer range 0 to 20; enl,en2,reset,outl,rejectl,reject2:out std— logic; c:out integer range 0 to 20); end maincontrol; architecture a of maincontrol is signal current — state:state: qa; begin process variable var:integer range 0 to 20; begin wait until cp 1 and cp event; if start= 1 then current _ state< qa: c<:0;rejectl<= 0 ;rej’ect2<= 0 ;outl<= 0 ; enl< = 1 ;reset< = 1 ;en2< = 0 ; end if; case current state is when qa= > if d=0 then current — state< qa;c<=0;rejectl<= 0 ; reject2<= 0 ;outl<= 0 :enl<: 1 ;reset<= 1 ;en2< = 0 ; else current — state< qb;var: d: end if; when others: > enl< = 0 ;reset< = 0 ;en2< = 1 ; if b=0 then rejectl<= l ;reject2<= 0 ;outl<: 0; elsif start=’0’and b=var)then c<:b—var;rejectl<= 1 ;reject2<= 1 ; outl< = 1 ;reset< = 0 ;en2 < : 0 ;enl< = 0 : elsif start= 1 and(b>=var)then c<=b;rejectl<=’1 ;reject2<=’1 ;outl< = 0 ;reset< =⋯1 ;en2< = 0 ;enl< =⋯1 ; end if; end case; end process; end a; 2 时序波形 仿真运行是 HDL的强大功能之一,虽然与现 场环境不可能完全一致,但可以帮助设计者解决 逻辑错误。如果在设计时能够将器件时序和延迟 时间考虑完整,并做好准确的描述,就可以最大程 度的模拟真实环境,节约成本。在 MAX+PLUS II 开发环境下的时序仿真波形如图2所示 ]。 ] ]门几n几几n r]n n一几—厂L厂Ln』 八几n几r1 -I卜 select — coco -I卜 select — nⅢ select — cookie 厂_] select — milk sel++ctJuice W -- coin 5 i卜COln一10 『_ 广] -■-1 0k_buy n -■’oul1 I -■● reject1 — — . . . . . . . 0 ect2 ●。。。。。。。。。。。。。。。 。。。。。_●。。。。。。。。。。。。。。。。—— 菌}B o1 o X 1o X 20 o X 5 图2 时序仿真波形 由时序图可知,在一次售货过程中,顾客选择 买薄饼(1.5元),此时 rejectl灯亮,表示拒绝输入 其他商品;接着,顾客先后投入2枚 1元硬币并确 认购买。reject2灯亮拒绝接收硬币,outl灯亮,显示 出货并找零(0.5元)。一次投币销售过程完成,等 待下一次的 start信号来临。程序运行正确。 3 结 论 虽然VHDL的语法规则与其他计算机高级 语言如 C语言在很多方面很类似,但它毕竟是硬 件描述语言,其本质作用在于描述硬件,因而会受 到硬件环境的限制。因此,为了达到设计的预期 效果,在代码编写前,应做到对硬件电路心中有 数,不能一味地追求代码的完美,而应该以实现的 硬件电路的性能优劣为标准。 参考文献: [1] 王晓峰.电子设计的EDA技术应用[J].长春师范 学院学报 :自然科学版,2005,24(5):55—56. 维普资讯 http://www.cqvip.com 第29卷 第 l2期 袁亚恒,等:基于 VHDL的自动售货机设计 139 DOULOS A.The designer S guide to VHDL[EB/OL]. [2007—06—06].http://www.doulos.com/know— how/vhdl — — designers _ guide/. DOUGLAS L P.VHDL:programming by example[M]. New York:McGraw—Hill Professional,2002. 阎 石.数字电子技术基础[M].4版.北京:高等教 育出版社 ,1998. 王雯隽.基于 Verilog—HDL自动售货机的设计与实 现[J].微型电脑应用,2005,21(5):l9—20. ZHANG W J.VHDL tutorial:learn by example[EB/ OL].[2007—06—06].http://esd.CS.ucr.edu/labs/ tutoria1. 侯伯亨.VHDL硬件描述语言与数字逻辑电路设计 [M].陕西:西安电子科技大学出版社,1999. 东方人华.MAX+PLUS I1入门与提高[M].北京: 清华大学出版社,2004. Design on VHDL ——based Automat YUAN Yaheng,ZHOU Wei Abstract:The features and application of VHDL were introduced.W ith examples of the design of automat as well as its codes and simulation waveform,the performing process was illustrated in detail. Key words:EDA;VHDL;automat YUAN Yaheng:Postgraduate;School of Inform ation Engineering,WUT,Wuhan 430070,China (上接第 135页) Design of the Automatic W elding M achine Lift Control System Based on PLC LIU Haochun,CHEN Chunli [编辑:周廷美] Abstract:The functional requirement of a lift control system was introduced.A design scheme and the methods of hardware and software of the welding machine lifi control System based on PLC was given.The experimental result indicates that the contml system using PLC as the hard core has the characteristics of easy control。con— venient operation and a strong ability to resist interference. Key words :lift control System;PLC;servo drive LIU Haochun:Assoc.Prof.:School of Inform ation Engineering,WUT,Wuhan 430070,China. [编辑:李道文] ]J ]j 2 3 4 5 维普资讯 http://www.cqvip.com
本文档为【基于VHDL的自动售货机设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_875174
暂无简介~
格式:pdf
大小:177KB
软件:PDF阅读器
页数:4
分类:工学
上传时间:2011-02-25
浏览量:63