基于FPGA的电梯的自动控制设计 毕业设计_第1页
基于FPGA的电梯的自动控制设计 毕业设计_第2页
基于FPGA的电梯的自动控制设计 毕业设计_第3页
基于FPGA的电梯的自动控制设计 毕业设计_第4页
基于FPGA的电梯的自动控制设计 毕业设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、 毕 业 设 计题 目 基于fpga的电梯的自动控制设计 姓 名 学 号 20097048 系 部 理工系 专业年级 09电子信息工程2班 指导教师 2013年5月15日中文摘要电梯作为现代化的产物,早在上个世纪就进入了我们的生活之中。大规模的经济建设尤其是蓬勃发展的房地产业给国内电梯行业开拓了更为广阔的市场。随着经济建设的持续高速发展,我国电梯需求量越来越大。由此,一个更为庞大的电梯市场已经在国内轰然形成。我国以前主要都是依靠国外的进口技术,本国的电梯厂商主要都是依靠为进口电梯作销售代理或者售后维修进行经营。但是随着技术的革新和与国外的交流,当今经济建设需求的各类电梯,几乎全部都可以在中国生

2、产。电梯生产作为一门国家的新兴产业,它这种能有减少人口膨胀对环境所造成的巨大压力的特性,注定了其在中国具有一片光明的前景。本设计就是基于电子设计自动化(electronic design automation)技术中的甚高速集成电路硬件描述语言(very high speed integrated circuit hardware descrisioon language)语言所开发的三层电梯控制程序,实验调试平台是altera公司的quartusii软件。本程序具有vhdl语言设计里最为常用的三个模块:实体entity,对控制器的实体(输入输出)端口进行定义;结构体architecture,

3、对控制器内部的信号端进行定义;进程执行单元process,对控制器的所有输入输出端口、内部信号端口进行功能、行为描述。通过程序调试及运行仿真,结果表明,本程序可以完成:电梯运行所在楼层指示、电梯运行方向指示、关门延时设置等。本设计对更高层的电梯控制设计具有一定的拓展性。关键词:电梯控制 程序设计 eda vhdl quartusiititle the lift control design basic on the eda technologyabstract:the lift , as the modernized result, are entered in our life in las

4、t century. extensive economic construction, especially vigorous real estate have opened up the wider market for the trade of domestic lift . with the sustained and rapid development of economic construction, the demand of lift in our country is increasingly large. therefore, a huger lift market has

5、already taken shape with a loud crash at home. our country depended on foreign importing technology mainly in the past, national lift manufacturer was act as for import lift sale agent or after sale to maintain operating to rely on mainly. but with the innovation of technology and and exchange in fo

6、reign countries, all kinds of lifts of the current economic construction demand, can all nearly produce in china now . lift produce as one new industry of country, its characteristic can cut down the population expansion which cause toward the environment enormous of pressure effectively, have been

7、destined that have a slice of bright prospect in china. this thesis designs the three - floor lift controll on the basis of the electron basic on the electronic design automation(eda) technologys the very high-speed integrated circuit hardware describe language(vhdl), it is debuged in the altera com

8、panysquartusii software as a platform in experiment. this procedure has commonly most used three pieces of module in language designs:the entity,the architectureand the process. through testing the connection of the eda case, realize the following main functions: the lift s floor shows, the lift ope

9、ration direction shows; closes prolonging the dog reports to the police; overloads reporting to the police;fault alarm ,etc. the design can make some evolution for designing to on the senior level lift control.keywords: lift control programmer eda vhdl目 录 1 引言51.1 问题的提出51.2总体方案的确定51.2.1plc技术在电梯控制的应用

10、51.2.2单片机技术在电梯控制的应用61.2.3eda技术在电梯控制的应用71.2.4方案选择71.3 设计的基础依据71.3.1 eda技术介绍81.3.2 vhdl语言介绍81.3.3 fpga的简介及特点91.4设计要求92 程序设计112.1 三层电梯控制器的端口设计112.2 三层电梯控制器的状态机设计和进程执行单元122.3程序流程分析132.4程序调试1325程序仿真162.5.1建立波形输入162.6电梯功能的实现与仿真172.6.1仿真步骤182.6.2仿真结果分析18结论21致谢22参考文献23附录24 1 引言1.1 问题的提出当今世界,部分地区人口高度密集,人和土地资

11、源短缺的矛盾日趋激化。这就注定了必须合理地利用土地去解决人与土地的矛盾。而兴建高层建筑是其中的有效措施之一。因此,能使人们快速、便捷地到达目的楼层的电梯便应运而生了。在一些发达国家和地区,人均电梯拥有数量一般在每万人30台以上,某些国家甚至达到每万人120台以上,随着城镇化程度的加大,电梯市场会更加繁华。中国的电梯市场增长也很乐观,目前,每年增长率为15%18%。随着电梯普及率的升温,人们对电梯的要求也会越来越高。如何更安全、更快捷地到达目的楼层,也就成了人们对电梯最为根本的要求。而电梯系统里掌控这方面技术参数的是电梯控制系统。因此,控制系统的设计就成了在电梯设计领域里最为核心的技术。在电子技

12、术飞速发展的今天,现代电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,加速了电子设计技术的普及进程及技术革新。电子设计在日常生活和物质产品生产都占到了举足轻重的地位,这尤其体现在其对电子产品的开发和设计上。面对如此广袤的电梯市场,所谓“科技就是第一生产力”,处于科技前沿的电子设计技术很自然地就与电梯控制设计一拍即合,给设计师们以巨大的设计空间。因此,本设计就是希望在以开发更安全、更快捷的三层电梯控制系统为前提下,结合电子设计技术,对电梯控制进行设计。1.2总体方案的确定1.2.1plc技术在电梯控制的应用由当初的继电器

13、逻辑控制电路到今天广为应用的可编程逻辑控制器及微机控制系统,电梯控制的发展经历了相当长一段历程。为了实现电梯的控制,过去大多是采用继电器逻辑电路,这种逻辑控制方式具有原理简单、直观的特点,但通用性较差,对不同的楼层和不同的控制方式,其原理图、接线图等必须重新制作,且控制系统由许多继电器触点组成,接线复杂、故障率高。因此,它逐渐被可靠性高、通用性强的可编程序控制器及微机控制系统所代替。由plc或微机实现继电器的逻辑控制功能,具有较大的灵活性,不同的控制方式可用相同的硬件,只是软件各不相同。只要把按钮、限位开关、光电开关、无触点行程开关等电器元件作为输入信号,而把制动器、接触器等功率输出元件接到输

14、出端,就算完成了接线任务。通常,电梯功能、层数变化时,无需增减继电器和大量的电路。plc在设计和制造上采取了许多抗干扰措施,输入输出均有光电隔离。能在较恶劣的各种环境里工作、可靠性高,适合于安全性要求较高的电梯控制。plc将cpu、存储器、i/o接口等做成一体,使用方便,扩展容易。具有继电器系统的直观、易懂、易学,应用操作和调试方便等优势。因此,目前在国产电梯及中低档的客梯广泛应用了plc控制系统,特别适用在用电梯的技术改造。电梯既是一种特殊的起重运输设备,具有完善的机械专用结构,又是一种比较复杂的机电一体化的大型工业产品,具有复杂的电气控制系统。就电梯的控制方法而言,目前国产电梯广泛采用可编

15、程控制器技术的智能化控制。由于这种控制属于随机控制,各种输入信号之间、输出信号之间以及输入信号和输出信号之间互相关联,逻辑关系处理起来非常复杂,这就给plc编程带来很大难度。从这种意义上来说,plc编程水平的高低就决定电梯运行状态的好坏,因此plc应用在电梯控制中的编程技术就成为控制电梯运行的关键技术。plc充分利用了微型计算机的原理和技术,具有很强的逻辑处理能力,在电梯运行控制中发挥了重要作用。由于电梯在运行过程中各种输入信号时随机出现的,即信号的出现具有不确定性,同时信号需要自锁保持、互锁保存、优先级排队、数据比较等,因此信号之间就存在复杂的逻辑关系。所以在电梯的运行控制中,plc的编程工

16、作主要是针对各种信号进行逻辑判断和处理。1.2.2单片机技术在电梯控制的应用单片机体积小,处理速度快,价格低廉,功能强大,是合适的控制系统。对电梯的控制主要是选层、启层、换速、平层、停车等几个环节,其中以选层环节最为复杂。与通常的电器控制相比,单片机系统不需要通过“选层器”并且配备以大量的中间继电器作为选层电路的控制设备,避免了设备多,检修困难,运行维护不便,造价成本高。应用微机控制可以取消选层器和大量中间继电器。而且应用单片机控制又相当于应用其他微机减小了外围设备的接口芯片,增强了可靠性。1.2.3eda技术在电梯控制的应用eda技术不是某一学科的分支,或某种新的技能技术,它是一门综合性学科

17、,融合多学科于一体,打破了软件和硬件间的壁垒,使计算机的软件和硬件实现设计效率和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。vhdl具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。eda使得设计者的工作仅限于利用硬件描述语言和eda软件来完成对系统硬件功能的实现。正因eda在设计控制系统中的这些特点,在电梯控制电路上采用eda技术进行开发,越来越受到人们的重视。1.2.4方案选择对于符合市场需求的大规模系统,要达到高效、高速完成,必须有多人甚至多个开发组共同并行工作才能实

18、现。对于用eda技术完成的一个确定的设计,可以利用相应的工具平台进行逻辑综合和优化,完成设计任务。基于eda技术的vhdl语言对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。这为电子设计的入门者提供了便捷的帮助。相信在不远的将来,我国相关的专业技术人员使用eda技术进行工程设计,就像现在使用计算器一样,虽然大部分人不能开办集成电路制造厂,但是却能快速、经济地制造自己的专用集成电路。综上比较,本设计采用eda技术实现对电梯的控制。1.3 设计的基础依据现代电子设计技术的核心是eda技术。基于eda技术开发的实现三层电梯自动控制与目前

19、主流的利用可编程逻辑控制器实现电梯控制紧密相连。硬件描述语言是eda技术的重要组成部分,vhdl是作为电子设计主流硬件的描述语言。使用vhdl语言进行程序设计,在quartusii软件上对程序进行编译、仿真。在quartusii平台上开发具有易学易懂、控制灵活方便、抗干扰能力强、运行稳定可靠等优点。1.3.1 eda技术介绍eda是电子设计自动化(electronic design automation)的缩写,在20世纪90年代初从计算机辅助设计(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)和计算机辅助工程(cae)的概念发展而来的。20世纪90年代,国际上电子和计算机技术较

20、先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如cpld、fpga)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了eda技术的迅速发展。eda技术就是以计算机为工具,设计者在eda软件平台上,用硬件描述语言vhdl完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至

21、对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。eda技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用eda工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出ic版图或pcb版图的整个过程在计算机上自动处理完成。现在对eda的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事、等各个领域,都有eda的应用。目前eda技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到eda技

22、术。1.3.2 vhdl语言介绍vhdl(very high speed integrated circuit hardware description language)语言于1983年由美国国防部发起创建,由电工和电子工程师协会(the institute of electrical and electronics engineer)进一步发展并在1987年作为“ieee1076”发布。从此,vhdl成为硬件描述语言的业界标准之一。vhdl作为一个规范语言和建模语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。vh

23、dl具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。1.3.3 fpga的简介及特点目前以硬件描述语言(verilog或 vhdl)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 fpga 上进行测试,是现代 ic 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如and、or、xor、not)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的fpga里面,这些可编辑的元件里也包含记忆元件例如触发器(flipflop)或者其他更加完整的记忆块。

24、系统设计师可以根据需要通过可编辑的连接把fpga内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品fpga的逻辑块和连接可以按照设计者而改变,所以fpga可以完成所需要的逻辑功能。 fpga一般来说比asic(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的fpga。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的fpga上完成的,然后将设计转移到一个类似于asic的芯片上。另外一种方法是用cpld(复杂可编程逻辑

25、器件备)。 cpld与fpga的关系早在1980年代中期,fpga已经在pld设备中扎根。cpld和fpga包括了一些相对大数量的可以编辑逻辑单元。cpld逻辑门的密度在几千到几万个逻辑单元之间,而fpga通常是在几万到几百万。 cpld和fpga的主要区别是他们的系统结构。cpld是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而fpga却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。 cpld和fpga另外一个区别是大多数的

26、fpga含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。一个因此有关的重要区别是很多新的fpga支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些fpga可以让设备的一部分重新编辑而其他部分继续正常运行。 fpga工作原理fpga采用了逻辑单元阵列lca(logic cell array)这样一个概念,内部包括可配置逻辑模块clb(configurable logic block)、输出输入模块iob(input output block)和内部连线(interconnect)三个部分。 1.4设计要求要求用高速集成电路硬件描述语言(very

27、high speed integrated circuit hardware descripsioon language)设计实现一个3层电梯的控制系统。系统的要求如下:(1)电梯运行规则:当电梯处在上升模式时,只响应比电梯所在位置高的上楼请求,由下向上逐个执行,直到最后一个上楼请求执行完毕。如果高层有下楼请求,直接升到有下楼请求的最高楼层,然后进入下降模式。电梯处在下降模式时,工作方式与上升模式相反。设电梯共有3层,每秒上升或下降一层。(2)电梯初始状态为一层,处在开门状态,开门指示灯亮。(3)每层电梯入口处均设有上下请求开关,电梯内部设有乘客到达楼层的停站请求开关及其显示。 (4)设置电梯

28、所处位置的指示及电梯上升或下降的指示。 (5)电梯到达有停站请求的楼层后,电梯门打开,开门指示灯亮。开门4妙后,电梯门关闭,开门指示灯灭,电梯继续运行,直至执行完最后一个请求信号后停在当前层。 (6)电梯控制系统能记忆电梯内外的请求信号,并按照电梯运行规则工作,每个请求信号执行完毕后清除。 根据电梯控制系统的设计要求,除了具备两个时钟信号clk,一个是电梯时钟信号,另一个是按键时钟信号。以外,还应该定义输入信号和输出信号。输入信号定义如下:系统复位信号:reset,高电平有效;电梯入口处一层、二层的上楼请求开关:f1upbuttion、f2upbuttion;电梯入口处二层、三层的下楼请求开关

29、:f2dnbuttion、f3dnbuttion;电梯内部到达楼层的停站请求开关:stoplbuttion、stop2buttion、stop3buttion。 所有输入信号的规定为:输入信号等于1,表示有请求,信号等于0,表示无请求。输出信号定义如下:电梯外部上升和下降请求指示灯:uplight和downlight,这些信号与f1upbuttion、f2upbuttion、f2dnbuttion、f3dnbuttion信号相对应;电梯内部乘客到达楼层的停站请求灯:stoplight,该信号与stoplbuttion、stop2buttion、stop3buttion信号相对应;电梯运行模式指

30、示:udsig,1代表下降模式,0代表上升模式;电梯所在楼层指示:position,表示电梯在对应楼层;电梯门状态指示:doorlight,1表示开门,0表示关门2 程序设计2.1 三层电梯控制器的端口设计首先考虑输入端口,一个复位端口reset,用于系统不正常时回到初始状态;在电梯外部必须有升降请求端口,一层不需要有下降请求,三层不需要有上升请求,二层则上升下降请求端口都有;在电梯内部应该有各层的停止请求按钮;一个电梯时钟输入端口,以1秒为周期,用于驱动电梯的上升,下降。开门以及关门动作;另外一个按键时钟输入端口,频率要比电梯的高得多在这里要64hz。其次是输出端口,有升降请求信号以后,就得

31、有一个输出端口指示是否被响应,同样,在电梯内部也应该有输出端口来显示各层停留是否响应。在电梯外部需要一个端口来显示电梯所在的位置,电梯开门,关门状态也要用一个端口来显示;为了观察电梯的升降状态,也要有一个端口来指示电梯的升降状态。最后还要显示开门时间,就要有一个端口来输出2.1.1三层电梯的总电路图2.2 三层电梯控制器的状态机设计和进程执行单元首先说明一下状态。状态机设计了10个状态,分别是电梯停留在一层(stopon1),开门(dooropen),关门(doorclose),开门等待1秒(doorwait1),开门等待2秒(doorwait2),开门等待3秒(doorwait3),开门等待

32、4秒(doorwait4),上升(up),下降(down),和停止(stop)。 在结构体中,设计两个进程互相配合,一个是状态机进程的主要进程,另一个是信号灯控制进程作为补助的进程。状态机进程中的很多判断条件是以信号灯进程产生的信号为依据的,而信号灯进程中信号的熄灭又是以状态机进程中传出的clearup,cleardn 信号来控制的。 在状态机进程中,在电梯上升状态中,通过对信号灯的判断,决定下一个状态是继续还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是停止。 在信号灯控制进程中,由于使用了专门的频率比较高的按键时钟,所以按键灵敏度增大,但是时钟频率不能太高,

33、否则容易按键过于灵敏。按下按键后产生的点亮的信号灯用于作为状态机进程中判断条件,而clearup和cleardn信号为逻辑1时相应的信号灯熄灭。2.3程序流程分析电梯的运行规则确立后,需对整个控制程序的设计作一个流程规范。对程序进行模块化构思。根据vhdl语言的规则,程序必须由最基本的实体和结构体构成。实体对控制器的端口进行定义,结构体对各端口的行为进行描述。因此程序运行需经过以下流程:vhdl库调用;确立控制器的端口;根据电梯运行规则,设计相关运行描述;对电梯内外信号进行处理;具体流程图如图1所示:程序开始vhdl库调用设置控制器的端口电梯运行规则描述电梯信号处理程序结束 图1程序流程图2.

34、4程序调试(1)建立好工作目录,以便设计工程项目的存储,打开quartusii软件,其初始界面如图2所示。图2quartus软件初始界面(2)在工具栏中选择“新建”按钮。选择“vhdl file”,如图3所示。图3创建vhdl文本输入(3)在文本输入界面内进行程序输入,如图4所示。图4程序输入界面(4)输入完毕后,需要对程序进行保存。注意文件名和实体定义名必须保持一致,即threeflift,文件后缀名为vhd。(5)保存以后,对程序进行编译。在编译前,需要把文件设置为顶层文件或工程文件project。选择菜单“project”中的“set as top-level entity”。(6)在“

35、quartusii”里选择“processing”下拉菜单中的“start compilation”,此时,quartusii软件会对程序进行纠错等处理。当程序被确认无误后会出现如下界面,如图5所示。图5编译完成2.4.1三层电梯的逻辑电路图 图6逻辑电路图25程序仿真2.5.1建立波形输入(1)编译完成后,新建波形编辑器进行设计仿真。选择菜单“file” 中的“new”项,在ne w窗口中选择“vector waveform file”,单击ok按钮,即出现空白的波形编译器,如图7所示。图7波形编辑器(2)设置仿真时间区域,在“edit”菜单中选择“end time”项,在弹出窗口中设置。(

36、3)将工程threeflift的端口信号名选入波形编辑器中。方法是在编辑器左边name下的空白处右击选择“insert node or bus”项,弹出对话框如图8所示,在node filter框中选“pins:all”,单击list按钮,下方的nodes found 窗口中出现设计工程的所有端口引脚名。图7图8添加节点信号(4)创立输入波形。从上图左边框中往右边框加入需要的信号节点,就可对输入信号逐一赋值,便可对程序进行仿真,观察输出信号,得出结论。如对时钟信赋于周期如下图9 所示。设置好的输入波形如下图10所示。 图9 设置时钟的周期 图10 设计好的输入波形2.6电梯功能的实现与仿真2.

37、6.1仿真步骤(1)仿真器参数设置。选择菜单“assignment”中的“settings”,在“settings”窗口下选择“category”下的“simulator”,右侧设置如下图11所示。图11选择仿真控制(2)启动仿真器。现在所有设置进行完毕,在菜单processing项下选择start simulation,直到出现simulation was successful,仿真结束。仿真结果如下图12。2.6.2仿真结果分析(1) 图12所示仿真的是在第二层电梯外部有上升请求,也就是f2upbuttton信号的一个脉冲,可以看到电梯从一层上升到二层,position信号由00变到01。

38、doorlight信号1表示开门,0表示关门。当电梯到达第二层以后,doorlight信号为1,电梯处在开门状态,经过4秒的关门延迟后,doorlight信号为0,电梯处在关门状态。图12有上升请求时电梯的仿真波形图(2)图13所示仿真的是reset=1,电梯处在不正常工作状态,一直停留在一楼。图13 reset为1时电梯的仿真波形图结论电梯控制器系统设计已经全部完成,基本实现了预期效果,实现了电梯按预定运行规则上升、下降、载客等功能。设计了关门延时功能使电梯运行更加安全更加可靠。在本设计中,因为考虑了扩展性,所以在信号定义的时候就使用了二进制的向量,而不是整数。在设计方法上也做了特殊的设计,

39、所以使得扩展性较好。如果要实现n层电梯的控制,首先在端口的地方就要加入所有的按键,而指示灯只要把向量中的3改成n就可以了。在本设计过程中还需要改进的地方有,电梯运行规则的优化(如设计闲时忙时控制规则)、电梯运行速度的控制、设计更多的报警功能等。电梯控制系统的设计中体现了vhdl覆盖面是如此的广,描述能力强,是一个多层次的硬件描述语言及运行速度快,使用方便,便于修改,设计简单等特点。本设计在实用方面和参考方面具有一定的价值。致谢感谢所有任课老师四年来对我的培养。这个文化底蕴深厚、安详宁静的地方,塑造了我积极、乐观、淡定的人生态度,刻画了我永远留恋的青春记忆,让我在这即将离别的时候如此不舍。在此,

40、我要向诸位老师说声谢谢。当然也要感谢我的父母,我所迈出的每一步,都凝聚着你们心血和汗水,你们始终如一的支持和关爱,是我一直勇敢向前的动力。同时也要感谢我的同学和朋友,我将永远记得你们伴我走过的每一个有欢笑有泪水的日子,是你们的关心和帮助,让我感受到了家的温暖。参考文献1王锁萍.电子设计自动化(eda)教程m.成都:成都电子科技大学出版社,2006,6790.2 邱玉春. 李文俊.vhdl系统设计m.电子产品世界,2007, 5053.3 苏长赞. 电梯设计与应用m. 北京:人民邮电出版社,2008,7691.4 彭为. 数字系统设计m. 电子工业出版社,2006,6171.5 戴佳. vhdl

41、程序设计实例精讲m. 电子工业出版社,2007,8892.6 朱清慧. vhdl教程. 清华大学出版社m.2008,201210.7 何立民eda应用技术选编m北京:北京航空航天大学出版社,2008,44518 李华eda实用接口技术m. 北京航空航天大学出版社2003,176182.9 谭会生,张昌凡.eda技术及应用.第二版.西安电子科技大学出版社,200910 谭会生,瞿遂春.eda技术综合应用实例与分析.西安电子科技大学出版社,200411 王志鹏,付丽琴可编程逻辑器件开发技术max+plusii北京:国防工业出版社.200412 王金明,杨吉斌.数字系统设计本文源自网与verilog

42、 hdl.北京:电子工业出版社,200213 潘松,黄继业.eda技术实用教程.北京:科学出版社,200214 李国丽,朱维勇.电子技术实验指导书.合肥:中国科技大学出版社,200015潘松,王国栋. vhdl实用教程(修订版)m.成都:成都电子科技大学出版社,2002,4587.附录library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;-输入输出口定义entity threeflift isport(buttonclk: in std_logi

43、c;liftclk: in std_logic;reset: in std_logic;f1upbutton:in std_logic; -一楼上升请求f2upbutton:in std_logic; -二楼上升请求f2dnbutton:in std_logic; -二楼下降请求f3dnbutton:in std_logic; -三楼下降请求fuplight: buffer std_logic_vector(3 downto 1); -上升指示灯fdnlight:buffer std_logic_vector(3 downto 1); -下降指示灯stop1button,stop2button

44、,stop3button:in std_logic;stoplight: buffer std_logic_vector(3 downto 1);position: buffer integer range 1 to 3;doorlight:out std_logic;udsig: buffer std_logic); - 升降指示end threeflift;- -architecture art of threeflift istype lift_state is -十个状态的定义(stopon1,dooropon,doorclose,doorwait1,doorwait2,doorwai

45、t3,doorwait4,up,down,stop);signal mylift: lift_state;signal clearup: std_logic; -用于清除上升请求信号signal cleardn: std_logic; -用于清除下降请求信号begin ctrlift: process(reset,liftclk)variable pos: integer range 3 downto 1;beginif reset='1' then -初始化时mylift<=stopon1;clearup<='0'cleardn<='

46、0'else -正常运行时if liftclk'event and liftclk='1' thencase mylift iswhen stopon1=>doorlight<='1'position<=1; pos:=1;mylift<=doorwait1;when doorwait1=>mylift<=doorwait2;when doorwait2=>clearup<='0'cleardn<='0'mylift<=doorwait3;when doo

47、rwait3=>mylift<=doorwait4;when doorwait4=>mylift<=doorclose;when doorclose=>doorlight<='0'-电梯在关门状态下执行if udsig='0' then if position=3 thenif stoplight="000" and fdnlight="000" and fuplight="000"thenudsig<='1' mylift<=doorcl

48、ose;else udsig<='1'mylift<=down;end if;elsif position=2 thenif stoplight="000" and fdnlight="000" and fuplight="000"thenudsig<='0'mylift<=doorclose;elsifstoplight(3)='1' or (stoplight(3)='0' and fdnlight(3)='1')thenuds

49、ig<='0'mylift<=up;else udsig<='1'mylift<=down;end if;-elsif position=1 then if stoplight="000" and fdnlight="000" and fuplight="000"then udsig<='0'mylift<=doorclose;else udsig<='0'mylift<=up;end if;end if;-elsif ud

50、sig<='1' then if position=1 then if stoplight="000" and fuplight="000" and fdnlight="000" thenudsig<='0'mylift<=doorclose;else udsig<='0'mylift<=up;end if;elsif position=2 thenifstoplight="000" and fuplight="000"

51、; and fdnlight="000" thenudsig<='1'mylift<=doorclose; elsif stoplight(1)='1'or(stoplight(1)='0' and fuplight(1)='1') thenudsig<='1'mylift<=down;else udsig<='0'mylift<=up;end if;elsif position=3 then if stoplight="000&qu

52、ot; and fuplight="000" and fdnlight="000" then udsig<='1'mylift<=doorclose;else udsig<='1'mylift<=down;end if;end if;end if;-当电梯在上升状态时执行when up=>position<=position+1;pos:=pos+1;if pos<3 and(stoplight(pos)='1' or fuplight(pos)='1')then mylift<=stop;elsif pos=3 and(stoplight(pos)='1'or fdnlight(pos)='1')then mylift<=stop;else mylift<=doorclose;end if;-当电梯在下降状态时执行when down=>position

温馨提示

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

评论

0/150

提交评论