EDA自动售货机控制器的设计与仿真
EDA课程设计--基于FPGA的自动售票机设计
湖南工程学院
课程设计
课程名称EDA课程设计
课题名称基于FPGA的自动售票机设计
专业电子科学与技术
班级
学号
姓名
指导教师李延平
2014 年12 月19 日
湖南工程学院
课程设计任务书
课程名称EDA课程设计
课题基于FPGA的自动售票机设计
专业班级电子科学技术
学生姓名
学号
指导老师李延平
审批
任务书下达日期2014 年12 月8 日任务完成日期2013 年12 月19 日
图1自动售邮票机系统框图
电气信息学院课程设计评分表
指导教师签名:________________
日期:________________
注:①表中标*号项目是硬件整理或软件编程类课题必填内容;
②此表装订在课程设计说明书的最后一页。
课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。
[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!]。
EDA课程设计 自动售货机控制系统(DOC)
电子课程设计——自动售货机控制系统的设计学院:电子信息工程学院专业、班级:通信131503班姓名:学号: 2013150303指导老师:李斌2 0 1 5 年 1 2 月目录绪论 (2)一、设计任务与要求 (3)二、总体框图 (3)框图 (3)设计思路 (3)三、器件选择 (4)四、功能模块 (4)1、分频器模块 (4)2、数码管显示模块 (5)3、取货模块 (7)五、总体设计电路图 (8)1、总体设计电路原理图 (8)2、管脚分配表 (9)3、仿真图 (9)六、心得体会 (10)七、参考文献 (10)自动售货机控制系统的设计绪论近年来,集成电路技术的迅猛发展,特别是可编程逻辑器件的高速发展,电子设计自动化EDA技术成为电子设计工程师的新宠。
EDA技术以计算机为工具完成数字系统的逻辑综合、布局布线和设计仿真等工作。
电路设计者只需要完成对系统功能的描述,就可以由计算机软件进行系统处理,最后得到设计结果,并且修改设计方案如同修改软件一样方便。
利用EDA工具可以极大地提高设计效率。
本设计是一套结构简单,操作方便,性能可靠的自动饮料售卖机产品。
自动饮料售卖机电路设计采用选择商品电路、投币累加电路、统计卖出商品电路等四个基本电路构成。
自动售货机在接受投入钱币后,通过与商品价格比较,确定是否能够售出商品和把算出剩余的钱找回。
当商品输出后售货机自动把上次卖出商品的价格和投入的钱币的总和清零,这时才可以进行下次交易。
自动售货机还应满足商家查看销售商品的总和及使其清零,和控制该售货机进行整体复位。
该售货机可以帮助商家更好的销售商品,并且节省人力,获得更大的利润自动饮料售卖机是能够根据投入的钱币自动取出饮料的机器,它是商业自动化的常用设备,不受时间、地点的限制,能节省人力、方便交易。
现代的自动饮料售卖机的种类、结构和功能依出售的饮料种类而异。
钱币装置是自动饮料售卖机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。
EDA课程设计—自动售票机
EDA课程设计—自动售票机第一篇:EDA课程设计—自动售票机燕山大学EDA课程设计报告书题目:自动售票机姓名:班级:学号:成绩:(注:此文件应以同学学号为文件名)一、设计题目及要求 1.设计题目:自动售票机 2.设计要求:⑴、每次投一枚硬币,但可以连续投入数枚硬币。
硬币种类两种:1元和5角,各用一个按键表示。
⑵、设定票价为2.5元,每次售一张票。
购票时先投入硬币,当投入的硬币总金额达到或超过票的面值时,用LED发出指示,这时可以按取票键取出票。
⑶、如果所投硬币超过票的面值则会有LED提示找零钱,取完票以后按找零键则可以取出零钱。
⑷、用两位数码管显示已投币金额,若刚好投币2.5元,取票后金额归零;若投币超过2.5元,取票后显示找零金额,按下找零键后金额再归零。
1总体设计的文字描述,即由哪几个部分构二、设计过程及内容(包括○2主要模块比较详尽的文字描成的,各个部分的功能及如何实现方法;○述,并配以必要的图片加以说明,但图片数量无需太多)1.总体结构如下:总体设计思路:此自动售票系统总共有5个主要模块,分别是:累加模块,比较器模块,找零模块,数字转换模块,显示器模块。
⑴、累加模块实现金额的累加功能。
实现方法:该模块设置3个输入口(包括5角、1元、复位),8个输出口(B1—B8)。
该模块将在给五角或一元高电平的同时实现金额的累加,复位则会将会对其进行清零。
该模块由一片8位的加法器,2片4位寄存器及简单门电路组成,利用8位加法器将输入的金额(5、10)进行二进制相加(00000101、00001010),通过寄存器后返回到加法器实现累加功能。
复位键则与寄存器复位清零短CLRN相连,实现复位的功能。
⑵、比较器模块实现与票价进行比较的功能。
实现方法:该模块设置了8个输入口(A0—A7)1个取票口,4个输出口。
该模块将累加的钱币与2.5元的票价比较,如果累加金额高于票价则黄灯亮,小于票价则红灯亮,等于票价则绿灯亮。
EDA实习报告(自动售卖机)
EDA技术及应用实习报告自动售卖机信息13-2班06号GMH北华大学电气信息工程学院目录一、设计任务功能简介 (2)1、设计任务 (2)2、主要功能 (2)二、原理、方案、框图及任务分解 (2)1、原理 (2)2、方案 (2)3、框图 (3)4、任务分解 (3)三、关键任务的设计代码及注释 (4)四、调试中出现的问题及解决方案 (8)1、问题一 (8)2、问题二 (8)五、产业化市场分析及预测 (8)六、测试及运行结果 (9)七、参考文献 (11)一、设计任务功能简介1、设计任务自动售货机设计。
利用软件QuartusII软件,使用VHDL语言结合硬件要求对本题目设计功能进行编程,并在完成整个硬件程序设计后,在软件平台上进行编译和电路仿真,最后生成的目标文件下载到DE2-70实验板上实现上述所有功能并验证程序的可行性。
2、主要功能本设计主要实现的功能为:货物信息存储功能、商品选择功能、输入钱数处理功能、货架商品更换功能、语音提示功能、信息显示等功能。
二、原理、方案、框图及任务分解1、原理自动售货机(Vending Machine,VEM)是能根据投入的钱币自动付货的机器。
自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。
是一种全新的商业零售形式,又被称为24小时营业的微型超市。
能分为三种:饮料自动售货机、食品自动售货机、综合自动售货机。
自动售货机是台机电一体化的自动化装置,在接受到货币已输入的前提下,靠触摸控制按扭输入信号使控制器启动相关位置的机械装置完成规定动作,将货物输出。
2、方案根据题目要求机器设有2个投币孔,机器可以接受1元和5元的纸币,分别有八种商品,价格分别为1元,4元,2元,3元,6元,7元,5元,8元,机器采用拨码开关模拟机器的复位键、确认购买键和商品选择,并且通过开发板上的LED等分别显示购买的不同情况,数码管实时显示购买金额,包括投入的价钱,找零的价钱。
EDA课程设计模板
《EDA技术》课程设计报告项目名称:自动售货机控制系统设计所在院系:物理与机电工程学院专业班级: 2011级应用电子技术教育组员:黄瑞 1150740005杨雪林 1150740006罗凤丹 1150740003王晓燕 1150740001自动售货机控制系统设计一、设计要求设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。
(1)用3个键表示3种钱,再用3个键表示3种物品。
(2)用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。
(3)买东西时,先输入钱,用数码管显示钱数,再按物品键,若输入的钱数大于物品的价格,用数码管显示所找的钱数,并用发光二极管表示购买成功。
(4)若输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表示购买失败。
二、设计思路数字系统一般采用自顶向下的层次化设计方法,在Quartus II中可以利用层次化设计来实现自顶向下的设计。
在电路的具体实现时,一般先组建低层设计,然后再进行顶层设计。
1、该系统能完成货物信息存储,进程控制,硬币处理,余额计算,显示等功能。
2、该系统可以管理四种货物,每种的数量和单价在初始化时输入,在存储器中存储。
用户可以用硬币进行购物,按键进行选择。
3、系统根据用户输入的货币,判断钱币是否够,钱币足够则根据顾客的要求自动售货,钱币不够则给出提示并退出。
4、系统自动的计算出应找钱币余额、库存数量并显示。
5、系统以FPGA器件为处理数据和控制核心。
三、设计原理1、系统设计方案根据系统要求,系统的组成框图如图1所示。
图1 系统组成框图系统按功能可分为分频模块、控制模块和译码输出模块。
(1)分频模块的作用是获得周期较长的时钟信号,便于操作,且不会产生按键抖动的现象。
其原理是定义两个中间信号Q、DIV_CLK,Q在外部时钟CLK的控制下循环计数,每当计数到一个设定的值时DIV_CLK的值翻转,最后将DIV_CLK赋给NEW_CLK即可,改变设定值可改变分频的大小。
EDA实验报告---自动售货机
自动售货机的设计一.实验内容:本自动售货机系统,结合EDA技术,采用ALTERA公司可编程逻辑器件(CPLD)EPM7128SLC84-15芯片作为控制核心,再配以必要的外围电路从而实现只销售两种饮料,售价均为15元,可以找零和退币等功能的EDA应用系统。
芯片的设计是以MAX_PLUS II 作为开发平台,VHDL语言作为开发语言,使用掌宇公司CIC_310 CPLD/FPGA数字开发系统完成软件测试。
自己制作下载板与外围电路。
二.实验分析:本自动售货机只销售两种罐装饮料。
售价均为15元。
顾客可以由两个不同投币孔分别投入3个5元硬币或2个10元硬币。
一次交易只能买一罐,且自动找零。
只要按下取消键就会马上无条件退币。
本设计的硬件电路用2个按键电路代替2个投币孔,以LED点亮的数量显示各币种的投入数量,在以4Hz闪烁的LED来显示退币种类与数量。
因为投币是计次电路,应先经过抖动消除电路处理。
本设计采用1000Hz的系统时钟信号来控制所有买卖行为。
系统中设计的复位键为管理人员所用,并未在用户界面中设计。
三.系统设计流程图:四.自动售货机外观图:(为指示灯)五.电路原理图六.PCB图:根据PROTEL99画的系统原理图,成生PCB图。
然后进行布局与布线。
注意:布线时将晶振这种易产生噪声的器件的输出端与芯片时钟输入端的连线尽量布为直线;将电源与地线的宽度定为30mil到100mil之间。
本系统的电流不是很大,所以不用将板子的两面分别布成电源与地。
七.系统实物图:八.软件系统框图九.源程序:1.产生系统频率和退币信号电路首先要根据硬件电路的晶振频率确定分频系数,先产生系统频率,在进一步分频产生退币信号。
由于掌宇公司的开发系统上的晶振频率为20MHz,所以要分频系数分别为20000(COUNT)和250(COUNT1)。
(注:由于在自制的下载板上使用了1MHz的有源晶振,所以把程序中的COUNT的范围改为0到1000即可。
EDA课程设计心得自动售货机控制系统【模版】
《电子设计自动化(EDA)技术》课程设计报告题目: 自动售货机控制系统姓名:院系:专业:学号:指导教师:完成时间: 年月日一、课程设计题目、内容与要求………………………………………1、设计题目……………………………………………………………2、具体要求……………………………………………………………二、系统设计……………………………………………………………1、设计思路…………………………………………………………2 、系统原理(包含:框图等阐述)与设计说明等内容三、系统实现……………………………………………………………注:此部分阐述具体实现,包含主要逻辑单元、模块、源代码等内容四、系统仿真…………………………………………………………五、硬件验证(操作)说明………………………………………………六、总结………………………………………………………………七、参考书目…………………………………………………………一、课程设计题目、内容与要求1、设计题目自动售货机控制系统2、具体要求设计一个模拟自动售货机的逻辑控制电路1、它有两个投币口分别为一元投币口和五角投币口。
2、每次只能投入一枚一元或五角硬币。
3、投入一元五角硬币后机器自动给出一瓶矿泉水。
4、投入两元硬币后,在给出一瓶矿泉水的同时找回一枚五角的硬币二、系统设计1、设计思路根据设计要求可以对售货机的基本功能进行确定。
它应该能够区分一元和五角硬币,并且能够对投入的货币进行累加。
当所投币值达到商品售价。
就自动送出商品。
因为题目要求只有一种商品并且其售价为一元五。
根据这一特殊点可设计方案如下:用两个开关分别模拟投入一元和五角硬币时产生的信号,高电平有效。
用两颗LED分别模拟售出商品和找钱信号,灯亮有效。
具体功能实现如下:1、连续两次将IN-YUAN置1,则OUT灯会亮,且ZHAOQIAN也会亮。
表示买一元五的矿泉水,投了两元钱,则售出商品,找回五角零钱。
2、连续三次将IN-JIAO置1,则OUT灯会亮,而ZHAOJIAN不会亮。
EDA课程设计自动售货机
input [2:0] m。
output [6:0]led_money_b,led_price_b,led_goods。
output [7:0]led_money_a,led_price_a。
output led_warn。
reg f_500。//分频时钟
封面
作者:PanHongliang
仅供个人学习
二、课程设计目地……………………………………………………2
二、课程设计题目描述和要求…………………………………………2
三、课程设计报告内容…………………………………………………2
3.1、设计原理、方案论证…………………………………………2
3.2、设计过程……………………………………………………2
转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。
Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.
[3] 梁瑞宇 编写《FPGA设计实验指导书(Verilog HDL)》
毕业论文自动售货机控制系统的设计与仿真
毕业设计说明书自动售货机控制系统的设计与仿真摘要随着社会的进步,科学的发展,生活水平的提高,单一传统的生活方式已经不能满足现代居民对高品质生活的追求,在这种现象下,许多自动化设备应时代应潮流而生。
自动售货机作为自动化设备中的最常见的设备之一,由于其众多的优点,已经在世界各地得到了普遍的发展并且还在不断地发展。
自动售货机掀起了继百货商店和超市之后的又一零售狂潮,这种智能售货系统在车站、教学楼、办公楼等公共场所有着广阔的发展前景。
本文在对自动售货机的背景历史和发展趋势进行了研究介绍之后,对课题中的自动售货机系统进行了整体的设计及规划。
该自动售货机控制系统是基于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年代,出售香烟的自动售货机就在美国被研制出来了,此后,各类自动售货机也相继被研究出来。
基于EDA的自动售货机设计
基于EDA的自动售货机设计自动售货机是一种现代化的售货方式,通过使用电子技术和自动化技术,实现了商品的自动销售和支付,不需要人工操作。
近年来,随着人们生活水平的提高和对便利性的需求增加,自动售货机得到了广泛应用。
本文将基于EDA(工程设计分析)原理分析自动售货机的设计。
首先,自动售货机的设计需要考虑产品的可靠性和安全性。
在电子设备的设计中,可靠性是非常重要的一项指标。
因此,在设计自动售货机时,需要选择高质量的电子元件和可靠的电路设计。
此外,还需要考虑到售货机的防护措施,如防水、防火和防盗等,以确保产品的安全性。
其次,自动售货机的设计还需要考虑用户体验。
一个良好的用户体验将增加用户对产品的满意度和使用率。
因此,在设计自动售货机时,要考虑到用户的视觉、听觉和触觉等感官体验,提供简洁明了的界面和操作方式。
同时,还要设计合理的空间布局,使得用户能够方便地选择商品和完成支付。
另外,自动售货机的设计还需要兼顾经济性和环境友好性。
在选用材料时,要选择成本合理、耐用和易于维修的材料。
在节能和环保方面,要考虑到自动售货机的能耗和废物处理,选择节能设备和环保材料,减少对环境的影响。
此外,自动售货机的设计还需要兼顾后期维护和管理的便利性。
自动售货机使用过程中,可能会出现商品缺货、设备故障等情况,因此,设计应考虑到便于人工维修和设备管理。
可以采用远程监控和故障自诊断技术,及时了解设备状态和故障信息,减少人工维修的成本和工作量。
在自动售货机的设计过程中,可以采用EDA原理进行工程设计分析。
EDA是通过计算机技术和计算模型对工程设计进行仿真和优化的方法。
可以通过建立模型,进行电路和电子元件的选择和优化,以提高整体性能和可靠性。
此外,还可以使用EDA工具进行电子电路的设计和分析,帮助工程师更好地完成整体设计。
综上所述,基于EDA的自动售货机设计需要考虑到可靠性、安全性、用户体验、经济性、环境友好性和后期维护管理的便利性。
通过合理的工程设计分析和EDA工具的辅助,可以提高自动售货机的设计质量和成本效益。
eda课程设计自动售货机的设计
e d a课程设计自动售货机的设计(共14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--电子信息科学与技术专业课程设计任务书一.设计说明根据要求可自动出售两种货物,本文设计的自动售货机可销售cola 和 pepsi 两种饮料:售货机可识别1元和元的两种货币,在一次购买过程中,可购买一个或多个商品,系统会自动计算所需钱数和找零的钱数并自动找零。
另外有3个发光二极管、6个LCD数码管:两个用来显示所需金额,两个用来显示已付金额,两个用来显示找零数。
流程说明本文设计的自动售货机当通电时,表示一次销售的开始。
顾客选择一种商品或多种商品后就进入投币状态。
若不投币,则自动返回初始状态。
投币后,系统自动计算所投钱数。
若投币够,则出货并找零。
若投币不够,如果顾客没有继续投币,则退币并回到初始状态。
本系统的投币销售流程图如图所示:各模块说明本文设计的自动售货机总体分三个模块:总控模块,二进制译码模块、BCD码译码模块。
总控模块:总控模块是本系统最重要的模块,该模块大体有5个输入端口和6个输出端口。
其输入端口包括clk、coin1(投入一元货币)、coin5(投入元货币)、cola(选择cola)、pepsi(选择pepsi),输出端口有paid(已投入多少钱)、needed(还需多少钱)moneyout(找零)、success(灯亮表示交易成功)、failure(灯亮表示交易失败)、showmoneyout(灯亮表示正在找零)。
该模块实现了本系统最重要的交易过程,包括选择商品、投入货币,计算剩余金额,找零出货等。
二进制译码模块:该模块有一个输入端口和两个输出端口。
输入端口是一个8位的二进制数输出端口bcd0、bcd1是两个4位的BCD码。
该模块的主要的功能是实现将主控模块输出的二进制数(paid、needed、moneyout)转换成BCD码,以便输出到七段数码管上显示出来。
EDA课程设计报告(自动售货机)
E D A课程设计报告(自动售货机)-CAL-FENGHAI.-(YICAI)-Company One1EDA(Verilog)课程设计报告——自动售货机摘要本设计是以现场可编程逻辑器件(FPGA)为核心的自动售货机,利用QuartusⅡ软件编写verilog HDL硬件描述语言程序以实现自动售货功能。
本设计主要以程序为主,硬件方面则使用实验箱(芯片Cyclone II—EP2C35F672C8,基于MagicSOPC创新教学实验开发平台),将程序各变量端口与实验箱管脚进行相应的配置,用八个开关分别代表商品价格、所投钱币价格及确认付款找零操作。
当选择好商品并投币后,数码管显示所选商品价格及投入钱币价格;按下确认付款开关,数码管显示应找多少钱,若交易成功,则对应商品LED灯亮,同时步进电机转动将商品送出。
若所投钱币小于所选商品价格,此时交易不成功,同时对应警告的LED灯亮。
目录前言第一章系统设计1.1 系统设计1.2 总体设计1.3 方案设计第二章详细设计2.1 自动售货机状态描述2.2 详细状态描述2.2.1 初始状态2.2.2 选商品状态2.2.3 投币状态2.2.4 找零状态第三章软件设计3.1 程序总流程图3.2 verilog HDL源程序第四章结果与讨论4.1 实验调试4.1.1 调试步骤4.1.2 实验现象4.2 结果与分析第五章心得体会参考文献附录前言EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
Verilog HDL是众多EDA软件中的一个,结合我们这学期所学课程,本次设计采用的是Verilog公司推出的Verilog硬件描述语言,目的是为了将我们所学应用到实际生活中,同时加深我们对Verilog硬件描述语言,FPGA 芯片等等的认识与掌握。
自动售货机的设计及仿真
自动售货机的设计及仿真任务和要求:自动售货机可销售橡皮(0.5元)、铅笔(1元)、直尺(1.5元)、记录本(2元)4种商品,数量无限。
只能投入1元或5角硬币,当投入的币值等于或大于商品的价钱且确认购买时,两个输出口分别输出购买的商品和找零,当投币后取消购买,退回投入的硬币,假设零币无限。
顾客一次只能购买一种商品的一个,若需要更多商品,需要重复操作。
1)基本功能:商品选择;投币购买;出货、找零、退钱。
2)显示功能:有两个LED数码管显示已经投入的币值或找零数系统总体设计:基本功能模块:商品选择模块;投币处理模块;、出货、找零、退钱模块。
自动售货机控制系统共含4个状态:初始状态、投币状态、出货及找零、退钱状态。
1)初始状态(selegoods):表示一次投币销售过程的开始,此状态期间,可选择商品,不允许投币。
2)投币状态(incoins):计算并记录投入总币值,此状态期间,允许投币,不允许选择商品。
3)出售及找零状态(outgoods_coin):根据选择商品的价格及投入的总币值,决定是否出货及找零。
4)退钱状态(back_coin):投币后取消购买,退回投入的硬币。
状态转换图如下表示:商品选择模块:功能:选择一种商品获得此商品的价格。
商品选择模块的元件图符商品选择模块的VHDL描述。
注意:为了直观显示商品的价格,价格选择integer,进行功能仿真时,选择价格为unsigneddecimal 类型。
功能仿真波形及说明:说明:当en=1时,选择eraser,此商品的价格为5角,price=5。
当en=0时,商品选择模块禁止工作,price保持不变。
•投币处理模块计算并记录投入的总币值。
投币处理模块的VHDL描述:为了直观显示投入总币值,总币值total选择integer,进行功能仿真时,选择total为unsigned decimal 类型。
功能仿真及说明:说明:当en=1时,投入一枚5角、一枚一元、一枚5角硬币,总币值为20即2元。
基于eda的课程设计自动售货机控制设计
目录1 引言 (1)2 EDA简介 (2)2.1 EDA技术含义 (2)2.2 EDA技术相关概念 (2)2.2.1 “自顶向下”的设计方法 (2)2.2.2 硬件描述语言 (2)2.2.3 系统框架结构 (3)2.3 EDA技术的基本特征 (3)3 Quartus II (4)3.1 Quartus II简介 (4)3.2 Quartus II特点 (4)4 自动售货机的设计 (6)4.1 自动售货机设计原理 (6)4.1.1 状态机原理分析 (6)4.1.2 状态转移图 (6)4.1.3 仿真图分析 (6)4.1.4 硬件封装图 (8)5 总结 (9)参考文献 (10)附录 (11)1 引言随着生活节奏的不断加快,自动化已经成为人们日常生活之中不可缺少的组成部分。
自动柜员机,自动售货机机,自助缴费终端等以成为人们所喜爱的方式。
本文所设计的简易自动售货机,再接收到货币已输入的前提下,靠触摸控制按钮输入信号使控制器启动相关位置的机械装置完成规定动作,将货物输出。
通过数码管显示商品的的价格、顾客已投币数以及找零,如果投入的币额足够时,则自动送出商品,并且把多余的钱找回,在数码管上显示出来。
如果两者币的相等,则直接送出商品。
如果投入的币额不足时则报警,报警时间3秒。
当顾客一旦按下确认键3秒后,自动售货机将自动恢复到初始状态,此时顾客才可以进行下一次购货操作。
另外设置一复位按钮,当复位按钮按下时,自动售货机回到初始状态。
此售货机还有商家控制的整体复位功能。
该售货机使用方便,结构简单,灵活通用等优点,因此在销售业,食品产业得到广泛的应用。
因此,我在本次课程设计中选择了自动售货机这个课题。
以Quartus为开发软件,以FPGA为硬件载体,设计并实现了自动售货机。
2 EDA简介2.1 EDA技术含义EDA是电子设计自动化(Electronic Design Automation)的缩写,EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA课程设计自动售货机
EDA课程设计自动售货机一、教学目标本课程旨在通过学习自动售货机的EDA(电子设计自动化)课程设计,让学生掌握自动售货机的基本工作原理,了解其硬件和软件的设计与实现,培养学生的实际工程能力和创新意识。
知识目标:使学生了解自动售货机的基本组成、工作原理和相关电子技术;掌握自动售货机的硬件设计与软件编程方法。
技能目标:培养学生运用EDA工具进行自动售货机系统设计与仿真能力;培养学生解决实际工程问题的能力,提高学生的创新意识和团队协作能力。
情感态度价值观目标:培养学生对自动售货机及相关技术的兴趣,激发学生创新精神和实践能力;培养学生具备良好的职业道德,使其成为具有社会责任感的工程技术人才。
二、教学内容本课程的教学内容主要包括自动售货机的基本原理、硬件设计与软件编程。
1.自动售货机的基本原理:介绍自动售货机的工作原理、结构及其功能。
2.硬件设计与实现:讲解自动售货机的硬件系统设计,包括控制器、传感器、执行器等硬件组件的选择、连接与调试。
3.软件编程:介绍自动售货机软件系统的架构与设计,讲解控制算法、人机界面设计等软件方面的内容。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。
1.讲授法:通过讲解自动售货机的基本原理、硬件设计与软件编程的相关知识,使学生掌握基本概念和理论。
2.案例分析法:分析实际自动售货机的案例,使学生了解自动售货机在实际工程中的应用和设计要点。
3.实验法:安排实验室实践环节,让学生动手搭建自动售货机硬件系统,编写软件程序,验证设计方案的可行性。
4.小组讨论法:学生分组讨论,培养学生的团队协作能力和解决问题的能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习资料。
2.参考书:推荐相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作课件、教学视频等多媒体资料,提高课堂教学质量。
4.实验设备:准备自动售货机的实验设备,包括控制器、传感器、执行器等硬件组件,以及相应的调试工具。
自动售货机的EDA实现设计
《数电课程设计报告》题目:自动售货机的EDA实现设计学院:信息科学与工程学院专业班级:电子信息科学与技术08-1学生姓名:何伟伟组员:指导教师:张秀娟目录摘要 (3)一、自动售货机的系统结构 (4)1.1自动售货机的系统结构 (4)1.2自动售货实现的设计要求 (5)二、自动售货机的功能介绍 (5)2.1此次设计的自动售货机的功能简介 (5)2.2实现自动售货机的功能的设计思路 (6)三、分步模块设计及波形辅助分析 (6)3.1Verilog语言简介 (6)3.2程序变量名称解释 (6)3.3商家整体复位模块及分析 (6)3.4顾客货品选择模拟以及显示模块及分析 (8)3.5顾客货币选择以及显示模块及分析 (9)3.6投入货币不足引起警告准备找零显示模块及分析 (10)3.7货物送出及商家卖货额累加显示模块及分析 (10)3.8警告3s或者是按键3s后自动复位准备模块及分析 (11)四、设计仿真 (11)4.1Modelsim简介 (11)4.2完整的程序代码 (12)五、附录 (17)六、参考文献 (19)摘要随着经济发展,21世纪进入信息化,为更好的实现人们生活水平的提高,生活更好、更便捷、更经济已经成为人们追求的对象。
然而小型自动售货机就是在这样的时代背景下产生的,由于它的操作方便简洁等优越性能很好的符合人们需求,故它很快形成了自己市场,并日益扩大。
本文也是基于这个背景下,和读者一起探讨,本文详细介绍了自动售货机系统的方案设计、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧,主要实现自动售货机的功能。
该系统以Verilog编程为核心,以Modelsim软件为辅助,程序结构分模块设计,故结构清晰,加上仿真器仿真结果最大程度说明问题,符合课程设计要求,并加以解释与说明。
另外,用Verilog编程时.v重要,_tb.v也重要,仿真结果只能根据波形图来说明问题,经过多次努力,测试文件已经相当成熟,很好的满足了设计要求,,.v文件穿插文中配合讲解的需要,_tb.v(测试文件)在附录中给出,以供查阅。
EDA自动售货机设计
摘要人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产品的进步。
现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。
自动售货是20世纪70年代在日本、欧美发展起来的一种全新的消费方式,自动售货机又被称为24小时营业的微型自助超市,它的售货领域非常广泛,是发达国家商品零售的一种主要方式。
本设计要实现自动售货机的基本功能,如投币处理、商品选择、购货撤销、异常退币、计算存货等功能。
采用VHDL硬件描述语言编程的设计方法设计系统核心电路的硬件程序,与一般的软件开发不同,VHDL编程更需要熟悉一些底层的硬件知识,特别是数字逻辑电路的设计,因此VHDL编程的方法、思路都要更多的与硬件电路联系起来。
完成系统各个功能模块的硬件程序设计后,在软件平台上进行编译和电路仿真,最后生成的目标文件下载到实验台内的FPGA芯片以实现该系统,并在实验台上对设计进行验证。
关键字:自动售货机;VHDL编程;编译;电路仿真AbstractHuman society has entered into a highly developed information community, social development of information on electronic products progress. the modern electronic products in the performance, the increased complexity of the same time, the price has been a downward trend, and the pace of product faster and faster, the realization of this progress is that of manufacturing technology and electronic design of technology.The coin is in the 70s of 20th century in japan, and develop a new and vending machine is called open 24 hours in the cafeteria, it is very widespread area of sale in retail in the developed countries, is a major way. this is designed to enable automatic machines in the basic functionality, such as a coin, choose and purchases of goods, money is retired, stock and functions. Complete system of the various functional modules of hardware, software design process in the compilation and circuit emulation, the target file download to the test stand in the chip to implement the system fpga, and on the stage of design validation.Keywords:Vending machine;Vhdl programming;Compilation;Circuit simulation目录引言 ........................................................... - 3 - 1 EDA技术简介................................................. - 10 -1.1 EDA技术的发展概况 ..................................... - 10 -1.2 EDA技术的基本特征 ..................................... - 10 -1.2.1“自顶向下”的设计方法 ............................ - 11 -1.2.2高层次设计........................................ - 11 - 2工作原理..................................................... - 11 -2. 1任务概述 .............................................. - 11 -2.2系统设计- 12 -2.3系统组成方框图 ......................................... - 12 -2.4工作过程 ............................................... - 12 - 3设计方案..................................................... - 13 -3.1自动售货机VHDL程序 .................................... - 13 -3.2各功能部件系统仿真图 ................................... - 16 - 结论 ........................................................ - 19 - 参考文献 ...................................................... - 20 -引言自动售货机能够根据投入钱币自动收货的机器,是商业自动化的常用设备。
自动售货机电路EDA课程设计
***设计要求:1、待售物品价钱1元、2元、3元、五元;2、只同意1元、5元、10元币值;3、机内存有1元零钱无穷;4、投入钱币之前以为售货机为空闲状态;投入钱币后需要按下物品标签吐出商品;5、自动找零。
EDA课程设计题目_____自动售货机电路_________院(系)电子工程与电气自动化学院专业电子信息工程学生姓名XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX学号XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX指导教师XXX 职称讲师完成日期:2021年6月18日自动售货机电路摘要自动售货机(Vending Machine,VEM)是能依照投入的钱币自动付货的机械。
自动售货机是商业自动化的经常使用设备,它不受时刻、地址的限制,能节省人力、方便交易。
是一种全新的商业零售形式,又被称为24小时营业的微型超市。
能分为三种:饮料自动售货机、食物自动售货机、综合自动售货机。
从自动售货机的进展趋势来看,它的显现是由于劳动密集型的产业构造向技术密集型社会转变的产物。
大量生产、大量消费和消费模式和销售环境的转变,要求显现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性和购物的便利性等这些因素的制约,无人自动售货机作为一种必需的机械便应运而生了。
而自动售货机电路是自动售货机的基础,一个好的自动售货机电路能够让自动售货机更好的提高工作效率,而且在那个以节约能源为主题的社会,有效的工作电路能够加倍有效的节约能源,更好地增进资源节约型和环境友好型社会进展。
从而自动售货机也将进一步向能源节约和智能化的方向进展。
关键词:自动售货机;电路;节约型社会The vending machine circuitAbstractThe vending machine is automatic delivery can invest the money according to the machine. The vending machine is a commonly used commercial automation equipment, it is not affected by time, place restrictions, can save manpower, convenient transactions. Is a new form of retail business, also known as the 24 - hour Mini supermarket.Can be divided into three types: drink vending machine, food vending machines, automatic vending machine.From the development trend of the vending machine, itis due to the emergence of labor-intensive industrial structure to the product technology intensive social change. Changes in mass production, mass consumption andconsumption patterns and sales environment, requirementsfor the emergence of new distribution channels; and t he relative supermarket, department store shopping center, new distribution channels, labor costs are rising; in addition, restricting the shopping convenience factors such as the limitation on site, vending as a necessary machine will emerge as the times require.And the vending machine circuit is the basis of the vending machine, a good automatic vending machine circuit allows the vending machine can increase the workefficiency, but also in the theme of energy conservation society, work efficient circuit can effectively save energy, promote resource-saving and environment-friendly society development. In order to promote the vending machines will also be further saving resources and energy and high functional direction.Key Wor ds:ventor;circuit;conservation-orientedsociety目录摘要 (1)引言 (4)一.自动售货机电路工作原理 (5)1.投币模块 (6)2.选择商品模块 (6)3.找零提取商品模块 (6)二.基于Quartus设计的自动售货机电路相应模块 (7)1.Quartus设计投币模块 (7)2.Quartus设计选择商品模块 (9)3.Quartus设计找零提取商品模块 (11)三.自动售货机整体电路 (14)1.自动售货机电路原理图 (15)2.自动售货机电路波形 (15)3.自动售货机电路相应功能及原理介绍 (17)引言自动售货机(Vending Machine)起源于公元前215年的古埃及,那时用于人们在神庙里用金币购买圣水。
EDA设计的自动售饮料机[当文网提供]
前言随着电子技术和计算机技术的飞速发展,电子线路的设计工作也日益显得重要。
经过人工设计、制作实验板、调试再修改的多次循环才定型的传统产品设计方法必然被计算机辅助设计所取代,因为这种费时费力又费资源的设计调试方法既增加了产品开发的成本,又受到实验工作场地及仪器设备的限制。
为了克服上述困难,加拿大Interactive Image Technologies公司推出的基于Windows 95/98/NT操作系统的EDA软件。
他可以将不同类型的电路组合成混合电路进行仿真。
此外,从另一角度来看,随着计算机技术和集成电路技术的发展,现代电子与电工设计,已经步入了电子设计自动化(EDA)的时代,采用虚拟仿真的手段对电子产品进行前期工作的调试,已成为一种发展的必然趋势。
通过对实际电子线路的仿真分析,从而提高对电路的分析、设计和创新能力。
数字集成电路本身在不断地进行更新换代。
它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。
但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。
系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。
FPGA(现场可编程门阵列)与 CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL,GAL等逻辑器件的基础之上发展起来的。
同以往的PAL,GAL等相比较,FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。
这样的FPGA/CPLD实际上就是一个子系统部件。
本次EDA课程设计就是利用VerilogHDL来设计基于ACEX1K30TC144-3型号的FPGA来设计一个自动售货机,机器设有2个投币孔,可以接受一元和五角的硬币,每瓶饮料2.5元,可用2个按键来代替。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 绪论自动售货机是能根据投入的钱币自动给出客人所选货物的机器,它是一种常用的商业自动化设备,它不受时间,地点的限制,可以节省人力,简化交易。
自动售货机在当今被普遍地应用在各大现代化都市的街道及便利店中,正逐渐地成为商业自动化的代表性设备。
它能够在无人操作的情况下根据程序自动地销售商品。
自动售货机不受工作时间及地点限制的特点,使其实现了一种提高营业额的同时又降低了成本的销售模式。
现在,自动售货机产业正在走向信息化并进一步实现合理化。
例如实行联机方式,通过电话线路将自动售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商品的发送,补充以及商品选定的顺利进行。
并且,为防止地球暖化,自动售货机的开发致力于能源的节省,节能型清凉饮料自动售货机成为该行业的主流。
在夏季电力消费高峰时,这种机型的自动售货机即使在关掉冷却器的状况下也能保持低温,与以往的自动售货机相比,它能够节约 10-15%的电力。
进入21世纪时,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。
从自动售货机的发展趋势来看,大量生产,大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道,而相对的超市,百货购物中心等新的流通渠道的产生,人工费用也不断上升,在加上场地的局限性和购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器也就有了其相当可观的前景。
因此,使用VHDL语言,通过QuartusⅡ软件编写自动售货机的控制程序也就变得非常有必要。
2 课程设计实验要求2.1 初始条件设计一个自动售货机控制系统,具有投币和选择商品等功能。
可出售四种商品,分别为纯净水(1.5元)、牛奶(2元)、果汁(2.5元)、可乐(3元)。
在购买过程中,采取投币方式,只能投入0.5元和1元两种规格的硬币,且一次只能投入一枚硬币。
2.2 要求完成的主要任务顾客投币后,按一次确认键,判断投币额是否足够,若投币额足够则根据顾客的要求自动售货,若投币额不够则报警3s并退出。
顾客通过按键选择某种商品后,由数码管显示该商品价格。
顾客投币过程中,数码管显示投币额。
售货机还具有供商家使用的累加卖货额的功能,由数码管显示累加的售出金额。
广泛调研,提出几种可行的方案,多方论证,确定设计方案。
在EDA软件上完成设计和仿真。
按规定格式完成报告书。
参考文献不少于5篇,其中期刊文献不少于2篇。
3 程序设计思路3.1 方案论证及选择方案一:通过一步一步的process,按顺序将程序运行下去,并且用while loop语句实现对售出金额的累加,完成目标要求。
程序通俗易懂,按照大体的思路可以很容易的编出来,但过程有些繁琐,并且在仿真过程中无法正确的仿真出结果。
方案二:通过VHDL的状态机以及CASE语句进行编程,用6个状态分别表示商品选择、投币额累加、找零售货以及总销售额的累加等功能。
程序编起来需要对整体有较好的理解,各个状态的切换与跳转要思路清晰,不过在仿真过程中运行成功,且程序分为多个状态,看起来比较清晰。
经比较,方案二更能较好的完成对实验目标的实验,且其仿真正确。
所以选择方案二作为最终的方案。
3.2 系统组成框图根据设计要求,系统的组成框图如下图3-1所示。
时钟按键显示图3-1 系统的组成框图由图3-1可知,该系统主要由分频、控制、译码和显示四个部分构成。
当有人需要购买物品时,首先选择所要购买的物品,这时,前两个数码显示管选中商品的单价。
之后顾客投币进行购买,后两个数码显示管显示总共投入了多少钱。
当按下确认键时,将在系统内部进行比较,比较单价和所投入的金额。
若投币金额大于或等于该商品单价时,系统显示成功售出该商品并进行找零,即投币金额与商品单价的差值,然后将售出总额加上这次的物品单价。
若投币金额小于该商品单价时,系统显示购买失败,在几秒钟的延迟后退换投币金额,售出总额不变。
无论哪种情况,完成后回到初始状态。
3.3 程序流程图4 系统程序及各模块说明4.1 主控模块Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sellingmachine isport( clk: in std_logic;set: in std_logiccoin5:in std_logic;coin10:in std_logic;water:in std_logic;milk:in std_logic;juice:in std_logic;cola:in std_logic;paid:out std_logic_vector(6 downto 0);needed:out std_logic_vector(6 downto 0);success:out std_logic;failure:out std_logic;showchange:out std_logic;change:out std_logic_vector(6 downto 0);sum:buffer std_logic_vector(6 downto 0));end sellingmachine;architecture behav of sellingmachine is --结构体type state_type is (qa,qb,qc,qg,qd,qf);--定义七个状态(结构体内定义的信号为内部信号,只在结构体内部起作用)signal current_state :state_type:=qa;signal q:integer range 0 to 100;beginprocess(clk) --括号内为敏感信号variable paidtemp:std_logic_vector(6 downto 0);variable neededtemp: std_logic_vector(6 downto 0);variable backmoney: std_logic_vector(6 downto 0);variable pricetemp:std_logic_vector(6 downto 0);variable sumtemp:std_logic_vector(6downto 0);beginif clk'event and clk='1' then --若上升沿到来时就进行以下判断,该进入那个状态case current_state iswhen qa =>paidtemp:="0000000";neededtemp:="0000000"; --进入初态backmoney:="0000000";pricetemp:="0000000";sumtemp:="0000000";q<=0;--q为延时showchange<='0';change<="0000000";paid<="0000000";needed<="0000000";failure<='0';success<='0';if water='1' or milk='1' or juice='1' or cola='1' then --有选择商品的信号if water='1' then pricetemp:=pricetemp+15;elsif milk='1' then pricetemp:=pricetemp+20;elsif juice='1' then pricetemp:=pricetemp+25;else pricetemp:=pricetemp+30;end if;neededtemp:=pricetemp;needed<=neededtemp;paid<=paidtemp;current_state<=qb;end if;if set='1' then paid<=sum;end if;when qb =>if coin5='0' or coin10='0'then --投币状态if coin5='0' then paidtemp:=paidtemp+5; --当有投币动作时else paidtemp:=paidtemp+10;end if;neededtemp:=pricetemp-paidtemp;backmoney:="0000000";--不够则进入继续投币状态qc paid<=paidtemp;needed<=neededtemp;current_state<=qc;q<=0;end if;if coin5/='0' and coin10/='0' then --若无投币动作则进入延时状态qfif q<3 then q<=q+1;else current_state<=qf;end if;else q<=0;end if;when qc => if coin5='0' or coin10='0'then --若又有投币动作,则累计if coin5='0'then paidtemp:=paidtemp+5;elsepaidtemp:=paidtemp+10;end if;if paidtemp>=pricetemp then neededtemp:="0000000";--若继续投币足够,则进入出货找零状态qd backmoney:=paidtemp-pricetemp; --若成功则累计paid<=paidtemp;needed<=neededtemp;q<=0;current_state<=qd;else neededtemp:=pricetemp-paidtemp;--若不够则继续执行继续投币状态qc backmoney:="0000000";paid<=paidtemp;needed<=neededtemp;current_state<=qc;end if;end if;if coin5/='0' and coin10/='0' then--若在继续投币状态无投币信号则计时准备进入还币状态qg if q<3 then q<=q+1;else current_state<=qg;end if;else q<=0;end if;when qd=>if q<1 then success<='1';q<=q+1;if backmoney>"0000000" then showchange<='1';change<=backmoney; --若需找钱则找钱灯亮并将钱返还else showchange<='0';end if;sumtemp:=pricetemp;sum<=sum+sumtemp;else current_state<=qa;end if;when qf=> if q<4 then q<=q+1;else current_state<=qa;q<=0;end if;when qg=> failure<='1';--若钱不够或超时未付钱,且再三秒延时后还没有投币则失败showchange<='1';change<=paidtemp;current_state<=qf;q<=0;when others =>current_state<=qa;end case;end if;end process;end behav;该主控模块的集成芯片如图4-1所示:图4-1 主控模块芯片4.2 分频模块该分频模块的频数为50000000,将50HZ转换成50MHZ。