《2022年EDA课程设计自动售货机控制系统.pdf》由会员分享,可在线阅读,更多相关《2022年EDA课程设计自动售货机控制系统.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子设计自动化(EDA)技术课程设计报告题目: 自动售货机控制系统姓名:院系:专业:学号:指导教师:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 17 页 - - - - - - - - - - 完成时间 : 年 月 日设 计 题目自动售货机控制系统设 计 要求设计一个模拟自动售货机的逻辑控制电路1、它有两个投币口分别为一元投币口和五角投币口。2、每次只能投入一枚一元或五角硬币。3、投入一元五角硬币后机器自动给出一瓶矿泉水。4、投入两元硬币后,在给出一瓶矿泉水的同时找回一枚五角的硬币。精品资
2、料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 17 页 - - - - - - - - - - 设 计 过程使用 VHDL 语言的原因:利用语言的灵活性及功能强大的EDA工具,可以轻松完成硬件的功能扩充与升级,还可以实现更复杂的数字系统,整个设计过程相对于传统的设计方法,有较大的突破。VHDL语言作为现代数字系统的重要设计工具,以其灵活、简洁的设计风格在电路设计中发挥着越来越重要的作用。选用状态机的原因:我们提出了两套方案:一种是进程,一种是状态机。进程就是把程序分割成很多个独立的版快。相互之间用
3、信号连接,设计过程中出现了很多问题。因为VHDL语言跟纯软件语言存在很大的区别,必须考虑硬件是否能够实现,所以 VHDL 语言不能随便使用信号,且不可以随便使用时钟上升沿驱动进程。因此我们选用了另一种方案状态机实现。有限状态机 FSM(Finite State Machine)及其设计技术是实用数字系统设计中实现高效率、高可靠逻辑控制的重要途径。所有的状态均可表达为CASE_WHEN结构中的一条 CASE语句,而状态的转移则通过IF_THEN_ELsE精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页
4、,共 17 页 - - - - - - - - - - 语句实现。此外,与VHDL 的其它描述方式相比,状态机的 VHDL 表述丰富多样,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的特点。成绩评定指导教师评语课程设计精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 17 页 - - - - - - - - - - 等级目录一、课程设计题目、 内容与要求1、 设计题目2、 具体要求二、 系统设计1、 设计思路2 、系统原理(包含:框图等阐述)与设计说明等内容三、 系统实
5、现注:此部分阐述具体实现,包含主要逻辑单元、模块、源代码等内容精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 17 页 - - - - - - - - - - 四、系统仿真五、硬件验证(操作)说明六、总结七、参考书目一、课程设计题目、内容与要求1、设计题目自动售货机控制系统2、具体要求设计一个模拟自动售货机的逻辑控制电路 1、它有两个投币口分别为一元投币口和五角投币口。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - -
6、 - -第 6 页,共 17 页 - - - - - - - - - - 2、每次只能投入一枚一元或五角硬币。 3、投入一元五角硬币后机器自动给出一瓶矿泉水。 4、投入两元硬币后, 在给出一瓶矿泉水的同时找回一枚五角的硬币二、系统设计1、设计思路根据设计要求可以对售货机的基本功能进行确定。它应该能够区分一元和五角硬币, 并且能够对投入的货币进行累加。当所投币值达到商品售价。 就自动送出商品。 因为题目要求只有一种商品并且其售价为一元五。 根据这一特殊点可设计方案如下:用两个开关分别模拟投入一元和五角硬币时产生的信号,高电平有效。 用两颗 LED分别模拟售出商品和找钱信号,灯亮有效。具体功能实现
7、如下:1、连续两次将 IN-YUAN置 1,则 OUT 灯会亮,且 ZHAOQIAN 也会亮。表示买一元五的矿泉水,投了两元钱,则售出商品,找回五角零钱。2、连续三次将 IN-JIAO 置 1,则 OUT 灯会亮,而 ZHAOJIAN 不会亮。表示买一元五的矿泉水,当所投钱币达到一元五时就自动售出商品,完成交易。 3、分别将 IN-YUAN ,IN-JIAO 置 1,则 OUT灯会亮,而ZHAOJIAN 不会亮。原理同 2。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 17 页 - - -
8、- - - - - - - 2、系统原理自动售货机的所有信号均由同步时钟信号clk 的正边沿触发。由于售货机的硬币接受器一般是一个机械设置装置,投币时产生的信号要比同步信号 clk 要慢得多,一般可持续好几个周期, 必须对投币输入信号进行处理, 使每一次投币时在clk 脉冲周期内只能产生一个脉冲作为功能控制模块的投币驱动信号。因此可将该系统分为两个模块。 Shuru SHJ_CTRL OUT ZHAOJIAN(图一)自动售货机控制系统各模块连接图自动售货机控制系统模块之间连接如图一所示,其中“shuru”为投币输入信号处理模块, 它是利用 D触发器和几个门电路组成的一个简单时序逻辑电路。 主要
9、起到对输入信号进行存储和延时的作用。其输出信号作为功能控制模块“SHJ_CTRL ”的输入驱动信号。功能控制PIN-YUAA 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 17 页 - - - - - - - - - - 模块“ SHJ_CTRL ”则用 VHDL语言实现。它主要起到对输入信号进行分析处理的作用。是整个系统的核心。其中,OUT 为自动售货机的矿泉水输出信号, ZHAOQIAN 为找钱输出信号。三、系统实现1、功能控制模块1)自动售货机控制功能的状态描述取投币信号为输入逻辑变量
10、,投入一枚一元硬币时用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 。根据上面的分析可得到状态转换图如图二所示。精
11、品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 17 页 - - - - - - - - - - 00/00AB/ZY 01/10 01/00或 10/11 10/10 10/0000/00 01/00 00/00图二2) 自动售货机功能控制模块的VHDL实现根据上面所示的状态转换图,用VHDL语言中的CASE_WHEN结构和 IF_THEN_ELSE 语句实现控制功能,源程序如下:LIBRARY IEEE; USE ENTITY shj_ctrl IS 精品资料 - - - 欢迎下载 - -
12、- - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 17 页 - - - - - - - - - - PORT(A,B:IN STD_LOGIC; clk:IN STD_LOGIC; Z,Y:OUT STD_LOGIC); END shj_ctrl ;ARCHITECTURE beha OF shj_ctrl IS TYPE states IS(S0,S1,S2); SIGNAL state:states; SIGNAL X:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN XZ=0;Y=0; 精品资料 - -
13、- 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 17 页 - - - - - - - - - - IF(X=01)THEN state=s1; ELSIF(X=10)THEN state=s2; ELSE stateZ=0;Y=0; IF(X=01)THEN state=s2; ELSIF(X=10)THEN state=S0; Z=1;Y=0; ELSE stateZ=0;Y=0; IF(X=01)THEN state=S0; Z=1;Y=0; ELSIF(X=10)THEN state=s0; Z=1;Y
14、=1; ELSE state=s2; END IF; END CASE; END IF; END PROCESS; END beha; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 17 页 - - - - - - - - - - 上面程序中, A、B分别为一元硬币和五角硬币驱动信号,Z 为矿泉水输出信号, Y为找钱输出信号。3、投币输入信号处理模块投币输入信号的处理电路如图三所示,其中IN_yuan 和 IN_jiao作为一元硬币和五角硬币的投币输入信号,A和 B为相应的输出信号,作为功
15、能控制模块的输入信号,而且A、B 输出是在投币输入信号IN_yuan 和 IN_jiao为高电平 1 之后的一个周期内被设置为1。(图三 ) 投币输入信号的处理电路精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 17 页 - - - - - - - - - - (图四)投币输入电路的仿真图经过仿真结果如图四所示,实现了每次投币后在一个clk周期内只产生一个可靠的脉冲驱动信号。四、系统仿真自动售货机控制系统功能仿真整个控制系统通过MAX+PLUSII软件进行编译和仿真,仿真结果如图 五 所 示
16、 符 合 电 路 设 计 要 求 。 并 把 程 序 下 载 到 芯 片MAXEP1K10TC100-3进行验证与实际相符。图五控制系统功能仿真图五、硬件验证(操作)说明精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 17 页 - - - - - - - - - - 因为实验室条件有限,无法进行具体的硬件验证。则可以先拟订方案如下:(本次实验采用 EDA2000 实验系统,配合相关仪器设备,进行验证。)1、将程序下载到芯片MAXEP1K10TC100-32、实物连接 1)将 A,B分别用导线
17、连接开关 2)CLK 连接板载时钟3)Z,Y分别接 LED灯4、进行模拟仿真 1)连续两次将 IN-YUAN置 1,观察结果。 2)连续三次将 IN-JIAO 置 1,观察结果。 3)分别将 IN-YUAN ,IN-JIAO 置 1,观察结果。4、分析硬件模拟和软件仿真,两者结果是否相同。六、总结七、参考书目1. 史国生主编 .电气控制与可编程控制器技术(第二版). 北京:化精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 17 页 - - - - - - - - - - 学工业出版社, 2007年2. 钱锐主编 . PLC应用技术 .北京:科学出版社 ,2006 年3. 洪志育编著 .例说 PLC . 北京:人民邮电出版社 ,2006 年4. 张凤珊主编 .电气控制及可编程序控制器(第二版 ). 北京:中国轻工业出版社 ,2003 年5. 吴丽主编 . 电气控制与 PLC实用教程 . 郑州:黄河水利出版社,2005 年精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 17 页 - - - - - - - - - -
限制150内