EDA课程设计自动售货机控制系统.docx

上传人:b****7 文档编号:9792225 上传时间:2023-02-06 格式:DOCX 页数:10 大小:51.17KB
下载 相关 举报
EDA课程设计自动售货机控制系统.docx_第1页
第1页 / 共10页
EDA课程设计自动售货机控制系统.docx_第2页
第2页 / 共10页
EDA课程设计自动售货机控制系统.docx_第3页
第3页 / 共10页
EDA课程设计自动售货机控制系统.docx_第4页
第4页 / 共10页
EDA课程设计自动售货机控制系统.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

EDA课程设计自动售货机控制系统.docx

《EDA课程设计自动售货机控制系统.docx》由会员分享,可在线阅读,更多相关《EDA课程设计自动售货机控制系统.docx(10页珍藏版)》请在冰豆网上搜索。

EDA课程设计自动售货机控制系统.docx

EDA课程设计自动售货机控制系统

 

《电子设计自动化(EDA)技术》课程设计报告

题目:

自动售货机控制系统

姓名:

院系:

专  业:

学号:

指导教师:

  

 

完成时间:

年月日

设计题目

自动售货机控制系统

设计要求

设计一个模拟自动售货机的逻辑控制电路

1、它有两个投币口分别为一元投币口和五角投币口。

2、每次只能投入一枚一元或五角硬币。

3、投入一元五角硬币后机器自动给出一瓶矿泉水。

4、投入两元硬币后,在给出一瓶矿泉水的同时找回一枚五角的硬币。

设计过程

使用VHDL语言的原因:

利用语言的灵活性及功能强大的EDA工具,可以轻松完成硬件的功能扩充与升级,还可以实现更复杂的数字系统,整个设计过程相对于传统的设计方法,有较大的突破。

VHDL语言作为现代数字系统的重要设计工具,以其灵活、简洁的设计风格在电路设计中发挥着越来越重要的作用。

选用状态机的原因:

 我们提出了两套方案:

一种是进程,一种是状态机。

进程就是把程序分割成很多个独立的版快。

相互之间用信号连接,设计过程中出现了很多问题。

因为VHDL语言跟纯软件语言存在很大的区别,必须考虑硬件是否能够实现,所以VHDL语言不能随便使用信号,且不可以随便使用时钟上升沿驱动进程。

因此我们选用了另一种方案——状态机实现。

有限状态机FSM(FiniteStateMachine)及其设计技术是实用数字系统设计中实现高效率、高可靠逻辑控制的重要途径。

所有的状态均可表达为CASE_WHEN结构中的一条CASE语句,而状态的转移则通过IF_THEN_ELsE语句实现。

此外,与VHDL的其它描述方式相比,状态机的VHDL表述丰富多样,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的特点。

成绩评定

指导教师评语

课程设计等

一、课程设计题目、内容与要求………………………………………

1、设计题目……………………………………………………………

2、具体要求……………………………………………………………

二、系统设计……………………………………………………………

1、设计思路…………………………………………………………

2、系统原理(包含:

框图等阐述)与设计说明等内容

三、系统实现……………………………………………………………

注:

此部分阐述具体实现,包含主要逻辑单元、模块、源代

码等内容

四、系统仿真…………………………………………………………

五、硬件验证(操作)说明………………………………………………

六、总结………………………………………………………………

七、参考书目…………………………………………………………

 

一、课程设计题目、内容与要求

1、设计题目

自动售货机控制系统

2、具体要求

设计一个模拟自动售货机的逻辑控制电路

1、它有两个投币口分别为一元投币口和五角投币口。

2、每次只能投入一枚一元或五角硬币。

3、投入一元五角硬币后机器自动给出一瓶矿泉水。

4、投入两元硬币后,在给出一瓶矿泉水的同时找回一枚五角的硬币

二、系统设计

1、设计思路

根据设计要求可以对售货机的基本功能进行确定。

它应该能够区分一元和五角硬币,并且能够对投入的货币进行累加。

当所投币值达到商品售价。

就自动送出商品。

因为题目要求只有一种商品并且其售价为一元五。

根据这一特殊点可设计方案如下:

用两个开关分别模拟投入一元和五角硬币时产生的信号,高电平有效。

用两颗LED分别模拟售出商品和找钱信号,灯亮有效。

具体功能实现如下:

1、连续两次将IN-YUAN置1,则OUT灯会亮,且ZHAOQIAN也会亮。

表示买一元五的矿泉水,投了两元钱,则售出商品,找回五角零钱。

2、连续三次将IN-JIAO置1,则OUT灯会亮,而ZHAOJIAN不会亮。

表示买一元五的矿泉水,当所投钱币达到一元五时就自动售出商品,完成交易。

3、分别将IN-YUAN,IN-JIAO置1,则OUT灯会亮,而ZHAOJIAN不会亮。

原理同2。

2、系统原理

自动售货机的所有信号均由同步时钟信号clk的正边沿触发。

由于售货机的硬币接受器一般是一个机械设置装置,投币时产生的信号要比同步信号clk要慢得多,一般可持续好几个周期,必须对投币输入信号进行处理,使每一次投币时在clk脉冲周期内只能产生一个脉冲作为功能控制模块的投币驱动信号。

因此可将该系统分为两个模块。

ShuruSHJ_CTRL

OUT

ZHAOJIAN

 

(图一)自动售货机控制系统各模块连接图

自动售货机控制系统模块之间连接如图一所示,其中“shuru”为投币输入信号处理模块,它是利用D触发器和几个门电路组成的一个简单时序逻辑电路。

主要起到对输入信号进行存储和延时的作用。

其输出信号作为功能控制模块“SHJ_CTRL”的输入驱动信号。

功能控制模块“SHJ_CTRL”则用VHDL语言实现。

它主要起到对输入信号进行分析处理的作用。

是整个系统的核心。

其中,OUT为自动售货机的矿泉水输出信号,ZHAOQIAN为找钱输出信号。

三、系统实现

1、功能控制模块

1)自动售货机控制功能的状态描述

  取投币信号为输入逻辑变量,投入一枚一元硬币时用A=1表示,未投入时A=0。

投入一枚五角硬币用B=1表示,未投入时B=0。

给出矿泉水和找钱为两个输出变量,分别用Z和Y表示,给出矿泉水时Z=1,不给时Z=0,找回一枚五角硬币时Y=1,不找时Y=0。

根据上面的功能描述,可用三个状态S0,S1,S2表示,未投币前的初始状态为S0,投入五角硬币以后为S1,投入一元硬币后(包括投入一枚一元硬币和投入两枚五角硬币的情况)为S2,再投入一枚五角硬币后电路返回S0,同时输出为Z=1,Y=0;如果投入的是一枚一元硬币,则电路也应能返回S0,同时输出为Z=1,Y=1。

根据上面的分析可得到状态转换图如图二所示。

00/00

AB/ZY

01/1001/00

或10/11

10/10

10/00

00/0001/0000/00

图二

2)自动售货机功能控制模块的VHDL实现

  根据上面所示的状态转换图,用VHDL语言中的CASE_WHEN结构和IF_THEN_ELSE语句实现控制功能,源程序如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYshj_ctrlIS

PORT(A,B:

INSTD_LOGIC;

clk:

INSTD_LOGIC;

Z,Y:

OUTSTD_LOGIC);

ENDshj_ctrl;

ARCHITECTUREbehaOFshj_ctrlIS

TYPEstatesIS(S0,S1,S2);

SIGNALstate:

states;

SIGNALX:

STD_LOGIC_VECTOR(1DOWNTO0);

BEGIN

X<=A&B;

PROCESS(x,state)

BEGIN

IFrising_edge(clk)THEN

CASEstateIS

WHENS0=>Z<='0';Y<='0';

IF(X="01")THEN

state<=s1;

ELSIF(X="10")THEN

state<=s2;

ELSE

state<=s0;

ENDIF;

WHENS1=>Z<='0';Y<='0';

IF(X="01")THEN

state<=s2;

ELSIF(X="10")THEN

state<=S0;

Z<='1';Y<='0';

ELSE

state<=s1;

ENDIF;

WHENS2=>Z<='0';Y<='0';

IF(X="01")THEN

state<=S0;

Z<='1';Y<='0';

ELSIF(X="10")THEN

state<=s0;

Z<='1';Y<='1';

ELSE

state<=s2;

ENDIF;

ENDCASE;

ENDIF;

ENDPROCESS;

ENDbeha;

上面程序中,A、B分别为一元硬币和五角硬币驱动信号,Z为矿泉水输出信号,Y为找钱输出信号。

3、投币输入信号处理模块

投币输入信号的处理电路如图三所示,其中IN_yuan和IN_jiao作为一元硬币和五角硬币的投币输入信号,A和B为相应的输出信号,作为功能控制模块的输入信号,而且A、B输出是在投币输入信号IN_yuan和IN_jiao为高电平1之后的一个周期内被设置为1。

(图三)投币输入信号的处理电路

(图四)投币输入电路的仿真图

经过仿真结果如图四所示,实现了每次投币后在一个clk周期内只产生一个可靠的脉冲驱动信号。

四、系统仿真

自动售货机控制系统功能仿真

整个控制系统通过MAX+PLUSII软件进行编译和仿真,仿真结果如图五所示符合电路设计要求。

并把程序下载到芯片MAXEP1K10TC100-3进行验证与实际相符。

图五控制系统功能仿真图

五、硬件验证(操作)说明

因为实验室条件有限,无法进行具体的硬件验证。

则可以先拟订方案如下:

(本次实验采用EDA2000实验系统,配合相关仪器设备,进行验证。

1、将程序下载到芯片MAXEP1K10TC100-3

2、实物连接

1)将A,B分别用导线连接开关

2)CLK连接板载时钟

3)Z,Y分别接LED灯

4、进行模拟仿真

1)连续两次将IN-YUAN置1,观察结果。

2)连续三次将IN-JIAO置1,观察结果。

3)分别将IN-YUAN,IN-JIAO置1,观察结果。

4、分析硬件模拟和软件仿真,两者结果是否相同。

六、总结

7、参考书目

1.史国生主编.《电气控制与可编程控制器技术》(第二版).北京:

化学工业出版社,2007年

2.钱锐主编.《PLC应用技术》.北京:

科学出版社,2006年

3.洪志育编著.《例说PLC》.北京:

人民邮电出版社,2006年

4.张凤珊主编.《电气控制及可编程序控制器》(第二版).北京:

中国轻工业出版社,2003年

5.吴丽主编.《电气控制与PLC实用教程》.郑州:

黄河水利出版社,2005年

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1