- 31
- 0
- 约3.15千字
- 约 13页
- 2020-04-02 发布于江西
- 举报
目录
概述 ..................................................1
自动售货机控制系统的实现 ..............................2
自动售货机功能描述及控制系统组成 ...................2
自动售货机控制功能的状态描述 ........................2
自动售货机功能控制模块的 VHDL 实现 ...................3
投币输入信号电路的设计与实现 ........................4
自动售货机控制系统功能仿真 ..........................5
结束语 ................................................6
参考文献 ..............................................7
投币信
投币信号
处理模块
售卖功能
控制模块
自动售货机控制系统的 VHDL 实现
一、概述
有限状态机 FSM(Finite State Machine)及其设计技术是实用数字系统设计中实现高效 率、高可靠逻辑控制的重要途径。传统的状态机设计方法需进行繁琐的状态分配、绘制状 态表、化简次态方程等,而利用 VHDL 可以避免这些繁琐的过程,直接利用状态转换图进行 状态机的描述,所有的状态均可表达为 CASE_WHEN 结构中的一条 CASE 语句,而状态的转移 则通过 IF_THEN_ELsE 语句实现。此外,与 VHDL 的其它描述方式相比,状态机的 VHDL 表述 丰富多样,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独 到的特点。
二、自动售货机控制系统的实现
1、自动售货机功能描述及控制系统组成
设计一个自动售货机的逻辑控制电路。它有两个投币口分别为一元投币口和五角投币口, 假设每次只能投入一枚一元或五角硬币,投入一元五角硬币后机器自动给出一瓶饮料,投 入两元硬币后,在给出一瓶饮料的同时找回一枚五角的硬币。图 1 为自动售货机控制系统 方框图,由投币信号处理模块和功能控制模块组成。
投币
信号
找钱
出货
图 1
自动售货机控制系统
2、自动售货机控制功能的状态描述
取投币信号为输入逻辑变量,投入一枚一元硬币时用 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。根据上面的分析可得到状态转
换图如图 2 所示。
00/00
自动售货机控制系统的 VHDL 实现
00/00
01/10
S0
或 10/11 01/00
10/00
10/10
S2 01/00 S1
图 2
自动售货机系统状态转换图
00/00
3、自动售货机功能控制模块的 VHDL 实现
根据图 2 所示的状态转换图,用 VHDL 语言中的 CASE_WHEN 结构和 IF_THEN_ELSE 语句实 现控制功能,源程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY ZIDONG IS
PORT(A,B:IN STD_LOGIC;
clk:IN STD_LOGIC;
Z,Y:OUT STD_LOGIC);
END ZIDONG;
ARCHITECTURE beha OF ZIDONG IS
TYPE states IS(S0,S1,S2);
SIGNAL state:states;
SIGNAL X:STD_LOGIC_VECTOR(1 DOWNTO 0);
BEGIN
X=AB;
PROCESS(x,state)
BEGIN
IF rising_edge(clk) THEN
CASE state IS
WHEN S0=Z=0;Y=0;
IF(X=01)THEN
state=s1;
ELSIF(X=10)THEN
state=s2;
ELSE
state=s0;
END IF;
WHEN S1=Z=0;Y=0;
IF(X=01)THEN
state=s2;
ELSIF(X=10)THEN
state=S0;
Z=1;Y=0;
ELSE
stat
原创力文档

文档评论(0)