EDA中的电梯控制器的系统设计方案
发布时间:2008/10/21 0:00:00 访问次数:1105
根据系统设计要求,并考虑到系统的可验证性,整个系统的输入输出接口设计如图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变量。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
根据系统设计要求,并考虑到系统的可验证性,整个系统的输入输出接口设计如图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变量。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)