基于FSM的电梯控制系统的设计与实现

时间:2012-07-05来源:网络

  2.2.2程序设计
  在构造体的设计中www.cechina.cn,设计了两个进程相互配合,一个是状态机进程,另外一个是信号灯控制进程。状态机进程中的很多判断条件是以信号灯进程产生的信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是由状态机进程中传出来的“up(上升)”和“down(下降)”信号来控制的。
  在状态机进程中,在电梯处于上升状态时,通过对信号灯来判断,决定下一个状态是继续上升还是停止;在电梯下降状态中www.cechina.cn,也是通过对信号灯的判断,决定下一个状态时继续下降还是停止;在电梯停止状态中,判断是最为复杂的,通过对信号灯的判断,决定电梯是上升、下降还是停止。
  在信号灯控制进程中,由于使用了专用的按键时钟,频率较高,所以使得按键的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏,按键后产生的点亮的信号灯(逻辑值为‘1’)用于作为状态机进程的判断条件,而up和down信号逻辑‘1’使得相应的信号灯熄灭。
  2.3显示模块的设计
  采用动态显示模式,循环点亮三个数码管,在扫描频率大于人眼睛的视觉暂留频率(24HZ)以上,就可以达到点亮单个七段数码管显示器,却能像有3个数码管同时点亮的视觉效果。
  将楼层上升、下降以及楼层停止的信号用七段数码管显示出来,电梯上升、下降、停止输出的信号用3位二进制数表示,通过七段译码器将电梯状态控制器输出的3位二进制数译码为七段数码管的输入所需要的7位二进制数。最简的真值表如表2.3所示.相应的译码程序以及多路选择显示程序从略。

  2.4分频器的设计
  分频器是将输入的4MHZ信号分频为1Hz的信号,提供给状态机作为输入信号,另外分频器分频到4000HZ给动态显示模块以及按键模块作为扫描信号。根据设计的需要设计了三个分频器。
  2.5 输入端口设计
  在状态机的设计中www.cechina.cn,针对CPLD的容量,以三层电梯运行为例,定义了8个按键输入端。分别是:(1) 异步置位按键、(2)1层上升请求按键、(3) 2层上升请求按键、(4) 2层下降请求按键、(5) 3层下降请求按键 、(6)电梯1层停止请求按键、(7)电梯2层停止请求按键、(8)电梯3层停止请求按键。
  3 设计结果及分析
  3.1 电梯状态控制器的Synplify综合
  使用Synplify pro对用VHDL语言编制的有限状态机的状态变化控制程序进行综合,经过综合之后的“RTL”(寄存器传输级)方式的电路原理图如图2所示。

图2 Synplify pro 综合后的状态转移图

  3.2 仿真
  综合编译完成后,值reset信号高电平有效,置为0,选择liftclk时钟信号为1HZ、buttonclk信号时钟为4000HZ。配置适当的输入信号,得到如图3的仿真结果。
  原先电梯停留在第一层,电梯外第三层有下降请求,电梯上升到三层,乘客进入电梯以后要求下降一层,此时,电梯二层有下降请求,接着又有上升请求,电梯首先在第二层停留,然后下降到一层,随后再在响应第二层上升请求,上升到二层,乘客进入电梯以后要求上升到三层,所以电梯最后停留的位置是三层。

图3 三层电梯的仿真波形图四

  3.3 实验结果
  在完整的系统设计中使用 Max+Plus II完成VHDL描述和原理图的层次设计。在底层设计中,用VHDL分别实现每一个模块的功能,将每个模块生成可供Max+Plus II调用的器件符号,再将这些器件符号连接在一起构成整个系统原理图,如图4所示。

1 2 3

关键词: FSM 电梯控制系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版