新闻中心

EEPW首页>EDA/PCB>设计应用> 基于VHDL三层电梯控制器的设计

基于VHDL三层电梯控制器的设计

作者: 时间:2009-04-02 来源:网络 收藏

3.2的结构体设计
首先说明一下状态。状态机设置了lO个状态,分别是电梯停留在l层(stoponl)、开门(dooropen)、关门(doorclose)、开门等待第1秒(doorwaitl)、开门等待第2秒(doorwait2)、开门等待第3秒(doorwait3)、开门等待第4秒(doorwait4)、上升(up)、下降(down)和停止(stop)。在实体说明定义完端口之后,在结构体architecture和begin之间需要有如下的定义语句,来定义状态机。
TYPE lift_state IS
(stoponl,dooropen,doorclose,doorwaitl,doorwait2,doorwai t3,door。wai t4,up,down,s top):
SIGNAL mylift:lift_state:
在结构体中,设计了俩个进程互相配合,一个是状态机进程作为主要进程,另外一个是信号灯控制进程作为辅助进程。状态机进程中的很多判断条件是以信号灯进程产生的信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是由状态机进程中传出的clearup和cleardn信号来控制。
在状态机进程中,在电梯的上升状态中,通过对信号灯的判断,决定下一个状态是继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是停止;在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电梯是上升、下降还是停止。
在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键后产生的点亮的信号灯(逻辑值为‘1’)用于作为状态机进程中的判断条件,而clearup和cleardn信号为逻辑‘l’使得相应的信号灯熄灭。
3.3设计
描述模块流程如图2所示。三层电梯控制器的源代码(见附录)可知:

本文引用地址://m.amcfsurvey.com/article/192099.htm

(1)本程序设计调用了IEEE库,IEEE库是设计中最为常用的库,它包含有IEEE标准的程序包和其他一些支持工业标准的程序包。本设计采用了STD_LOGIC_1164、STD_LOGIC_ARITH、STD_LOGIC_UNSIGNED程序包。
(2)以关键词ENTITY引导,END ENTITY threeflift结尾的语句部分,称为实体。VHDL的实体描述了电路器件的外部情况及各信号端口的基本性质。本设计定义了关于三层电梯控制器用到的各类时钟、异步复位按键、信号灯指示、电梯的请求。端口模式主要就是IN、BUFFER、OUT端口。及定义了各端口信号的数据类型,主要是STD_LOGIC(标准逻辑位数据类型)、INTEGER(整数类型)、STD_LOGIC_VECTOR(标准逻辑矢量数据类型)。这些都满足上面调用的IEEE库中的程序包。
(3)以关键词ARCHITECTURE引导,END ARCHITECTUREa结尾的语句部分,称为结构体。结构体负责描述电路器件的内部逻辑功能或电路结构。本设计定义了lO个状态。描述了在三层电梯中出现的各种可能的情况作为控制电梯的主要进程。信号灯控制作为辅助进程。
3.4 三层电梯控制器的模块

4 三层电梯控制器的仿真模块



评论


相关推荐

技术专区

关闭