完整版基于EDA技术的电梯控制器实现与仿真毕业论文.docx
- 文档编号:9580196
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:47
- 大小:745.91KB
完整版基于EDA技术的电梯控制器实现与仿真毕业论文.docx
《完整版基于EDA技术的电梯控制器实现与仿真毕业论文.docx》由会员分享,可在线阅读,更多相关《完整版基于EDA技术的电梯控制器实现与仿真毕业论文.docx(47页珍藏版)》请在冰豆网上搜索。
完整版基于EDA技术的电梯控制器实现与仿真毕业论文
基于EDA技术的电梯控制器实现与仿真
——六层电梯控制器的设计
摘要:
在现代社会和经济活动中,计算机技术、自动控制技术和电力电子技术得到了迅速的发展,电梯已经成为城市物质文明的一种标志。
在高层建筑中,电梯是不可缺少的垂直运输设备。
随着经济建设的持续高速发展,我国电梯需求量越来越大,电梯生产已成为我国一门极具前景的新兴产业。
针对我国电梯业现状,本设计以电子设计自动化(Electronic Design Automation)技术中的高速集成电路硬件描述语言(VeryHighSpeedIntegratedCircuitHardwareDescrisioonLanguage)编写六层电梯控制程序,实验调试平台是Altera公司的QuartusII
软件。
此程序具有VHDL语言设计里最为常用的三个模块:
实体entity,结构体architecture,进程执行单元process。
通过程序调试及运行仿真,结果表明,本程序可以完成:
电梯运行所在楼层指示、电梯运行方向指示、关门延时设置、看门狗报警、超载报警、故障报警等。
本设计对更高层的电梯控制设计具有一定的拓展性。
关键词:
电梯控制;程序设计;EDA;VHDL;QuartusII
目录
1前言1
1.1问题的提出--1
1.2设计目的----1
1.3课题的主要工作
2总体方案的确定--1
2.1PLC技术在电梯控制的应用1
2.2单片机技术在电梯控制的应用
2.3EDA技术在电梯控制的应用3
2.4方案选择----3
3设计的基础依据--4
3.1EDA技术介绍4
3.2VHDL语言介绍
3.3QuartusII软件介绍
4程序设计及调试--9
4.1算法分析----9
4.1.1电梯运行规则
4.1.2程序流程分析
4.2程序设计说明3
4.2.1端口、寄存器设计说明
4.2.2模块设计说明
4.2.3具体语句设计说明--16
4.3程序调试---20
5程序仿真
5.1建立波形输入2
5.2电梯功能的实现与仿真结果5
5.2.1仿真步骤
5.2.2电梯功能实现与仿真结果分析---26
6设计总结
致谢---33
参考文献4
附录---35
基于EDA技术的电梯控制器实现与仿真
———六层电梯控制器的设计
06自动化黎国伟
指导老师:
王杏进讲师
1前言
1.1问题的提出
人和土地资源短缺的矛盾日趋激化,我国地少人多的国情,注定了我们必须合理解决人与土地的矛盾。
兴建高层建筑是其中的有效措施之一,随之楼层电梯业便应运而生。
随着我国城镇化程度的加大,电梯市场越来越繁华,人们对电梯的要求越来越高。
如何更安全、更快捷地到达目的楼层,也就成为了人们对电梯的最为根本的要求。
因此,本设计就六层电梯控制器设计为例,结合EDA技术,对电梯控制进行设计。
1.2设计的目的
针对我国楼层层数的基本水平,本着“一理通,百理明”的原则,本设计希望通过简单的六层电梯控制器的设计,为广大电梯设计者提供一个基础。
针对目前中小型电梯所能实现的功能,本控制器虚拟实现以下功能:
(1)指示电梯所在楼层;
(2)电梯基本运行;
(3)关门延时设置;
(4)提前关门设置;
(5)看门狗设置;
(6)超载报警;
(7)故障报警。
1.3课题的主要工作
利用VHDL语言编程实现六层电梯控制器各个模块的功能,并用QuartusII对本文进行设计,讨论六层电梯控制器设计的思路、示意图、结构图、流程图及程序仿真图。
将设计在EDA工具QuartusII下进行时序仿真,得到仿真结果,验证六层电梯控制器设计的正确性。
2总体方案的确定
2.1PLC技术在电梯控制的应用
由当初的继电器逻辑控制电路到今天广为应用的可编程逻辑控制器及微机控制系统,电梯控制的发展经历了相当一段历程。
为了实现电梯的控制,过去大多是采用继电器逻辑电路,这种逻辑控制方式具有原理简单、直观的特点,但通用性较差,对不同的楼层和不同的控制方式,其原理图、接线图等必须重新制作,且控制系统由许多继电器触点组成,接线复杂、故障率高。
因此,它逐渐被可靠性高、通用性强的可编程序控制器及微机控制系统所代替。
由PLC或微机实现继电器的逻辑控制功能,具有较大的灵活性,不同的控制方式可用相同的硬件,只是软件各不相同。
只要把按钮、限位开关、光电开关、无触点行程开关等电器元件作为输入信号,而把制动器、接触器等功率输出元件接到输出端,就算完成了接线任务。
通常,电梯功能、层数变化时,无需增减继电器和大量的电路。
PLC是一种用于自动控制的专用微机,实质上属于微机控制方式。
PLC在设计和制造上采取了许多抗干扰措施,输入输出均有光电隔离。
能在较恶劣的各种环境里工作、可靠性高,适合于安全性要求较高的电梯控制。
PLC将CPU、存储器、IO接口等做成一体,使用方便,扩展容易。
具有继电器系统的直观、易懂、易学,应用操作和调试方便等优势。
因此,目前在国产电梯及中低档的客梯广泛应用了PLC控制系统,特别适用在用电梯的技术改造。
电梯既是一种特殊的起重运输设备,具有完善的机械专用结构,又是一种比较复杂的机电一体化的大型工业产品,具有复杂的电气控制系统。
就电梯的控制方法而言,目前国产电梯广泛采用可编程控制器技术的智能化控制。
由于这种控制属于随机控制,各种输入信号之间、输出信号之间以及输入信号和输出信号之间互相关联,逻辑关系处理起来非常复杂,这就给PLC编程带来很大难度。
从这种意义上来说,PLC编程水平的高低就决定电梯运行状态的好坏,因此PLC应用在电梯控制中的编程技术就成为控制电梯运行的关键技术。
PLC充分利用了微型计算机的原理和技术,具有很强的逻辑处理能力,在电梯运行控制中发挥了重要作用。
由于电梯在运行过程中各种输入信号是随机出现的,即信号的出现具有不确定性,同时信号需要自锁保持、互锁保存、优先级排队、数据比较等,因此信号之间就存在复杂的逻辑关系。
所以在电梯的运行控制中,PLC的编程工作主要是针对各种信号进行逻辑判断和处理。
2.2单片机技术在电梯控制的应用
单片机体积小,处理速度快,价格低廉,功能强大,是合适的控制系统。
对电梯的控制主要是选层、启层、换速、平层、停车等几个环节,其中以选层环节最为复杂。
与通常的电器控制相比,单片机系统不需要通过“选层器”并且配备以大量的中间继电器作为选层电路的控制设备,避免了设备多,检修困难,运行维护不便,造价成本高。
应用微机控制可以取消选层器和大量中间继电器。
而且应用单片机控制又相当于应用其他微机减少了外围设备的接口芯片,增强了可靠性。
2.3EDA技术在电梯控制的应用
EDA技术不是某一学科的分支,或某种新的技能技术,它是一们综合性学科,融合多学科于一体,打破了软件和硬件间的壁垒,使计算机的软件与硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。
VHDL具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。
EDA使得设计者的工作仅限于利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。
正因EDA在设计控制系统中的这些特点,在电梯控制电路上采用EDA技术进行开发,越来越受到人们的重视。
2.4方案选择
对于符合市场需求的大规模系统,要达到高效、高速完成,必须有多人甚至多个开发组共同并行工作才能实现。
对于用EDA技术完成的一个确定的设计,可以利用相应的工具平台进来逻辑综合和优化,完成设计任务。
基于EDA技术的VHDL语言对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
这为电子设计的入门者提供了便捷的帮助。
相信在不远的将来,我国相关的专业技术人员使用EDA技术进行工程设计,就像现在使用计算器一样,虽然大部分人不能开办集成电路制造厂,但是却能快速、经济地制造(设计)自己的专用集成电路或集成电子系统。
综上比较,本设计采用EDA技术实现对电梯的控制。
3设计的基础依据
现代电子设计技术的核心是EDA技术。
基于EDA技术开发的实现六层电梯自动控制与目前主流的利用可编程逻辑控制器实现电梯控制紧密相连。
硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言。
使用VHDL语言进行程序设计,在QuartusII软件上对程序进行编译、仿真。
在QuartusII平台上开发具有易学易懂、控制灵活方便、抗干扰能力强、运行稳定可靠等优点。
3.1EDA技术介绍
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。
在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。
这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事、等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
3.2VHDL语言介绍
VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)语言于1983年由美国国防部发起创建,由电工和电子工程师协会(theinstituteofelectricalandelectronicsengineer)进一步发展并在1987年作为“IEEE1076”发布。
从此,VHDL成为硬件描述语言的业界标准之一。
VHDL作为一个规范语言和建模语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。
VHDL具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。
3.2.1VHDL的特点
应用VHDL进行系统设计,有以下几方面的特点:
(一)功能强大:
VHDL具有功能强大的语言结构。
它可以用明确的代码描述复杂的控制逻辑设计。
并且具有多层次的设计描述功能,支持设计库和可重复使用的元件生成。
VHDL是一种设计、仿真和综合的标准硬件描述语言。
(二)可移植性:
VHDL语言是一个标准语言,其设计描述可以为不同的EDA工具支持。
它可以从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台。
此外,通过更换库再重新综合很容易移植为ASIC设计。
(三)独立性:
VHDL的硬件描述与具体的工艺技术和硬件结构无关。
设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。
程序设计的硬件目标器件有广阔的选择范围,可以是各系列的CPLD、FPGA及各种门阵列器件。
(四)可操作性:
由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。
(五)灵活性:
VHDL最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。
使其在任何大系统的设计中,随时可对设计进行仿真模拟。
所以,即使在远离门级的高层次(即使设计尚未完成时),设计者就能够对整个工程设计的结构和功能的可行性进行查验,并做出决策。
3.2.2VHDL的设计步骤
采用VHDL的系统设计,一般有以下6个步骤。
1)要求的功能模块划分;
2)VHDL的设计描述(设计输入);
3)代码仿真模拟(前仿真);
4)计综合、优化和布局布线;
5)布局布线后的仿真模拟(后仿真);
6)设计的实现(下载到目标器件)。
3.2.3VHDL语言编程格式
(1)一个完整的VHDL程序是以下五部分组成的:
库(LIBRARY):
储存预先已经写好的程序和数据的集合。
程序包(PACKAGE):
声明在设计中将用到的常数、数据类型、元件及子程序。
实体(ENTITY):
声明到其他实体或其他设计的接口,即定义本定义的输入输出端口。
构造体(ARCHITECTUR):
定义实体的实现。
电路的具体描述配置(CONFIGURATION):
一个实体可以有多个构造体,可以通过配置来为实体选择其中一个构造体。
(2)实体
实体(ENTITY)是VHDL设计中最其本的组成部分之一(另一个是结构体),VHDL表达的所有设计均与实体有关。
实体类似于原理图中的一个部件符号,它并不描述设计的具体功能,只是定义所需的全部输入输出信号。
实体格式如下:
ENTITY 实体名 IS
[GENERIC(常数名:
数据类型[:
设定值])] 类属说明
PORT 端口说明
(端口信号名1:
模式 类型;端口信号名2:
模式 类型;端口信号名3:
模式 类型;端口信号名4:
模式 类型);
TYPE语句或常量定义 实体申明
并行语句 实体语句
END 实体名;
(3)结构体
所有能被仿真的实体都由结构体(ARCHITECTURE)描述,即结构体描述实体的结构或行为,一个实体可以有多个结构体,每个结构体分别代表该实体功能的不同实现方案。
结构体格式:
ARCHITECTURE 结构体名 OF 实体名 IS
[定义语句(元件例化);]
BEGIN
并行处理语句;
END 结构体名;
3.2.4用VHDL语言对FPGA和CPLD器件进行开发时出现的毛刺问题的处理
在EDA环境中,毛刺是系统设计是否成功的关键。
毛刺(竞争—冒险)现象是长期困绕电子工程师的问题之一。
由于毛刺的存在,使的系统存在许多不稳定因素,经常会造成对脉冲上下沿敏感的电路产生误动作。
毛刺主要是由门电路延时及路径延时造成的,采用传统设计方法时,毛刺必须在硬件测试时才有机会发现。
但在现代数字系统设计时,通过EDA软件,完全可以找出毛刺产生的原因及产生的位置,并且非常准确和接近实际情况。
目前常使用三种方法消除毛刺,它们分别为延时法、选通法和修改逻辑设计法。
其中,修改逻辑设计能从根本上消除毛刺,但该方法要求使用者掌握电路的工作状态及其转换,有时需要多路输出,使用起来有一定的复杂性。
3.3QuartusII软件介绍
Altera公司的QuartusII软件提供了可编程片上系统(SOPC)设计的一个综合开发环境。
QuartusII开发工具人机界面友好、易于使用、性能优良,并自带编译、仿真功能。
QuartusII软件支持VHDL和Verilog硬件描述语言的设计输入、基于图形的设计输入方式以及集成系统级设计工具。
QuartusII软件可以将设计、综合、布局和布线以及系统的验证全部都整合到一个无缝的环境之中,其中也包括和第三方EDA工具的接口。
QuartusII设计软件根据设计者需要提供了一个完整的多平台开发环境,它包含整个FPGA和CPLD设计阶段的解决方案。
在实际应用设计中,对程序原理性及可执行性的验证主要集中在程序修改阶段,尤其在处理的数据复杂、繁多时,QuartusII自带的波形输入仿真就很难实现程序的验证,而且输出的数据不能方便的以波形图示直观的呈现,给程序设计者在校验程序阶段带来了很多的不便。
再有,在很多数字电路设计中,考虑成本的问题,FPGA实现的往往是设计的核心部分,而很多的外围电路如AD转换器、DA转换器等仍然使用传统的接口芯片来实现。
而QuartusII设计只是针对数字信号,并不支持模拟量的输入。
而仅仅为了便于程序的验证而用FPGA实现这些外围电路,不但会大大延长程序的开发周期,更会增大开发的成本。
而MATLAB具有强大的运算功能,可以容易的实现AD、DA转换等外围电路功能,并能以波形形式将结果直观地呈现,极大地方便了程序设计人员设计应用系统
4程序设计及调试
4.1算法分析
4.1.1电梯运行规则
(1)请求信号分析:
电梯的请求信号分为梯内请求和梯外请求,如果从这个角度就很难去进行对电梯运行可能情况的分析,因为电梯的运行是根据梯内和梯外的请求信号、行程信号进行控制的,而梯内和梯外的请求是随机且不能以有限的规则去对其进行说明的。
因此,很难对电梯的运行情况作出一个统一的分析。
出于这方面的考虑,本设计把电梯的请求信号划分为上升请求和下降请求。
电梯接收到请求信号后,都必须作预操作。
使电梯进入预上升状态的请求信号就是上升请求信号。
具体来说,就是当电梯所在楼层低于发出请求的楼层所要到达的目的楼层时,电梯必须在下一操作中作出上升运行,这时的请求信号就是上升请求信号。
反之,则是下降请求信号。
(2)电梯处于各楼层时的运行情况:
处于一楼时,电梯只可能接收到上升的请求信号。
此时,电梯就进入预上升状态,准备作上升运行。
如果电梯没有接收到请求信号,电梯则在一楼待机。
处于二楼到五楼时,电梯可能出现三种情况:
<1>电梯没有接收到请求信号,电梯返回一楼待机;
<2>电梯收到上升请求信号,进入预上升状态;
<3>电梯受到下降请求信号,进入预下降状态。
处于六楼时,电梯只可能接收到下降的请求信号。
此时,电梯就进入预下降状态,准备作下降运行。
如果电梯没有接收到请求信号,电梯则返回一楼待机。
对上述电梯的运行情况进行汇总,可以得到如图2的电梯运行状态图。
在电梯运行过程中,存在一个如何处理信号优先的问题。
电梯实际上是一个人机交互式的控制系统,单纯用顺序优先或逻辑优先是不能满足控制要求的,因此,控制系统采用随机逻辑方式控制去解决信号优先的问题。
即在以顺序逻辑控制实现电梯的基本控制要求的基础,根据随机的输入信号,以及电梯的相应状态时的控制电梯的运行。
本设计采用以下规则:
电梯以前一状态为基准,即前一状态为上升,则操作完所以上升请求再操作下降请求;前一状态为下降,则反之。
(3)对电梯开门、关门、报警等内部信号处理分析。
其流程图如图3所示。
当电梯接收到请求信号后,将以随机逻辑控制的方式到达发出请求的楼层。
开门使能信号促使电梯开门载客,同时驱动关门延时信号、超重检测以及故障检测。
在电梯进行完关门倒数计时、超重排除以及故障排除后,关门使能信号将促使电梯关门进入预操作状态。
如果此前出现提前关门信号而且电梯也已经进行完超重排除和故障排除,电梯同样关门进入预操作状态。
电梯在超重检测时发现超重,关门中断信号会促使电梯发出超重报警并且进行开门操作以减少乘客,重新进入载客操作;电梯在故障检测时,发现电梯某部分出现故障,关门中断信号会促使电梯发出故障报警并且进入开门操作的同时停止关门延时,作故障处理待机。
电梯控制器的原理图如图4所示。
4.1.2程序流程分析
电梯的运行规则确立后,需对整个控制程序的设计作一个流程规范。
对程序进行模块化构思。
根据VHDL语言的规则,程序必须由最基本的实体和结构体构成。
实体对控制器的端口进行定义,结构体对各端口的行为进行描述。
因此程序运行需经过以下流程:
VHDL库调用;确立控制器的端口及相关的寄存器;根据电梯运行规则,设计相关运行描述;对电梯内外信号进行处理。
具体流程图如图5所示。
4.2程序设计说明
4.2.1端口、寄存器设计说明
(1)由功能要求得到本程序设计的端口必须包括:
输入端口:
时钟(clk,频率为2Hz)、超载(full)、关门中断(deng)、提前关门(quick)、清除报警(clr)、电梯外人的上升请求信号(c_u1,c_u2,c_u3,,c_u4,c_u5)、电梯外人的下降请求信号(c_d2,c_d3,c_d4,c_d5,c_d6)、电梯内人的请求信号(d1,d2,d3,d4,d5,d6)、到达楼层信号(g1,g2,g3,g4,g5,g6)。
输出端口:
电梯门控制信号(door)、电梯所在楼层显示(led)电梯外人上升请求信号显示(led_c_u)、电梯外人下降请求信号显示(led_c_d)、电梯内请求信号显示(led_d)、看门狗报警信号(wahaha)、电梯运动方向显示(ud)、超载警告信号(alarm)、电机控制信号(up,down)。
其分布如图6所示。
(2)程序要求的寄存器(中间信号)包括:
电梯内人请求信号寄存信号(d11,d22,d33,d44,d55,d66)、电梯外人上升请求信号寄存信号(c_u11,c_u22,c_u33,c_u44,c_u55)、电梯外人下降请求信号寄存信号(c_d22,c_d33,c_d44,c_d55,c_d66)、分频信号(q)、关门延时计数器(q1)、看门狗计数器(q2)、电梯内外请求信号寄存器(dd,cc_u,cc_d,dd_cc)、开门使能信号(opendoor)、电梯运动方向信号寄存器(updown)、预备上升、预备下降预操作使能信号(en_up,en_dw)。
4.2.2模块设计说明
本程序由三个基本模块组成,包括调用VHDL库模块、实体设计模块和结构体设计模块。
而在结构体模块中又内嵌有进程执行单元。
(1)调用VHDL库
使用library语句,本程序应用了VHDL库中的“通用ieee库”和“标准std库”。
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;
(2)entity实体设计模块
entitydiantiis
port(clk:
instd_logic;--时钟信号(频率为2Hz)
full,deng,quick,clr:
instd_logic;--超载、关门中断、提前关门、清除报警信号
c_u1,c_u2,c_u3,c_u4,c_u5:
instd_logic;--电梯外人的上升请求信号
c_d2,c_d3,c_d4,c_d5,c_d6:
instd_logic;--电梯外人的下降请求信号
d1,d2,d3,d4,d5,d6:
instd_logic;--电梯内人的请求信号
g1,g2,g3,g4,g5,g6:
instd_logic;--
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 EDA 技术 电梯 控制器 实现 仿真 毕业论文