本帖最后由 GoldSunMonkey 于 2013-2-24 23:48 编辑
程序设计中采用方向优先原则,即若电梯处于上升状态,即使有1,2层用户发出上升/下降请求,电梯也不响应,而继续上升,直到响应完所有4~16层用户的请求后,再下降;反之,若电梯处于下降状态,即使4~16用户发出上升/下降请求,电梯也不响应,继续下降,直到响应完所有用户的请求后再上升。 (4)P4进程该进程主要完成电梯运行楼层计数及提前/延迟关门控制。 4 VHDL源程序的仿真 系统程序编写完毕后,在MAX+pluslI软件环境下对其编译仿真。其仿真试验结果如图4所示。 图4中,输入信号为:UPIN,ST_CH,RUN_STOP,DOWNIN,DELAY,CLOSE和CLKIN;输出信号为:ST_OUT, RUN_WAIT,LAMP,DIRECT,DIR,LIFTOR和WAI_T。当时钟上升沿到来时,若WAI_T=0,则它的下一状态为6;因 DELAY信号始终为低电平,故WAI_T依次自减1计数。RUN_WAIT是WAI_T和0的并置运算,故其值和WAI_T相同。 当时钟上升沿到来时,DIR进行加1计数,且当DIR=0XF时,DIR的下一状态值为0。与此同时,DIR加1并赋值给DIRECT。 当LAMP为低电平时,电梯处于等待状态,故LIFTOR保持其原值不变保持0和3不变;当LAMP为高电平时,电梯处于运行状态,因UPIN始终为高电平,DOWNIN始终为低电平,故当RUN_STOP为高电平时,电梯只能处于上升状态,故LIFFOR进行自加1计数,同时,LIFTOR加1赋值给 ST_OUT。 5 硬件实验 在MAx+plusII软件编译完后,采用EPM7128SLC84-6器件下载VHDL源程序,进行硬件试验。 其下载步骤为:首先,指定采用可编程器件EPM7128SLC84-6;其次,依据输入、输出端口指定与之对应的引脚;然后,使用Pof2Jed软件将编译后的下载文件*.Pof。转换成*.Jed文件;最后,使用Atmel ISP软件将转换后的*.Jed文件转换成*.Chn文件。 硬件系统试验表明,输出信号的显示与软件仿真结果完全相符,达到设计要求。 6 结论 该系统软件设计中,成功编译并仿真VHDL源程序,且对仿真图进行合理分析。在硬件实验过程中,对VHDL源程序进行成功下载,所得实验结果与软件仿真结果完全相符,从而证明电梯运行控制器的设计满足系统功能要求。 |