基于fpga的数字系统设计三层电梯控制器内容摘要:

式来完成 . (2)采用自顶向下的设计流程和不同层次间的并行设计,以确保设计一次成功,而设计人员只要把精力集中在系统概念和方案的优化上。 (3)所有不同层次的设计、仿真、测试和接口工具都集中在统一的开放环境之中,它们都有统一的原始模型、统一的数据格式与数据库管理直至统一的人机界面,使得不同专业、不同厂家的工程设计人员的劳动成果,可以在各个层次上相互调用 . (4)所有 的设计结果都以符合 IEEE 1076标准的 VHDL语言存档,使成果的存贮、共享、转化、改进都得以方便地进行。 (5)在设计时就考虑到成果的测试与验证,在 EDA设计中一般需要四级验证 :功能验证、逻辑验证、时序验证和故障验证 .每一个设计过程都能产生出完整的测试代码,为设计结果的测试检验提供了极大的方便 .超级计算机的 C代码 图 22采用 EDA技术进行设计的总体流程 10 图 22采用 EDA技术进行设计的总体流程 EDA技术依托于各类通用的集成电路制造工艺和高性能的数字信号处理专用片,各种全定制、半定制 集成电路技术,使系统的设计考虑独立于生产工艺成为现实,把设计人员从繁重的手工编程、印制板 (PCB)布线或系统测试 (联调 )等重复劳动中解放出来,使他们集中精力于系统的概念设计和方案优化上 .图 11给出了采用 EDA技术进行系统设计的总体流程 .从图中可以看出, EDA技术为设计人 供了从算法描述、系统仿真、指标优化、电路仿真直到物理实现等各个层次的一整套集成设计工具和环境。 设计者根据系统的各项指标和功能建立系统模型,以框图或语言的形式给出算法描述后,软件工具自动进行系统功能仿真,并优化指标。 11 在完成高层次仿真之后,软件 工具可以进人电路级仿真 .其间也可以人为地进行多层次的修改和反馈 .最后软件工具以图形、文本等多种方式给出设计结果。 这时设计者可以根据自己的需要,利用与物理实现的接口工,选择多种不同的实现方法 .软件实现如直接生成 DSP芯片的汇编代、 C语言代码,或以 PCB , ASIC或FPGAIEPLD等硬件的方法来实具码现目前世界上主要的 EDA厂商有 Cadence Design System Inc. ,Mentor Graphics Inc., SynopsysInc, DazixIntergraph Inc等 . 第 3 章 电梯控制器的具体设计 电梯控制器是控制电梯按顾客的要求自动上下的装置。 ( 1)每层电梯入口处设有上下请求开关,电梯内设有乘客到达层次的停站请求开关。 12 ( 2)设有电梯所处位置指示装置级电梯运行模式(上升或下降)指示装置。 ( 3)电梯每秒升(降)一层楼。 ( 4)电梯到达停站请求的楼层后,经过 1s 电梯门打开,开门指示灯亮,开门4s 后,电梯门关闭(开门指示灯灭),电梯继续运行,直至执行完最后一个请求信号后停在当前层。 ( 5)能记忆电梯内外的所有请求信 号,并按照电梯运行规则次序响应,每个请求信号保留至执行后消除。 ( 6)电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,有下而上逐个执行,直到最后一个上楼请求执行完毕,如更高层有下楼请求,则直接升到有下楼请求的最高楼接客,然后便进入下降模式。 当电梯处于下降模式时,则与上升模式相反。 ( 7)电梯初始状态为一层开门。 控制器的功能模块如图 1 所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。 乘客在电梯中选择所要到达的楼层,同过主控制器的处理, 电梯开始运行,状态显示器显示电梯的运行状态。 电梯所在的楼层数通过译码器译码从而在楼层显示器中显示。 分控制器把有效的请求传给主控制器进行处理,同时显示电梯的运行状态和电梯所在的楼层数。 由于控制器相对简单很多,所以主控制器是核心部分。 状态显示器 主控制器 分控制器 译码器 楼层显示器 楼层显示器 13 图 1 电梯控制器原理框图 主控制器系统由 VHDL 语言实现,其输入输出端口定义如下: library ieee use ieee entity ladder 3 is porl(clk,switch,close,delay:std_logic; //时钟、开关、提前开门、延时关门 dir: in std_logic_vector(2 down to 0)。 //所选的楼层 up lift、 down lift : in std_logic_vector(3 down to 0)。 //分控制器上升、下降请求 qout : out std_logic_vector(3 down to 0); //所到达的楼层 lamp : out std_logic_vector(1 down to 0)。 //电梯运行状态 end ladder 3 结构体分为 3 个进程,分别完成寄存器的置位复位、电梯运行状态判断、时序电路及电梯运行楼层变化和响应提前延时请求。 程序中定义 urr( 3b 上升寄存器), drr( 3b 的下降寄存器), ur(上升寄存器各位相或 ), dr(下降寄存器各位相或), let(判断状态的使能信号),输出端口 qout, lamp 的内部信号 lift、 ladd, 时序内部信号 time。 楼层请求寄存器的复位和置位。 如果乘客进入电梯后所选的楼层大于所在的楼层,而且电梯处于上升或者是 ladd 为“ 01”的等待状态,则给上升请求寄存器 urr 相应的为置位。 当电梯运行到所在的楼层,在 time 等于“ 110”时给该位复位。 如果有多个请求则 urr 响应的位都置位。 下降请求寄存器 drr 原理相似。 寄存器 urr 和 drr 的各位相或后得到 ur 和 dr 信号作为状态变化的条件信号。 电梯运行状态的判断 分为 3 个状态 wait, upper, down。 状态 图如图 2所示。 Switch=1 ur=1 ur=0,dr=0 ur=0,dr=0 ur =1 Wait(等待 ) Upper(上升 ) Down(下降) 14 dr=1 ur=1 图 2 电梯控制器的状态转换图 当电梯开关 switch 为“ 0”时,为等待状态,状态 指示信号 ladd 为“ 00”。 Switch 为“ 1”时, time 为“ 101”而且使能信号 let 有效时,进行状态确定。 没有上升下降请求时也为等待状态。 状态信号 ladd 为“ 01”;上升状态时信号 ladd为“ 11”;下降状态时状态信号为“ 10”。 时序电路及电梯运行时楼层变化和提前延时关门功能:根据 ladd 状态对所到达的楼层数信号 lift 做相应的增减。 电梯在 time 信号跳变到“ 110”时关门,此时设置使能信号 let 为“ 1”,当 time 信号跳变到“ 010”时,如果电梯状 态信号 ladd 为“ 11”,而且使能信号 let 有效时,电梯层数指示器就增加,如果电梯达到了所选择的楼层,则使能信号复位。 电梯门打开。 下降原理类似。 当电梯处于上升状态时,如果有上升请求的分控制器所在楼层数大于电梯所在的楼层数,当电梯运行到相应的楼层数时,电梯开门,让有请求的乘客进入电梯。 分控制器下降请求的原理类似。 如果提前开门有效,则等待时间缩短,如果延时信号有效,则等待时间加长。 总体框图如下图所示: 15 模块、模块功能及相应程序 16 模块 VERYHARDD 见图 3。 该模块是整个程序的核心。 主要的设计思想是将电梯的状态划分为四个:一层状态( c1),二层状。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。