基于EDA的电梯控制器_第1页
基于EDA的电梯控制器_第2页
基于EDA的电梯控制器_第3页
基于EDA的电梯控制器_第4页
基于EDA的电梯控制器_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录摘要1第1章 绪论31.1 EDA技术的概念31.2 EDA技术的特点31.3 EDA设计流程31.4硬件描述语言(VHDL)4第2章 电梯控制器的设计目的与设计思路52.1设计目的52.2设计思路5第3章 电梯控制器的综合设计63.1 控制器的设计方案63.2 电梯控制器实体设计73.3 电梯控制器结构体设计73.4 控制器的VHDL程序设计83.5 电梯控制器仿真波形123.5.1 在第一层上升请求信号123.5.2 在第五层下降请求信号133.5.3 在第四层上升时第三层下降请求信号13小节2致谢2参考文献3摘要电梯作为现代化的产物,早在上个世纪就进入了我们的生活之中。对于电梯的控制

2、,传统的使用继电器-接触器系统进行控制已不能满足人们的要求。随着EDA技术的发展,FPGA已经广泛应用于电子设计控制的各个方面。本设计就是使用一片FPGA来实现对电梯的控制。本设计是基于VHDL语言开发的五层电梯控制器。以Quartus II 7.2为开发环境。其功能包括:显示电梯当前所在楼层、显示有请求发生的楼层、响应楼层请求、关门延时设置、电梯开关门显示。关键词:电梯控制器、EDA、FPGA、VHDL。abstractThe lift,as the modernized result,are entered in our life in last century.For the eleva

3、tor control,the traditional approach is to use relay-contractor control system to control.With the development of EDA technology,FPGA has been widely used in all aspects of electronic design control,The design is to use an FPGA to realize the elevator control.The graduation project is based on the V

4、HDL language development of five elevator control.To Quartus II 7.2 development.Its features include:show floor where the lift current,showed that the request happened floors,floor to respond to the request,closing delay setting,elevator door open display.Kaywords:lift control、FPGA、VHDL、EDA.第1章 绪论1.

5、1 EDA技术的概念EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。1.2 EDA技术的特点利用EDA技术进行电子系统的设计,具有以下几个特点:用软件的方式设计硬件;用软件方式设计的系统到硬件系

6、统的转换是由有关的开发软件自动完成的;设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。1.3 EDA设计流程1、 文本/原理图编辑与修改。首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。2、 编译。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。3、综合。将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。4、行为仿真和功能仿真。利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。5、适配

7、。利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。6、功能仿真和时序仿真。7、下载。如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD下载电缆载入目标芯片中。8、硬件仿真与测试。1.4硬件描述语言(VHDL)VHDL(Very-High-Speed Integrated Circuit Hardoverre Description Language)主要用于描述数字系统的结构,行为,功能和接口

8、。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本。1、用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。2.VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。3.V

9、HDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。4.可以进行从系统级到逻辑级的描述,即混合描述。5.VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建模。第2章 电梯控制器的设计目的与设计思路2.1设计目的随着现代社会的发展,人民生活水平的不断提高。商业大厦、商业办公楼、行政大楼、宾馆和居民公寓的不断加高。电梯已经成为现代智能化建筑内必不可少的代步工具,随之而来人们对电梯的要求也越来越高。通过对电梯控制系统的设计,加深对所学EDA课程基本知识的理解和对VHDL语言的综合应用。通过对此课题的设计,提高分析解决实际问题的能力,在设计中了解VHDL语言硬件编程的流程,培

10、养运用VHDL语言进行实际设计的思路,进而提高设计能力,为以后的工作打下坚实的基础。2.2设计思路电梯控制器是控制电梯按顾客要求自动上下的装置。采用VHDL语言来设计实用5层电梯控制器,VHDL程序经MAX+plus II软件仿真。控制器VHDL程序满足以下七个条件:1、每层电梯的入口处设有上下请求开关(1层是最低层,不需要有下降请求;5层是最高层,不需有上升请求),电梯内设有乘客选择楼层的请求开关。2、设有电梯所处位置指示装置及电梯运行模式(上升或下降)指示装置。3、电梯每秒升降一层。4、电梯到达有停站请求的楼层后,经过1s电梯打开,开门指示灯亮,开门4s后,电梯门关闭(开门指示灯灭),电梯

11、继续运行,直至执行完请求信号后停在当前层。5、电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼信号,由下至上依次执行,直到最后一个上楼请求执行完毕,如更高层有下楼请求时,则直接升到该楼层接客,然后进入下降模式。当电梯处于下降模式时,与上升模式相反。6、能记忆电梯内外的所有请求信号,并依照运行规则依次响应,每个请求信号执行后清除。7、将电梯初始状态视为第一层关门状态。第3章 电梯控制器的综合设计3.1 控制器的设计方案控制器包括主控制器、楼层选择器、状态显示器、译码器和楼层显示器等5个模块(如图3-1所示)。乘客通过楼层选择器选择所要到达的楼层,经过主控制器的处理,电梯开始运行,

12、同时状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显示。控制器的结构图如3-2所示。3-1控制器原理图图3-2控制器结构图3.2 电梯控制器实体设计首先在输入端口设置一个异步复位端口reset,用于系统不正常时回到初始状态;在电梯外部设有升、降请求端口(1层是最低层,不需要有下降请求;5层是最高层,不需要有上升请求)。在电梯的内部,设置各层停留的请求端口;一个电梯时钟输入端口,该输入时钟以1秒为1个周期,用于驱动电梯的升降及开门关门等动作;另有一个按键时钟输入端口,时钟频率比电梯时钟高。其次是输出端口,在有升降请求信号以后,通过输出端口来指示请求是否被响应,有请求

13、信号以后,该输出端口输出逻辑l。被响应以后恢复逻辑O;同样,在电梯内部也应该有这样的输出端口来显示各层停留是否被响应;在电梯外部,需要一个端口来指示电梯现在所处的位置;电梯开门关门的状态也用一个输出端口来指示。为了观察电梯的运行是否正确,还需设置一个输出端口来指示电梯的升降状态。3.3 电梯控制器结构体设计首先定义一下状态。本设计设置了lO个状态,分别是电梯停留在l层(stoponl)、开门(dooropen)、关门(doorclose)、开门等待第1秒(dooroveritl)、开门等待第2秒(dooroverit2)、开门等待第3秒(dooroverit3)、开门等待第4秒(doorove

14、rit4)、上升(up)、下降(down)和停止(stop)。在实体说明定义完端口之后,在结构体architecture和begin之间需要有如下的定义语句,来定义状态机。TYPE lift_state IS(stoponl,dooropen,doorclose,dooroveritl,dooroverit2,dooroverit3,dooroverit4,up,down,stop):SIGNAL mylift:lift_state:在结构体中,两个进程互相配合。一个是状态机进程作为主要进程,另外一个是信号灯控制进程作为辅助进程。状态机进程中的很多判断条件是以信号灯进程产生的信号灯信号为依据,

15、而信号灯进程中信号灯的熄灭又是由状态机进程中传出的clearup和cleardn信号来控制。在状态机进程中,在电梯的上升状态中,通过对信号灯的判断,决定下一个状态是继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是停止;在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电梯是上升、下降还是停止。在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键后产生的点亮的信号灯(逻辑值为1)用于作为状态机进程中的判断条件,而clearup和cleardn信号为逻辑l使得相应的信号灯熄

16、灭。3.4 控制器的VHDL程序设计library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity dianti is port (clk: in std_logic; (频率为1Hz的时钟信号) full,deng,quick,clr : in std_logic; (超载、关门中断、提前关门、清除报警信号)c_u1,c_u2,c_u3,c_u4: in std_logic; (电梯外的上升请求信号) c_d2,c_d3,c_d4,

17、c_d5: in std_logic; (电梯外的下降请求信号)d1,d2,d3,d4,d5 : in std_logic; (电梯内的请求信号) g1,g2,g3,g4,g5 : in std_logic; (到达楼层信号)door: out std_logic_vector(1 downto 0); (电梯门控制信号)led: out std_logic_vector(6 downto 0); (电梯所在楼层显示)led_c_u:out std_logic_vector(4 downto 0); (电梯外上升请求信号显示)led_c_d:out std_logic_vector(4 dow

18、nto 0); (电梯外下降请求信号显示) led_d : out std_logic_vector(4 downto 0);(电梯内请求信号显示)over: out std_logic;(报警信号)ud,alarm : out std_logic; (电梯运动方向显示,超载警告信号)up,down : out std_logic ); (电机控制信号和电梯运动)end dianti;architecture behave of dianti issignal c_d22,c_d33,c_d44:std_logic;signal q:integer range 0 to 1;signal q1

19、:integer range 0 to 6;signal q2:integer range 0 to 9;signal dd,cc_u,cc_d,dd_cc:std_logic_vector(4 downto 0);signal opendoor:std_logic;signal updown:std_logic;signal en_up,en_dw:std_logic;begincom:process(clk)beginif(clk'event and clk='1')thenif (clr='1')then q1<=0;q2<=0;ove

20、r<='0'elsif full='1'then alarm<='1'q<=0;if (q1>=3)then door<="10"else door<="00"end if;elsif q=1 then q<=0;alarm<='0'if q2=3 then over<='1'elsif(opendoor='1')then door<="10"q1<=0;q2<=0;u

21、p<='0'down<='0'elsif en_up='1'thenif(deng='1')then door<="10"q1<=0;q2<=q2+1;elsif quick='1' then q1<=3;elsif q1=6 then door<="00"updown<='1'up<='1'elsif q1>=3 then door<="01"q1<=

22、q1+1;else q1<=q1+1;door<="00"end if;elsif en_dw='1'thenif(deng='1')then door<="10"q1<=0;q2<=q2+1;elsif quick='1' then q1<=3;elsif q1=6 then door<="00"updown<='0'down<='1'elsif q1>=3 then door<=&quo

23、t;01"q1<=q1+1;else q1<=q1+1;door<="00"end if;end if;if(g1='1')then led<="1001111"if d11='1'or c_u11='1'then d11<='0'c_u11<='0'opendoor<='1'elsif dd_cc>"0001"then en_up<='1'opendoor&l

24、t;='0'elsif dd_cc="0000"then opendoor<='0'end if;elsif g2='1' then led<="0010010"if updown='1'thenif d22='1'or c_u22='1'then d22<='0'c_u22<='0'opendoor<='1'elsif dd_cc>"0011"then e

25、n_up<='1'opendoor<='0'elsif dd_cc<"0010"then en_dw<='1'opendoor<='0'end if;elsif d22='1'or c_d22 ='1'then d22<='0'c_d22<='0'opendoor<='1'elsif dd_cc>"0011"then en_up<='1'

26、opendoor<='0'elsif dd_cc<"0010"then en_dw<='1'opendoor<='0'end if;elsif g3='1' then led<="0000110"if updown='1'thenif d33='1'or c_u33 ='1'then d33<='0'c_u33<='0'opendoor<='1'el

27、sif dd_cc>"0111"then en_up<='1'opendoor<='0'elsif dd_cc<"0100"then en_dw<='1'opendoor<='0'end if;elsif d33='1'or c_d33='1'then d33<='0'c_d33<='0'opendoor<='1'elsif dd_cc>"01

28、11"then en_up<='1'opendoor<='0'elsif dd_cc<"0100"then en_dw<='1'opendoor<='0'end if;elsif g4='1' then led<="1001100"if d44='1'or c_d44='1'then d44<='0'c_d44<='0'opendoor<='

29、1'elsif dd_cc<"1000"then en_dw<='1'opendoor<='0'end if;else en_up<='0'en_dw<='0'end if;end if;else q<=1;alarm<='0'if (d1='1')then d11<=d1;elsif d2='1'then d22<=d2;elsif d3='1'then d33<=d3;elsi

30、f d4='1'then d44<=d4;end if;if c_u1='1'then c_u11<=c_u1;elsif c_u2='1'then c_u22<=c_u2;elsif c_u3='1'then c_u33<=c_u3;end if;if c_d2='1'then c_d22<=c_d2;elsif c_d3='1'then c_d33<=c_d3;elsif c_d4='1'then c_d44<=c_d4;end if;d

31、d<=d44&d33&d22&d11;cc_u<='0'&c_u33&c_u22&c_u11;cc_d<=c_d44&c_d33&c_d22&'0'dd_cc<=dd or cc_u or cc_d;end if;ud<=updown;led_d<=dd;led_c_u<=cc_u;led_c_d<=cc_d;end if;end process;end behave;3.5 电梯控制器仿真波形3.5.1 在第一层上升请求信号3.5.2 在第五层下降请求信号3.5.3 在第四层上升时第三层下降请求信号小节在设计中,考虑到程序的扩展性,所以在信号定义的时候使用了二进制向量,而不是整数。在设计方法上也做了特殊的设计,所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论