基于FPGA自动售货机.doc
《基于FPGA自动售货机.doc》由会员分享,可在线阅读,更多相关《基于FPGA自动售货机.doc(34页珍藏版)》请在三一办公上搜索。
1、摘 要本课题是基于Verilog HDL语言的小型自动售货机。采用Verilog HDL在ModelsimSE6.2B软件平台进行编译和仿真。在此次设计中,主要采用有限状态机(FSM)的设计,在投币选货状态和找零状态在这两个状态间进行转移。从而实现货物的选择、货币运算、出货控制、余额显示以及找零等功能。该售货机系统能够识别两种硬币,两种纸币。有五种不同价格的商品可供选择,并且通过显示译码电路,可在LED显示器显示余额,同时具备找零、机器存有硬币不足LED亮起报警、缺货LED亮起报警等功能。现代的自动售货机有使用方便快捷,可以全天候24小时工作,占地少,成本低,维护简单等优点,有着广阔的前景。采
2、用FPGA方式用Verilog HDL硬件描述语言,设计简易的自动售货机,其编程简单,开发周期短,硬件运行速度快,开发成本低,稳定性高等优点。关键词:自动售货机; Verilog HDL; 有限状态机;Modelsim; ABSTRACTThis topic design a simple vending machine is based on the FPGA chip. EP2C35 chip, and DE2 development board for the hardware platform, the use of Verilog HDL to compile and simulat
3、ion in the Quartus software platform, and through the DE2 development achieve the basic functions of a Simple vending machine.board by to download code to the chip. In this design,it used of finite state machine (FSM) design, choice of goods state, shipment status and give change coin state in the t
4、hree inter-state transfer, in order to achieve the choice of goods, monetary operations, the cargo control, features such as display and give change. The vending machine system to identify three kinds of coins, there are five kinds of goods at different prices to choose from, and by showing decoding
5、 circuit, in DE2 onboard LED display shows the balance, both functions give change. Modern vending machines are convenient, it can work 24 hours a day, covers an area of small, low cost, simple maintenance, there are broad prospects. Manner with the use of FPGA hardware description language Verilog
6、HDL, design simple vending machine, the programming is simple, short development cycles, fast hardware, the development of low cost, high stability.Key words: vending machines; Verilog HDL; Finite state machine; FPGA; DE2 development board;目 录绪 论1第一章 系统方案设计31.1 人机交换界面设计31.2 系统方案设计412.1 系统方案确定5第二章 系统
7、各模块硬件设计72.1 DE2开发板介绍72.2 自动售货机各模块设计82.2.1 自动售货机主体设计82.2.2 LED显示设计方案92.2.3 货币输入信号设计方案102.2.4 出货显示设计方案11第三章 系统的软件设计123.1 EDA工具软件介绍133.2 软件设计总方案143.3 售货机主芯片程序设计方案153.4 BCD-LED七段数码显示译码器173.5 硬币输入信号程序设计方案183.6 出货显示程序设计方案193.7 自动售货机各部分组合连接设计20第四章 调试及仿真214.1 用Quartus 完成PFGA设计步骤214.2 自动售货机波形仿真结果214.2.1 自动售货
8、机波形仿真214.2.2 输入信号处理程序波形仿真234.2.3 BCD-LED七段数码显示译码器波形仿真234.2.4 出货显示译码器波形仿真244.2.5 自动售货机主芯片程序仿真波形254.3 下载、仿真及测试25结论26致 谢27参考文献28附录1(程序源代码)29附录2(整体设计原理图)35绪 论自动售货机最早出现在二十世纪五、六十年代的西欧,英国是较早实行自动售货机售货的国家之一。1942年,在食品销售中首先推广了自动售货的销售方式。1950年,英国食品杂货行有500家采用自动售货机售货。1969年,采用自动售货机售货的商家增加到23000家,销售的商品扩展到文化用品、唱片、香烟、
9、食品等多个方面。进入70年代后,约有40多万家香烟、饮料店采用自动售货机。1980年英国有50余万台自动售货机,年销售额达8.81亿英镑。70年代后,日本、美欧等发达国家和地区自动售货机迅猛的发展,短短30年,发达国家自动售货机产业已发展到相当大规模。自动售货机被广泛地布放于车站、油站、码头、机场、宾馆、写字楼、娱乐场所及大街小巷和公路旁,人们通过自动售货机可以买到食品、香烟、饮料、报纸、票、卡甚至鲜花和小宠物等物品。自动售货机实现了商品需求化、性能多样化的发展,又原来只能有限商品品种,转变为继百货公司、超级市场、便民店之后,以消费者与售货机“一对一”自动售货的无店铺销售业态。 目前自动售货机
10、是集声、光、机电一体化的高新智能化产品,在我国也开始得到应用。在中国人们可以看到现代化的自动售货机摆放在一些大商场门口、繁华街道两旁、公园入口处以及其它热闹的场所。自动售货机的新奇、文明、高档、昼夜服务、占地小、灵活方便深受许多地区市民的青睐,甚至出现许多排队购买的现象。专辑测算,中国的自动售货机在市场容量最保守算应该有四十七万台,一年的销售额可达三百五十亿元若按人均台数计算全年可达五百亿,自动售货机在日本达到平均每二三十人一台,在美国达到每四十人一台,在欧洲每六十人一台,由于中国经济与上述国家还有一定差距,按每五百人一台计算。因此,自动售货机在中国有着广阔的发展前景。 现在,自动售货机产业正
11、在走向信息化并进一步实现合理化。例如实行联机方式,通过电话线路将自动售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商品的发送、补充以及商品选定的顺利进行。并且,为防止地球暖化,自动售货机的开发致力于能源的节省,节能型清凉饮料自动售货机成为该行业的主流。在夏季电力消费高峰时,这种机型的自动售货机即使在关掉冷却器的状况下也能保持低温,与以往的自动售货机相比,它能够节约15的电力。进入21世纪时,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。一般的自动售货机由钱币装置、指示装置、贮藏售货装置等组成
12、。钱币装置是售货机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。如果投入的金额达到购买物品的数值即发出售货信号,并找出余钱。指示装置用以指示顾客所选商品的品种。贮藏售货装置保存商品,接收出售指示信号,把顾客选择的商品送至付货口。一般售货机的钱币装置由投币口、选别装置、确认钱币真伪的检查装置、计算金额的计算装置和找钱装置组成。70年代以来,出现了采用微型计算机控制的各种新型自动售货机和利用信用卡代替钱币并与计算机连接的更大规模的无人售货系统,如无人自选商场、车站的自动售票和检票系统、银行的现金自动支付机等。 近年来,随着电子系统设计自动化(EDA)和超大规模可编程逻辑器件和快
13、速发展,硬件描述语言(HDL)这一新型电子系统开发工具正在迅速普及,是计算机设计和编程人员和电子器件厂商都寻找的一种工具,是芯片设计人员和生产伙伴之间建立沟通和交换数据的桥梁。已经是从事EDA电子工程师必须掌握的工具。 HDL使得电路的编程和设计者能够自由表述电路的特征,它可以描述和仿真电子元件的特性,这些电子元件的规模可以从单个门电路直到一块完整的多层印刷的电路板。HDL的主要操纵对象是高速集成电路和现场可编程门阵列(FPGA)。HDL的仿真功能使设计者在产品投入大规模生产前可以分别测试各个元件及其之间的连接,用仿真的方式完成以前必须设计和建造好的样机才能进行的电子电路特性的说明和调试,并可
14、以仿真器上测试所设计的电路功能是否正确。从而在芯片和器件的复杂性不断以惊人的速度增长的同时降低系统开发的成本和时间。本课题中需要实现至少3种不同价格货物的买卖操作。要用3个拨动开关表示3种硬币,用5个键表示5种不同价格的商品。投入货币后用数码管显示钱数。买东西时,先按物品键,再投入硬币,若成交,用数码管显示物品输出。若输入余额大于所选物品的价格,退回多余的钱,若少于物品的价格,则退钱。在这次设计中,已实现上述功能,并且能够下载到DE2开发板上进行仿真。下面的论述中,第一章介绍系统的方案设计,包括人机交换界面的设计,系统方案设计和系统的方案的确定,还有系统方案的总体设计原理图。第二章介绍系统各模
15、块硬件设计,包括DE2开发板的介绍和各个硬件部分设计的介绍。包括自动售货机的主芯片、余额显示译码器、输入处理芯片和出货显示译码器,以及他们的设计原理图。第三章介绍软件系统设计,各个部分软件设计原理及过程。包括主程序,显示译码器程序,输入处理程序和显示译码程序以及他们的原理图。第四章介绍了编译调试过程以及各部分的调试波形,并对波形进行了分析。最后是结论、致谢、参考文献和附录。第一章 系统方案设计1.1 人机交换界面设计人机交换界面图,对人机交换的按键一目了然。这次设计中,用到DE2开发板作为设计平台,它的界面比较大众化,所有的按键显示都是放在一起,但有了这个界面图结合下面的介绍,很容易就可以了解
16、这个自动售货机的操作步骤以及使用方法。YJ元显示角显示出货显示EDCBAWJIYIN上面是5种货物选择开关 上面是货币输入和找零开关角找零元找零OverflowR复位开关图1.1 自动售货机人机交换界面简图首先,确定可以对5种不同种类的货物进行自动售货,价格分别为A=1.00,B=1.50,C=1.80,D=3.10,E=5.00。当A、B、C、D、E五种货物输出时,为了在DE2开发板上能够显示出来,识别方便,加一个译码器,如果货物A出货时,通过译码器,在LED显示器上显示数字1。同理B、C、D、E分别显示2、3、4、5。其次,自动售货机选择可以接受一元、五角、一角三种硬币(即有三种输入信号I
17、Y代表投入一元,WJ代表投入五角,YJ代表投入一角)。这三种货币的输入在DE2开发板上分别用三个开关来表示,当每次来回拨动一次开关,就代表投一次硬币,及相应的面额的硬币加1。用2个4位7段LED(高位代表元、低位代表角)显示投入的总钱数,最大输入金额是9.90元。如果大于该金额输出信号为overflow,代表最后投入的硬币会退出。选择货物的输入信号IA,IB,IC,ID,IE和一个放弃信号IN,放弃信号是将余额找出来。输出信号元找零和角找零。同时还有一个R复位信号。如图1.1所示,人机交换界面图简图。在操作时候,先按复位键,是将里面的各个输入输出口以及寄存器全部清零。其次选择货物,再投币,当投
18、的金额等于货物的价格的时候,出货,同时LED显示器上上面的金额清零。当大于货物的价格时候,出货同时,显示剩余的金额。如果按找零开关,找零,LED显示清零。当金额大于9.9元时,把最后一次投币退出来。1.2 系统方案设计要实现自动售货机的功能,如果只靠一个芯片一个程序是很难完成系统的设计,所以自动售货机系统有4个部分组成。 自动售货机的主芯片。主要实现自动售货机的基本功能。它可以选择5种不同的货物,当选择货物后,进入投币状态,投入硬币后,系统会自动记录下所所投入硬币的金额,并且将投入的硬币的余额以BCD码的形式输出,当金额大于9.9元的时候,系统会自动将最后一次投入的货币输出;输出信号为over
19、flow。当上面的金额等于货物的价格的时候,系统会自动出货,五种货物与之相对应的有五个输出管脚,当出货时,高电平有效;当金额大于货物的价格时候,系统出货,并且进行找零,当金额小于货物的价格的时候,系统会等待着再次投币。如果有IN找零信号输入,直接进入找零状态。输入信号处理芯片。输入信号的时候,每次输入信号高电平的周期不能正好是一个clk脉冲信号的周期,所以要设计一个信号处理程序。在输入货币和找零信号的时候,无论产生高电平的时间的多长,都会产生一个和clk周期相同的高电平。BCD-LED七段数码显示译码器。自动售货机主芯片产生的是BCD码,BCD码不方便的识别,所以要用这个芯片,来处理BCD码的
20、信号,使之变成能够识别的数字信号。出货显示译码器。在出货的时候,由于采用DE2开发板,主频过高,达到50MHz,人的肉眼根本无法识别信号的变化,我们需要设计一个出货显示译码器,当出货物A,B,C,D,E的时候,在LED显示器上就相应的产生1、2、3、4、5的数字,这样就可以轻松的看到是那种货物出来了。将这四个部分有机的组合起来,就可以实现自动售货机的功能,如图1.2所示。 自动售货机主芯片出货显示译码器1元输入处理5角输入处理1角输入处理找零输入处理元显示译码 器选择货物A选择货物B角显示译码 器选择货物C选择货物D元找零选择货物E角找零复位ROverflow 图1.2 系统方案原理图1.21
21、 系统方案确定 自动售货机的主芯片程序主要采用有限状态机(FSM),在选择货物状态,投币出货状态和找零状态这个3个状态间进行跳转,来实现自动售货机的基本功能。选择货物状态主要是货物的选择的处理等功能,如果在选择货物之前投硬币,系统进入货币找零状态,就将货币退出来,否则就停留在这个状态。如果先选择货物,系统会自动进入投币出货的状态,否则停留在这个状态。投币出货状态主要是对投入货币运算和出货控制处理等功能。如果余额大于9.9元的时候,系统会把最后一次投入的硬币找出来。如果余额大于所选货物的价格,系统会自动出货并且进入找零状态,把剩余的零钱找出来。如果余额等于所选货物的价格,系统会自动出货,并且把余
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 自动 售货
链接地址:https://www.31ppt.com/p-4144778.html