EDA课程设计自动售货机控制系统Word文档格式.docx
- 文档编号:16488569
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:9
- 大小:75.01KB
EDA课程设计自动售货机控制系统Word文档格式.docx
《EDA课程设计自动售货机控制系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《EDA课程设计自动售货机控制系统Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
使用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、系统原理
自动售货机的所有信号均由同步时钟信号elk的正边沿触发。
由于售货机的硬币接受器一般是一个机械设置装置,投币时产生的信号要比同步信号elk要慢
得多,一般可持续好几个周期,必须对投币输入信号进行处理,使每一次投币时在elk脉冲周期内只能产生一个脉冲作为功能控制模块的投币驱动信号。
因此可将该系统分为两个模块。
ZHAOJIAN
(图一)自动售货机控制系统各模块连接图
自动售货机控制系统模块之间连接如图一所示,其中“shuru”为投币输入信号处理模块,它是利用D触发器和几个门电路组成的一个简单时序逻辑电路。
主要起到对输入信号进行存储和延时的作用。
其输出信号作为功能控制模块SHJ_CTRL”的输入驱动信号。
功能控制模块“SHJ_CTRL”则用VHDL语言实现。
它主要起到对输入信号进行分析处理的作用。
是整个系统的核心。
其中,OUT
为自动售货机的矿泉水输出信号,ZHAOQIAN为找钱输出信号
三、系统实现
1、功能控制模块
1)自动售货机控制功能的状态描述
取投币信号为输入逻辑变量,投入一枚一元硬币时用A=1表示,未投入时
A=0。
投入一枚五角硬币用B=1表示,未投入时B=0。
给出矿泉水和找钱为两个输出变量,分别用Z和丫表示,给出矿泉水时Z=1,不给时Z=0,找回一枚五角硬币时丫=1,不找时丫=0。
根据上面的功能描述,可用三个状态S0,S1,S2表示,未投币前的初始状态为S0,投入五角硬币以后为S1,投入一元硬币后(包括投入一枚一元硬币和投入两枚五角硬币的情况)为S2,再投入一枚五角硬币后电路返回S0,同时输出为Z=1,Y=0;
如果投入的是一枚一元硬币,则电路也应能返回S0,同时
输出为Z=1,Y=1。
根据上面的分析可得到状态转换图如图二所示。
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:
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)
IFrising_edge(clk)THEN
CASEstateIS
WHENS0=>
Z<
='
0'
;
Y<
IF(X="
01"
)THEN
state<
=s1;
ELSIF(X="
10"
=s2;
ELSE
=s0;
ENDIF;
WHENS1=>
=S0;
1'
WHENS2=>
Zv='
)THENstate<
ENDCASE;
ENDPROCESS;
ENDbeha;
上面程序中,A、B分别为一元硬币和五角硬币驱动信号,Z为矿泉水输出
信号,丫为找钱输出信号。
3、投币输入信号处理模块
投币输入信号的处理电路如图三所示,其中IN_yuan和IN_jiao作为一元硬币和五角硬币的投币输入信号,A和B为相应的输出信号,作为功能控制模块的输入信号,而且A、B输出是在投币输入信号IN_yuan和IN_jiao为高电平1之后的一个周期内被设置为1。
(图三)投币输入信号的处理电路
(图四)投币输入电路的仿真图
经过仿真结果如图四所示,实现了每次投币后在一个elk周期内只产生一个
可靠的脉冲驱动信号。
四、系统仿真
自动售货机控制系统功能仿真
整个控制系统通过MAX+PLUSII软件进行编译和仿真,仿真结果如图五所示
符合电路设计要求。
并把程序下载到芯片MAXEP1K10TC100-3进行验证与
实际相符。
图五控制系统功能仿真图
五、硬件验证(操作)说明
因为实验室条件有限,无法进行具体的硬件验证。
则可以先拟订方案如下:
(本次实验采用EDA2000实验系统,配合相关仪器设备,进行验证。
)
1、将程序下载到芯片MAXEP1K10TC100-32、实物连接
1)将A,B分别用导线连接开关
2)CLK连接板载时钟
3)Z,丫分别接LED灯
4、进行模拟仿真
1)连续两次将IN-YUAN置1,观察结果。
2)连续三次将IN-JIAO置1,观察结果。
3)分别将IN-YUAN,IN-JIAO置1,观察结果。
4、分析硬件模拟和软件仿真,两者结果是否相同。
六、总结
七、参考书目
1.史国生主编《.电气控制与可编程控制器技术》(第二版).北京:
化学工业出版社,2007年
2.钱锐主编.《PLC应用技术》.北京:
科学出版社,2006年
3.洪志育编著.《例说PLC》.北京:
人民邮电出版社,2006年
4.张凤珊主编.《电气控制及可编程序控制器》(第二版).北京:
中国轻工业出版
社,2003年
5.
2005年
吴丽主编.《电气控制与PLC实用教程》.郑州:
黄河水利出版社,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 自动 售货 控制系统