EDA中的电梯控制器的系统设计方案
扫描二维码
随时随地手机看文章
根据系统设计要求,并考虑到系统的可验证性,整个系统的输入输出接口设计如图1所示:系统工作用2 Hz基准时钟信号CLKIN,楼层上升请求键UPIN,楼层下降请求键DOWNIN,楼层选择键入键ST_CH,提前关门输入键CLOSE,延迟关门输入键DELAY,电梯运行的开关键RUN_STOP,电梯运行或停止指示键LAMP,电梯运行或等待时间指示键RUN_WAIT,电梯所在楼层指示数码管ST_OUT,楼层选择指示数码管DIRECT。
如图1 电梯控制器DTKZQ的输入输出接口图
电梯的控制状态包括运行状态、停止状态及等待状态,其中运行状态又包含向上状态和向下状态。主要动作有开、关门,停靠和启动。乘客可通过键入开、关门按钮,呼唤按钮,指定楼层按钮等来控制电梯的行与停。
据此,整个电梯控制器DTKZQ应包括如下几个组成部分:①时序输出及楼选计数器;②靶梯服务请求处理器;③电梯升降控制器;④上升及下降寄存器;⑤电梯次态生成器。该电梯控制器设计的关键是确定上升及下降寄存器的置位与复位。整个系统的内部组成结构图如图2所示。
如图2 电梯控制器的内部组成结构图
由上面的内部组成结构图可知,系统中的模块较少,因此我们可采用多进程的方式进行VHDL程序设计。程序中主要进程有四个(见后述的DTKZQ.VHD):分频及楼选信号产生进程P1,楼层请求寄存器的置位与复位进程P2,电梯运行的次态控制进程P3,电梯运行楼层计数及提前/延迟关门控制进程M。其中P3是最重要的一个进程,合理判断电梯的运行次态是完成本设计的关键。
Pl进程将CLKIN 2分频,产生1 Hz的时钟信号驱动M进程。Pl进程同时对DIR加1计数,从“0000”计到“1111”。
P2进程通过楼层选择指示变量DIR、电梯所在楼层变量LIFTOR和输入信号UPIN,DOWNIN、ST_CH来判断UR、DR的置位。
P3进程根据UR/DR的寄存器状态和电梯所在楼层变量LIFTOR,当WAI_T=110时,给出电梯的下一个状态。LADD为电梯的下一状态的指示变量,“11”表示上升,“10”表示下降,“01”或“00”表示等待状态。
P4进程由DIVID信号驱动,它响应CLOSEX,DELAYX信号,完成提前关门和延时关门请求,并根据LADD的状态对LIFTOR变量做相应的增减。LIFTOR加1产生ST_OUT输出信号,LADD(1)则直接输出给LAMP变量。
来源:ks990次