设计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)进行二进制相加(001010),通过 寄存器后返回到加法器实现累加功能。复位键则与寄存器复位清零短 CLRN 相连, 实现复位的功能。 ⑵、比较器模块实现与票价进行比较的功能。 实现方法:该模块设置了 8 个输入口(A0―A7)1 个取票口,4 个输出口。该模块2 将累加的钱币与 2.5 元的票价比较,如果累加金额高于票价则黄灯亮,小于票价则 红灯亮,等于票价则绿灯亮。给取票输入端高电平则会出票。该模块由一片八位比 较器及门电路组成,输入的信号与二进制的票价相比较()。 ⑶、找零模块实现大于票价找零钱的功能。 实现方法:该模块设置了 2 个输入口(zhaoling,H),8 个输出口(E1―E8)。该 模块将在输入金额大于票价及出票之后的时候给予高电平,使在显示器中显示 5。 该模块由两个四位寄存器及少量门电路组成。给 zhaoling 输入口高电平,使寄存器 工作,之后输出所找的零钱(二进制输出),通过数码管显示出来。 ⑷、数字转换模块实现 TTL 二进制―BCD 代码转换的功能。 实现方法:该模块设置了 8 个输入口(S1―S8),和 8 个输出口(C1―C8)。该 模块由 3 个 TTL 二进制―BCD 码转换器及门电路组成。将需要数码管显示的数字 二进制代码输入将输出相应的 BCD 码。即用 4 位二进制数来表示 1 位十进制数中 的 0~9 这 10 个数码。 ⑸、显示器模块实现将在数码管上显示数字的功能。 实现方法:该模块设置了 8 个输入口(A1―A7)输入相应的 BCD 码,7 个输出口 (Y1―Y7)输出相应的使数码管亮的代码及另外 3 个输出口(str1,str2,str3)控 制相应的数码管亮。该模块由 1 个四位二进制计数器和双四选一数据选择器和 1 个 七段译码器及相应门电路组成。将 BCD 码输入进去,通过计数器控制双位四选一 数据选择器的输入端 (00 或 01) 。 s0―s3 通过 00 控制 IC0 的输出, 此时 str2 str1 str0 通过 000 来控制第一个数码管亮,s4―s7 通过 01 控制 IC1 口的输出,此时 str2 str1 str0 通过 001 来控制第二个数码管亮,将选择的输输入到七段译码器中将进行译码 使数码管显示相应数字。 2.各个模块电路图及仿真模型 总体电路图:超过 2.5 元即 3 元时结果如下:3 当正好为 2.5 元时,结果如下:⑴、累加模块4 累加模块仿真结果如下:5 ⑵、比较器模块比较器模块仿真模型:⑶、找零模块6 找零模块仿真结果:⑷、数字转换模块7 数字转换模块仿真结果:⑸、显示器模块8 显示器模块仿真结果:三、设计结论(包括设计过程中出现的问题;对 EDA 课程设计感想、意9 见和建议)经过一周多的课程设计,我受益匪浅,学到了团队合作,提高信息检索能力的 重要性。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理 论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理 解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决, 而在解决的过程当中你会发现自己在飞速的提升。在实验过程中,根据任务书的要 求,查找资料,设计了电路方案,在差额计算模块、投币模块、选票模块,有几种 预想方案,和同组人员仔细分析后确定了一套简单实用的方案。 在课程设计过程中,其中最具有代表性的错误就是累加模块。当信号输入时, 输入信号与寄存器储存信号相加时出现严重的延时问题,后来在老师以及同组同学 的努力下,加入了延时器,解决了这个问题。还有在试验箱进行仿真时,发现显示 数字很不准确,在查阅资料和老师的帮助下,意识到是输入抖动问题,我们在输入 端口加入了防抖动电路,很好的解决了这个问题。 在进行硬件方面测试的过程中,也遇到了一些问题,在进行数据累加的过程 中,数据很不稳定,我们在摁键处加入了防抖动电路,便解决了这一问题。 对设计的建议: ⑴课程设计是理论与实际相结合的应用,对我们的学习帮助很大,让我们更好的掌 握所学知识,希望以后能更多的开展这样的活动,让我们有更多的机会运用所学的 知识。 ⑵实际电路中,有些模块在模拟软件中无法进行模拟仿真,这让我们对自己设计的 电路的可用性有些疑惑,希望学校能给我们提供能让我们进行实际仿真的实验室, 让我们能更加完善自己的电路。 同时在整个 EDA 的设计中,老师给予了无私的,耐心的教导,在此感谢老师 的教诲,愿老师工作顺利,身体健康。10
更多搜索:
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。自动售货机的EDA实现设计_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
自动售货机的EDA实现设计
&&自动售货机的EDA实现设计
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩16页未读,
定制HR最喜欢的简历
你可能喜欢说出来你可能不信,王二正在被信息怪追杀,没错,就是那……
OLED在显示行业的热度还没达到顶峰,Micro LED就出来&ld……
要说最近半导体行业的巨人战争,当属博通费尽心机收购高……
有人说LoRa是NB-IoT的竞争技术,其实我们认为它们是一种……
试想这样的一个情景,你将一枚鸡蛋、一个土豆、一块火腿……
演讲人:郝晓贝时间: 10:00:00
演讲人:王海莉时间: 10:00:00
演讲人:卢柱强时间: 10:00:00
预算:¥50000预算:¥50000
浙江省湖北省
基于VHDL +FPGA 的自动售货机控制模块的设计与实现
[导读]EDA技术是以计算机为工具完成数字系统的逻辑综合、布局布线和设计仿真等工作。电路设计者只需要完成对系统功能的描述,就可以由计算机软件进行系统处理,最后得到设计结果,并且修改设计方案如同修改软件一样方便。利用
EDA技术是以计算机为工具完成数字系统的逻辑综合、布局布线和设计仿真等工作。电路设计者只需要完成对系统功能的描述,就可以由计算机软件进行系统处理,最后得到设计结果,并且修改设计方案如同修改软件一样方便。利用EDA工具可以极大地提高设计效率。本文引用地址:
利用硬件描述语言编程来表示逻辑器件及系统硬件的功能和行为,是EDA设计方法的一个重要特征。VHDL(Very High Speed Integrated Circuit Hardware DescripTION Language,超高速集成电路硬件描述语言)是硬件描述语言的一种,对系统硬件的描述功能很强而语法又比较简单。VHDL具有强大的行为描述能力,设计者可以不懂硬件的结构,只需集中精力进行电子系统的设计和性能优化;具有方便的逻辑仿真与调试功能,在设计早期就能查验系统的功能,方便地比较各种方案的可行性及其优劣。目前,VHDL作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域已经成为事实上通用硬件描述语言。
本文采用VHDL作为工具描述了自动售货机控制模块的逻辑控制电路,并在FPGA上实现。该自动售货机能够根据投入硬币额度,按预定的要求在投入硬币大于规定值时送出饮料并找零。
本文所设计的简易自动售货机可销售矿泉水,假设每瓶1.5元。设两个投币孔,分别接收1元和5角两种硬币,两个输出口,分别输出购买的商品和找零。假设每次只能投入一枚1元或5角硬币,投入1元5角硬币后机器自动给出一瓶矿泉水;投入2元硬币后,在给出一瓶矿泉水的同时找回一枚5角的硬币。另外设置一复位按钮,当复位按钮按下时,自动售货机回到初始状态。
开发软件选用功能强大的Altera公司的最新可编程逻辑器件开发工具Quartus II 8.0,实现芯片选用Altera公司FLEX10K系列的EPF10K10LC84-4;首先在计算机上完成程序设计、编译及时序仿真,然后将经过验证的设计文件下载到选择的可编程逻辑器件中,并在电子设计自动化实验系统中进行硬件模拟和测试。
状态机VHDL程序设计
有限状态机FSM(Finite STate Machine)及其设计技术是实用数字系统设计中实现高效率、高可靠逻辑控制的重要途径。传统的状态机设计方法需进行繁琐的状态分配、绘制状态表、简化次态方程等,而利用VHDL可以避免这些烦琐的过程,直接利用状态转换图进行状态机的描述。此外,与VHDL的其他描述方式相比,状态机的VHDL表述丰富多样,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的特点。
状态机有摩尔(Moore)型和米立(Mealy)型两种。Moore型状态机的输出信号只与当前状态有关;Mealy型状态机的输出信号不仅与当前状态有关,还与输入信号有关。结合本文设计,由于输出仅与状态有关,选用了Moore型状态机设计自动售货机控制模块,状态转换图如图1所示。
图1 自动售货机状态转换图
1)状态定义:S0表示初态,S1表示投入5角硬币,S2表示投入1元硬币,S3表示投入1元5角硬币,S4表示投入2元硬币。
2)输入信号:取投币信号为输入逻辑变量,用两位的矢量state_inputs表示。state_inputs(0)表示投入1元硬币,state_inputs(1)表示投入5角硬币。输入信号为1表示投入硬币,输入信号为0表示未投入硬币。
3)输出信号:给出矿泉水和找零为两个输出变量,用两位的矢量comb_outputs表示。comb_outputs(0)表示输出货物,comb_outputs(1)表示找5角零钱。输出信号为1表示输出货物或找零,输出信号为0表示不输出货物或不找零。
根据图1所示的状态转换图,用VHDL中的CASE_WHEN结构和IF_THEN_ELSE语句实现控制功能,源程序如下:
LIBRARY IEEE;&&&&&&&&&&&&&&&&&& --库和程序包的使用说明
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY sellmachine IS&&&&&&&&&&&&&&&&&&&& --实体定义
PORT(clk,reset:&& IN& std_
state_inputs:IN& std_logic_vector(0 TO 1);
comb_outputs:OUT std_logic_vector(0 TO 1));
ARCHITECTURE state OF sellmachine IS&&&&& --结构体
TYPE fsm_ IS (S0,S1,S2,S3,S4);&&&&&&& --状态枚举类型定义
SIGNAL current_state,next_state:fsm_&& --状态信号的定义
reg:PROCESS(reset,clk)&&&&&&&&&&&&&&& --时序进程
IF reset='1' THEN current_state&=S0;& --异步复位
ELSIF rising_edge(clk) THEN
current_state&=next_&&&&&& --状态转换
END PROCESS;
corn:PROCESS(current_state,state_inputs)&& --组合进程
CASE current_state IS
WHEN S0=&comb_outputs&=&00&;&&&&&&&&&&&&&&&&&& --现态S0
IF&&& state_inputs&=&00& THEN next_state&=S0;& --输入不同,次态不同
ELSIF state_inputs&=&01& THEN next_state&=S1;
ELSIF state_inputs&=&10& THEN next_state&=S2;
WHEN S1=&comb_outputs&=&00&;&&&&&&&&&&&&&&&&&& --现态S1
IF&&& state_inputs&=&00& THEN next_state&=S1;& --输入不同,次态不同
ELSIF state_inputs&=&01& THEN next_state&=S2;
ELSIF state_inputs&=&10& THEN next_state&=S3;
WHEN S2=&comb_outputs&=&00&;&&&&&&&&&&&&&&&&&& --现态S2
IF&&& state_inputs&=&00& THEN next_state&=S2;& --输入不同,次态不同
ELSIF state_inputs&=&01& THEN next_state&=S3;
ELSIF state_inputs&=&10& THEN next_state&=S4;
WHEN S3=&comb_outputs&=&10&;&&&&&&&&&&&&&&&&&& --现态S3
IF&&& state_inputs&=&00& THEN next_state&=S0;& --输入不同,次态不同
ELSIF state_inputs&=&01& THEN next_state&=S1;
ELSIF state_inputs&=&10& THEN next_state&=S2;
WHEN S4=&comb_outputs&=&11&;&&&&&&&&&&&&&&&&&& --现态S4
IF&&& state_inputs&=&00& THEN next_state&=S0;& --输入不同,次态不同
ELSIF state_inputs&=&01& THEN next_state&=S1;
ELSIF state_inputs&=&10& THEN next_state&=S2;
END PROCESS;
编译、仿真及FPGA实现
在ALTEra公司的可编程逻辑器件集成开发平台Quartus II 8.0下完成程序的编辑、编译并进行时序仿真。
1)编译:编译是EDA设计中的核心环节。软件将对设计输入文件进行逻辑化简、综合和优化, 适当地用一片或多片器件进行适配,最后产生编程用的编程文件。主要包括设计编译和检查、逻辑优化和综合、适配和分割、布局和布线、生成编程数据文件等过程。自动售货机控制模块VHDL文件编译报告如图2所示。
图2 编译报告
报告中给出了进行编译的时间、采用的开发软件的版本、顶层设计实体名、选用器件的系列和型号、时序分析情况、占用资源情况及引脚使用情况等信息。
2)时序仿真:编译后对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能及检查和消除竞争冒险是非常有必要的。仿真前,先利用波形编辑器建立波形文件,仿真结果将会生成报告文件和输出信号波形,从中便可以观察到各个节点的信号变化。若发现错误,则返回设计输入中修改设计逻辑。自动售货机控制模块仿真波形如图3所示。
图3 时序仿真波形
3) FPGA实现:将编译阶段生成的编程数据文件通过Quartus II 下载到芯片EPF10K10LC84-4中,并在电子设计自动化实验系统中进行测试得到了正确的结果。
FPGA是一种可以重复改变组态的电路,可让设计者进行编程的逻辑闸元件,特别适用于产品开发时必须不断变更设计的应用,以有效加速产品上市时间。而FPGA电路的特性,特别适合用于软体定义的测试系统架构,这也正式目前......关键字:
两个调试中遇到的小问题,引以为戒。1.
画板子的时候由于没注意结构上的固定边框,不小心把一个旁路电容放在边界上。在外部铁壳将液晶屏固定到电路板上后,出现的症状很有意思。两个不同的屋子(A和B),同样的电......关键字:
作为一名在嵌入式行业摸爬滚打许久的老鸟,回想自己的经历之路,那么漫长可又仿佛近在眼前。――此文仅献给那些刚刚踏上硬件之路和还在徘徊的同学们,在此我简要的记录了我的学习经历和其间自己所获的一些心得,以帮助初学者少走弯路。......关键字:
关于时序工具的一些FAE解答:问:你们的工具是否只提供所有输入输出管脚完全一致的时序约束?如tsu,th,tco,tpd的约束?如果不同管脚可以有不 同约束值,如何设置?FAE:我们的工具提供的是时序分析功能,尚未提供时......关键字:
从大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表、抢答器、密码锁等实验时那个兴奋劲。当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus II原理图环境下用74系列逻辑器件搭建......关键字:
继7亿美金收购展讯,9亿美金收购锐迪科,25亿美金收购新华三,38亿美金控股西数,再砸5亿人民币&娶&西数,紫光疯狂的步伐还远未停止。近日,紫光投资3000亿元打造第三大芯片制造商,媲美Intel。不得不说......关键字:
印象中FPGA市场基本是Altera和Xilinx一统天下,他们的明争暗斗决定着FPGA的未来,甚至他们各自的家族产品都是对着干的。Lattice、Actel、Atmel各有其小众市场,再有别的厂商,基本上特权同学是不太叫得上来了。国产......关键字:
广东高云半导体科技股份有限公司(以下简称“高云半导体”)凭借其在2017年度优秀的市场表现一举斩获“五大中国最具潜力 IC 设计公司”奖。......关键字:
我 要 评 论
热门关键词导读:基于VHDL自动售货机的设计,基于FPGA的自动售货机的设计,基本功能的完善、模拟整个自动售货机的工作过程,合在一起就构成了一个自动售货机,在售货机的设计过程中,人工售货已不能不满足人们的需求,自动售货机的设计就用了很大的应用空间和市场,基于FPGA的自动售货机设计,关键字:自动售货机,第一章绪论...................................,自动化商业机械有了越来越广 基于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所示:
2.1.2各模块说明
本文设计的自动售货机总体分三个模块:总控模块,二进制译码模块、BCD码译码模块。 总控模块:总控模块是本系统最重要的模块,该模块大体有5个输入端口和6个输出端口。其输入端口包括clk、coin1(投入一元货币)、coin5(投入0.5元货币)、cola(选择cola)、pepsi(选择pepsi),输出端口有paid(已投入多少钱)、needed(还需多少钱)moneyout(找零)、success(灯亮表示交易成功)、failure(灯亮表示交易失败)、showmoneyout(灯亮表示正在找零)。该模块实现了本系统最重要的交易过程,包括选择商品、投入货币,计算剩余金额,找零出货等。 二进制译码模块:该模块有一个输入端口和两个输出端口。输入端口是一个8位的二进制数输出端口bcd0、bcd1是两个4位的BCD码。该模块的主要的功能是实现将主控模块输出的二进制数(paid、needed、moneyout)转换成BCD码,以便输出到七段数码管上显示出来。该模块的原理是将一个8位的二进制转换成2个4位的BCD码,分为高四位和低四位。
5 包含总结汇报、IT计算机、旅游景点、出国留学、专业文献、外语学习、计划方案、文档下载以及2012EDA课设自动售货机等内容。本文共4页
相关内容搜索eda课程设计自动售货机的设计_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
eda课程设计自动售货机的设计
&&河南工业大学EDA课程设计自动售货机
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩12页未读,
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 自动售货机设计 的文章

 

随机推荐