此设计使用的是一种8位位宽的RAM存储器存储信号,内部连接电路图如图7所示。
图7 存储器电路图
只读存储器(ROM)所存数据稳定,断电后所存数据也不会改变。其结构较简单,读出较方便,因而常用于存储各种固定程序和数据。随机存储器(RAM)是临时存放数据用的,断电后数据会丢失,从新启动处理器后迅速的恢复正常,也就是内存中的RAM数据得到释放了。
对信号和数据采集时,发送信号在时间上是间断的,所以对某一时间段的信号必须进行存储,只有当采集到的信号所对应操作响应后,处于存储模块中的信号才可以清除。这里用到的是RAM存储器,主要存储的电梯的各个楼层的请求信号。
3.8 故障报警模块
采用功率放大器放大报警信号,然后驱动蜂鸣器产生相应的报警,其内部电路图如图8所示。
图8 报警电路
在载客的整个过程中,每来一个时钟信号,系统就检测一次是否存在超载或者故障信号,当检测到高电平时,说明超载或者故障,则电梯主控模块输出信号到达三极管组成的简易功率放大器做放大处理后,来驱动蜂鸣器产生报警信号;当超载信号消失时,电梯主控模块清零报警信号。
3.9 LED显示模块
LED是Light-Emitting Diode的简称,中文名称是发光二极管,为一种能发光的半导体电子元件。LED因具有体积小、耗电量低、使用寿命长、环保、坚固耐用等优点被广泛的用作指示灯、显示屏[14]。
设计中,电梯主控模块输出的楼层显示信号需要经过译码后才能送到LED灯进行显示,用VHDL语言生成的原理图如图9所示。
图9 译码原理图
主要显示的内容有:楼层请求信号显示、楼层信号显示和电梯运行方向显示。请求信号在每一个时钟脉冲的上升沿被采集一次,当采集到高电平时,说明有请求信号,将这个信号存到存储器,然后有电梯主控模块对存储器中的存储信息进行处理,而且输出高电平使相应按键灯点亮,信号被响应后,由电梯主控模块输出低电平清零这个信号灯的驱动信号;楼层信号是通过LED屏来显示,如果电梯处于停止状态,那么LED显示此前楼层状态。当电梯处在运动状态的时候,对于是否到达另外一层楼,当检测到有效信号时,就说明了到达了另一楼层,若电梯当前为上升的运行状态,那么楼层显示在原有的楼层数上加一层[15]。若电梯为下降的运行状态,则楼层的显示在原有的楼层数的基础上减少一层,同时要显示电梯当前的运行状态。
4. 仿真与测试
打开QuartusII 9.0软件,输入VHDL语言,建立工程后进行编译;编译成功后,建立波形仿真文件,输入信号,对其进行的功能仿真,下面简单介绍一下仿真结果。
(1) 电梯第3层有请求信号时,其仿真波形如图10所示。
图10 二层外有上升请求信号
可以看到波形图上电梯从第1层上升到第3层,位置信号从1变化到2,再到3层,电梯运行位置指示灯,有1层亮,变到2层亮,最后到3层位置电梯停止时一直处于点亮状态,电梯门在三楼时打开。
(2) 电梯7层有请求信号时,其仿真波形如图11所示。
图11 电梯7层有请求信号
当第7层有上升请求信号时,电梯位置有1到2一直到7层,门door打开,电梯位置指示灯由1层连续变化到7层后保持长亮状态,说明电梯停止在7层。
(3) 电梯在第6层有上升信号,第4层有下降信号时,其仿真波形如图12所示。
图12 电梯6层、4层有请求信号
电梯的位置有一层逐层上升到6层,当检测到4层的下降请求时,电梯又逐层下降到4层;在这个过程中,电梯楼层指示灯的变化规律为:从一层变到优尔层,处于长亮状态,检测到下降请求信号时,随楼层变为4层长亮,电梯门在6层和4层时打开。 VHDL基于FPGA的电梯控制器设计+Quartus仿真+电路图(5):http://www.youerw.com/zidonghua/lunwen_807.html