EDA课设自动售货机由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“自动绕线机eda课设”。
基于VHDL自动售货机的设计
摘要
基于FPGA的自动售货机的设计,主要完成的任务是使用VHDl语言,在MAX+PLUSSII上完成电路的设计,程序的编译,基本功能的完善、模拟整个自动售货机的工作过程。电路的设计模块分为几个模块:主控模块、译码模块、顶层模块。各个模块完成不同的任务,合在一起就构成了一个自动售货机。在售货机的设计过程中,使用VHDL语言,根据各个模块的不同功能和它们之间的控制关系进行编写。软件模块直接在MAX+PLUSSII上进行。进入21世纪,随着人们对效率的追求,人工售货已不能不满足人们的需求。对此,自动售货机的设计就用了很大的应用空间和市场。
基于FPGA的自动售货机设计,采用软件开发模块,开发成本底,而且功能设计上有很大的灵活度,需要在软件上进行简单的修该就能实现不同的功能要求,能够满足不同的环境要求。
关键字:自动售货机;FPGA;仿真;VHDL;MAX+PLUSSII
目录
第一章 绪论......................................................................................4 第二章 自动售货机的设计................................................................4 2.1 设计说明.................................................................................4 2.1.1 流程说明.......................................................................4 2.1.2各模块说明....................................................................5 2.1.3各模块的连接.................................................................6 2.2状态之间的转换......................................................................6 第三章 仿真时序图.............................................................................7 3.1主控模块的仿真......................................................................7 谢 辞..............................................................................................10 参考文献............................................................................................11 附录...................................................................................................11
第一章 绪论
随着科技的发展和社会的进步,自动化商业机械有了越来越广泛的的应用,自动售货机作为自动化商业机械的代表被广泛用于公共场所自动售货,给人们的生活带来了极大的方便。特别在发达的国家,自动售货机已经十分普及,自动售货机可售出各种成型包装的小商品,各种袋装,盒装,软瓶装等小商品。因其无需专人值守而可以每天24 小时售货,被称为“无人小超市”。在我国,由于多种原因,自动售货机的市场推广缓慢,随着商品市场的不断繁荣,自动售货机和自动服务设施必将逐步得到广泛的应用。
本文设计研究自动售货机的主要功能模块,主要包括货币处理模块、余额计算模块、显示模块,延时和时控模块。相应的功能有选择货物,多次购买,出货找零。
本文是通过使用VHDL语言,基于KX GW48FPGA芯片,并通过使用MAXPLUSS II软件进行程序设计,模拟仿真,功能验证,以更好的来理解和掌握自动售货机控制系统的工作原理和设计方法,以及学习和掌握基于EDA的电子产品设计方法,进一步加深对VHDL语言以及MAXPLUSS II 软件、FPGA可编程芯片的认识与了解。
FPGA是现场可编程门阵列(Field programmable gates array)的英文简称。是有可编程逻辑模块组成的数字集成电路(IC)。这些逻辑模块之间用可配置的互联资源。设计者可以对这些器件进行编程来完成各种各样的任务
PLD/FPGA是近几年集成电路中发展最快的产品。由于PLD性能的高速发展以及设计人员自身能力的提高,可编程逻辑器件供应商将进一步扩大可编程芯片的领地,将复杂的专用芯片挤向高端和超复杂应用。据IC Insights的数据显示,PLD市场从1999年的29亿美元增长到去年的56亿美元,几乎翻了一番。Matas预计这种高速增长局面以后很难出现,但可编程逻辑器件依然是集成电路中最具活力和前途的产业。
第二章 自动售货机的设计
2.1 设计说明
本文设计的自动售货机可销售cola 和 pepsi两种饮料:售货机可识别1元和0.5元的两种货币,在一次购买过程中,可购买一个或多个商品,系统会自动计算所需钱数和找零的钱数并自动找零。另外有3个发光二极管、6个LCD数码管:两个用来显示所需金额,两个用来显示已付金额,两个用来显示找零数。
2.1.1 流程说明
本文设计的自动售货机当通电时,表示一次销售的开始。顾客选择一种商品或多种商品后就进入投币状态。若不投币,则自动返回初始状态。投币后,系统自动计算所投钱数。若投币够,则出货并找零。若投币不够,如果顾客没有继续投币,则退币并回到初始状态。本系统的投币销售流程图如图1-1所示:
图1-1
2.1.2各模块说明
本文设计的自动售货机总体分三个模块:总控模块,二进制译码模块、BCD码译码模块。
总控模块:总控模块是本系统最重要的模块,该模块大体有5个输入端口和6个输出端口。其输入端口包括clk、coin1(投入一元货币)、coin5(投入0.5元货币)、cola(选择cola)、pepsi(选择pepsi),输出端口有paid(已投入多少钱)、needed(还需多少钱)moneyout(找零)、succe(灯亮表示交易成功)、failure(灯亮表示交易失败)、showmoneyout(灯亮表示正在找零)。该模块实现了本系统最重要的交易过程,包括选择商品、投入货币,计算剩余金额,找零出货等。
二进制译码模块:该模块有一个输入端口和两个输出端口。输入端口是一个8位的二进制数输出端口bcd0、bcd1是两个4位的BCD码。该模块的主要的功能是实现将主控模块输出的二进制数(paid、needed、moneyout)转换成BCD码,以便输出到七段数码管上显示出来。该模块的原理是将一个8位的二进制转换成2个4位的BCD码,分为高四位和低四位。
BCD码译码模块:该模块有一个输入端口和一个输出端口
2.1.3各模块的连接
各模块的连接如图1-2和1-3所示:
图1-2 售货机主控系统和译码器模块图
图1-3 售货机顶层模块
2.2状态之间的转换
本文所设计的自动售货机进程可以分为7个状态:a,b,c,d,e,f,g.a为开始状态,当有商品选择键按下时即进入b状态(投币状态)。当有货币投入,但投币不够时,即进入c状态(继续投币),若投币够了,即进入d状态(出货找零),之后进入f状态(延时)后返回a(状态)。
图1-3状态流程图
第三章 仿真时序图
3.1主控模块的仿真
上图表示顾客选择了pepsi饮料后,且投了2个一元的硬币。Succe为高电平,代表售货机有饮料售出。且余额为0.7
上图表示顾客选择了pepsi饮料后,且投1个一元的硬币和一个0.5元的硬币。failure为高电平,代表售货机无饮料售出。且余额为已投的金额,将钱退还给顾客。.上图表示自动售货机的译码系统,上图表示将8位数字转换成4位BCD码。
2.2BCD码译码的仿真
上图表示自动售货机的译码系统,上图表示将8位数字转换成4位BCD码。
2.3TOP文件的仿真
上图表示顾客选择了pepsi饮料后,且投了2个一元的硬币。Succe为高电平,代表售货机有饮料售出。且余额为0.上图表示顾客选择了pepsi饮料后,且投1个一元的硬币和一个0.5元的硬币。Failure 为高电平,代表售货机无饮料售出。Showout为退币指示灯。.Mout_lcd0和Mout_lcd1,显示退币的金额。Paided _lcd0 和Paided_lcd1 needed _lcd0 和needed_lcd1 分别显示已付金额和还需要的金额数。
第四章 小结
自动售货机系统的设计经过一个星期的设计已经全部完成,能按预期的效果进行多次购买、找零出货、并且在数码管上显示出已投货币的金额、还需金额、找零,同时有指示灯提示交易成功、交易失败、正在找零。在自动售货机系统的3个模块中,最主要的是主控模块,其次的还有二进制译码模块和BCD码译码模块。各模块完成后,将它们组合成完整的自动售货机系统。在设计过程中还需改进的是。本文所用的VHDL语言虽然语法规则与其他计算机高级语言如C语言在很多方面很类似,但它毕竟是硬件描述语言,其本质作用在于描述硬件,因而会受硬件环境的限制。因此,为了达到设计的预期效果,在代码编写前,应做到对硬件电路心中有数,不能一味的追求代码的完美,而应该已实现的硬件电路的性能优劣为标准。
谢 辞
在这里我要感谢我的指导老师
参考文献
(1)潘松,黄继业编著.《EDA技术实用教程 》,2005,科学出版社
(2)徐志军,徐光辉编著.《
CPLD/FPGA的开发与应用 》,电子工业出版社,2001.1(3)http://www.daodoc.component shouhuoji port(clk:in std_logic;
coin1:in std_logic;
coin5:in std_logic;
cola:in std_logic;
pepsi:in std_logic;
paid:out std_logic_vector(7 downto 0);
needed:out std_logic_vector(7 downto 0);
succe:out std_logic;
failure:out std_logic;
showmoneyout:out std_logic;
moneyout:out std_logic_vector(7 downto 0));end component;component code1 port(b:in std_logic_vector(7 downto 0);
bcd0:out std_logic_vector(3 downto 0);
bcd1:out std_logic_vector(3 downto 0));end component;
signal p,n,mo:std_logic_vector(7 downto 0);
--signal s1,s2,s3,s4,s5,s6:std_logic_vector(3 downto 0);begin
u0:shouhuoji--各模块连接
port map(clk=>clk1,coin1=>C1,coin5=>C5,cola=>P1_5,pepsi=>P2, succe=>s,failure=>f,showmoneyout=>showout,paid=>p,needed=>n,moneyout=>mo);u1:code1 port map(b=>p,bcd0=>paid_lcd0,bcd1=>paid_lcd1);u2:code1 port map(b=>n,bcd0=>needed_lcd0,bcd1=>needed_lcd1);u3:code1 port map(b=>mo,bcd0=>Mout_lcd0,bcd1=>Mout_lcd1);
end one;
EDA课程设计报告课题名称:智力竞赛抢答器班级:11电科2班姓名:代维宽学号:201114580207同组人:闻仔逊指导老师:贾默伊任务书一、用VHDL运用层次化设计方法设计一个小型数字系统题目......
摘要:本设计利用通讯领域的前沿技术GPRS网络,采用能够实现远程测控的GPRS模块,以实现自动售货机的远程管理。 关键词:自动售货机;MDB;GPRS;SIM300C引言: 自动售货是20世纪70年代在日......
武汉理工大学《电子线路EDA》课程设计 课程设计任务书学生姓名: - 专业班级:电子科学与技术0903班 指导教师: 李成军 工作单位: 信息工程学院 题 目: 简易电子琴设计 初始条件:QU......
自动售货机信息1101 施敏宇 18号下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型: 自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的......
自动售货机:不容忽视的销售方式如今,自动售货机由于随处可见,似乎被人们所忽视。客观上讲,它是一种起源较早的无店铺销售方式。看似可以和路边电话亭等归为一类的自动售货机,曾帮......