基于FPGA 的六层电梯控制系统郑州轻工业学院电子技术课程设计题目基于FPGA的学生姓名专业班级学号院指导教师完成时间郑州轻工业学院课程设计任务书题目基于FPGA 的六层电梯控制系统专业、班级电子信息工程10-01 学号 541001030136 姓名主要内容、基本要求、主要参考资料等:主要内容:要求学生使用硬件描述语言设计六层电梯控制系统的FPGA源程序,实现如下功能:(1)每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。
(2)设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。
(3)电梯到达有停站请求的楼层,开门指示灯亮,开门后,经一段时延后,电梯门关闭电梯继续进行,直至执行完最后一个请求信号后停留在当前层。
(4)电梯运行规则:当处于上升模式时,只响应比所在位置高的请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;高层有下楼请求,则直接升到请求层,进入下降模式。
当电梯处于下降模式时则与上升模式相反。
基本要求:1、掌握FPGA 的程序设计方法。
2、掌握硬件描述语言语法。
3、掌握有限状态机的原理与实现方法。
4、程序设计完成后要求在软件中实现功能仿真。
主要参考资料:1、王锁萍.电子设计自动化(EDA)教程[M].成都:成都电子科技大学出版社,2006.2、何立民.EDA应用技术选编[M].北京:北京航空航天大学出版社,2008.完成期限:2013.6.21—2013.6.25指导教师签名:课程负责人签名:2013年6月18摘要 (I)1概述 (1)1.1课题背景及意义 (1)1.2 EDA技术及实现方法概述 (1)1.2.1 EDA技术简介 (2)1.2.2 FPGA简介 (3)1.2.3 VHDL语言介绍 (4)1.3 状态机简介 (5)2 系统方案设计 (6)2.1设计要求 (6)2.2 总体设计方案 (6)2.2.1 控制器模块化概述 (6)2.2.2 电梯上下层运行流程图 (7)2.2.3电梯运行控制流程图 (8)2.2.4 电梯控制器设计思路 (9)2.3 设计的VHDL实现 (10)2.3.1 控制器实体设计 (10)2.3.2 控制器结构体设计 (11)3 器件选型 (11)3.1 FPGA芯片选型 (11)3.2 功能模块 (12)3.2.1 主控器模块 (12)3.2.2 分频器模块 (13)3.2.3 译码器模块 (13)3.2.4 数据选择器模块 (14)4 程序仿真 (15)4.1 电梯控制器仿真分析 (15)4.2 其它模块仿真 (19)5 结论 (19)参考文献 (21)致谢 (22)附录 (23)基于FPGA 的六层电梯控制系统摘要本设计是基于电子设计自动化(EDA)技术中的甚高速集成电路硬件描述语言(VHDL)语言,运用FPGA所开发的四层电梯控制程序,采用Quartus II软件仿真。
运用有限状态机的设计方法,设计了两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为辅助进程。
在主进程中定义了7个状态,在电梯时钟的触发下,通过当前状态和信号灯信号判定下一状态。
信号灯控制进程中,信号灯存储按键请求情况,它的熄灭是由状态机进程中传出的信号来控制。
通过程序调试及运行仿真,结果表明,本程序可以完成电梯运行所在楼层显示、电梯运行方向指示、关门延时设置等。
关键词:电梯控制器 VHDL 状态机 FPGA1概述1.1课题背景及意义随高层楼宇的增加,电梯越来越多的走进了人们的生活,对人们的生活的影响越来越大。
为了让电梯更好的服务人们,各种电梯新技术不断地发展起来。
随着人们生活水平的不断提高,经济的快速发展和生产生活的需要,城市高层建筑如雨后春笋拔地而起。
与此相应,作为一种可以垂直升降运输的工具一电梯也得到迅猛的发展。
现在,电梯已完全融入我们的生活、工作及学习中,人们越来越离不开它。
因此,它的安全可靠性、迅速准确性、舒适性,对人们来说都是非常重要的。
为了确保电梯正常运行、安全使用,一般电梯都有专业的维修管理人员。
他们必须对电梯原理、性能、特点、控制、运行要全面认识和掌握,才能做到对电梯的正确使用、管理及维护。
根据我国有关部门的规定,电梯作业属于特种作业,其作业人员必须经过专门培训,并经理论考试和实践考核合格后,发给《特种作业操作证》方可上岗操作。
同时,对电梯操作人员定期考核,让他们定期参加安全技术学习,扎扎实实地做好电梯维护和保养工作,才能使人们平安长久的使用电梯。
电梯控制系统是一个相当复杂的逻辑控制系统.系统要同时对几百个信号进行接收、处理。
由于用户对电梯功能的要求不断提高.其相应控制方式也在不断发生变化。
随着EDA技术的快速发展.基于FPGA的微机化控制已广泛应用于电梯电路设计与控制的各个方面。
在经济不断发展,科学技术日新月异的今天,楼的高度已和经济发展同样的速度成长起来。
作为建筑的中枢神经,电梯起着不可或缺的作用,电梯作为建筑物内的主要运输工具,像其他的交通工具一样,已经成为我们日常生活的一个不可缺少的组成部分。
一个国家的电梯需求总量,主要受其经济增长速度、城市化水平、人口密度及数量、国家产业结构等综合因素的影响。
在全球经济持续低迷的情况下,我国国民经济仍然以较高的速度持续增长,城市化水平不断提高。
这从客观上导致了我国电梯行业的空前繁荣景象,我国已经成为全球最大的电梯市场。
上世纪80年代以来,随着经济建设的持续高速发展,我国电梯需求量越来越大。
总趋势是上升的,电梯行业进入了“第三次浪潮”。
如此庞大的市场需求为我国电梯行业的发展创造了广阔的舞台!1.2 EDA技术及实现方法概述1.2.1 EDA技术简介EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。
下面介绍与EDA基本特征有关的几个概念。
1.“自顶向下”的设计方法,10年前,电子设计的基本思路还是选用标准集成电路“自底向上”地构造出一个新的系统,这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高而且容易出错。
高层次设计是一种“自顶向下”的全新设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。
在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。
然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路。
由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免设计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
2.ASIC设计现代电子产品的复杂度日益提高,一个电子系统可能由数万个中小规模集成电路构成,这就带来了体积大、功耗大、可靠性差的问题。
解决这一问题的有效方法就是采用ASIC芯片进行设计。
ASIC按照设计方法的不同可分为全定制ASIC、半定制ASIC和可编程ASIC(也称为可编程逻辑器件)。
设计全定制ASIC芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由IC厂家去进行掩模制造,做出产品。
这种设计方法的优点是芯片可以获得最优的性能,即面积利用率高、速度快、功耗低,而缺点是开发周期长,费用高,只适合大批量产品开发。
半定制ASIC芯片的版图设计方法分为门阵列设计法和标准单元设计法,这两种方法都是约束性的设计方法,其主要目的就是简化设计,以牺牲芯片性能为代价来缩短开发时间可编程逻辑芯片与上述掩模ASIC的不同之处在于:设计人员完成版图设计后,在实验室内就可以烧制出自己的芯片,无须IC厂家的参与,大大缩短了开发周期。
可编程逻辑器件自70年代以来,经历了PAL、GAL、CPLD、FPGA几个发展阶段,其中CPLD/FPGA属高密度可编程逻辑器件,目前集成度已高达200万门/片,它将掩模ASIC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易地转由掩模ASIC实现,因此开发风险也大为降低。
上述ASIC芯片,尤其是CPLD/FPGA器件,已成为现代高层次电子设计方法的实现载体1.2.2 FPGA简介目前以硬件描述语言(Verilog或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。
一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。
但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。
厂商也可能会提供便宜的但是编辑能力差的FPGA。
因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。
另外一种方法是用CPLD(复杂可编程逻辑器件备)。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程1.2.3 VHDL语言介绍VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,诞生于 1982 年。
1987 年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。
VHDL主要用于描述数字系统的结构,行为,功能和接口。