微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FSM的电梯控制系统的设计与实现

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

时间:07-05 来源:互联网 点击:

  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所示。

图4 系统电路原理图

  整个系统设计完成后,经过编译生成.pof文件,仿真成功后,下载到EPM7128SLC84-15芯片中。根据管脚分配图对已有的硬件电路进行连线,实验电路如图5所示。

图5 实验电路图

  3.4 结果分析
  通过对实际的硬件测试,数码管正确显示了楼层,发光二极管响应显示了电梯的状态,通过对不同初始状态的测试,发现除了由按键抖动带来的部分误操作外,电梯的状态转换完全符合电梯运行规则。说明这种设计方法是有效的。
  由于很容易通过编程改变CPLD器件的控制功能,而且电梯运行的基本状态变换规律是不随楼层数变化的,因此,只需要改变相应的输入、输出端口设计就可满足不同楼层数的设计需要。
  4 结束语
  本次设计基于自顶向下的设计方法,用vhdl实现了电梯各状态之间的转换程序控制。在Max+Plus II环境下通过使用Synplify Pro 软件特有的综合功能,从对软件程序的编译、仿真到可编程逻辑芯片的功能实现都进行了优化,大大提高了设计效率。这种方法可广泛用于各种复杂状态机控制的设计之中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top