1、目 录1 引言 .11.1 设计背景 .11.2 设计基础 .11.2.1 EDA 技术介绍 .11.2.2 硬件描述语言(VHDL)介绍 .21.2.3 MAX+plusII 软件介绍 .22 电梯控制器的具体设计 .42.1 设计目的 .42.2 设计要求 .42.3 设计思路 .43 三层电梯控制器的综合设计(VHDL 语言实现) .53.1 分析判断 .53.1.1 电梯运行规则 .53.1.2 程序流程分析 .93.2 程序端口和寄存器说明 .93.3 各模块设计说明 .103.4 具体语句设计说明 .124 三层电梯控制器调试、仿真和硬件测试 .134.1 程序调试 .134.2
2、程序波形仿真 .144.2.1 波形输入建立 .144.2.2 电梯运行情况仿真 .154.2.3 电梯功能仿真 .174.3 硬件测试 .184.3.1 引脚锁定 .184.3.2 硬件下载 .185 结论 .205.1 设计功能实现情况 .205.2 设计心得 .20参考文献 .21附录 .22课程设计说明书11 引言1.1设计背景近年来,随着我国房地产业的持续高速发展,高层建筑越来越多。因此,一种能使人们快速、便捷地到达目的楼层的电梯便应运而生了。分析近几年房地产业的发展趋势,特别是商品住宅的高速发展,将使住宅对电梯的需求量持续攀升。人们对电梯安全性、高效性、舒适性的不断追求也推动了电梯
3、技术的进步。随着电梯技术的发展, 绿色化、低能耗、智能化、网络化、蓝牙技术的电梯成为一段时间内的发展趋势。为保证人们能更安全、更快捷地到达目的楼层,实现人性化的功能,对电梯系统中的控制部分进行优化设计是非常必要。因此这部分的设计也就成了在电梯设计领域里最为核心的技术。为了实现电梯的智能化,可以采用许多方法。它的智能化控制可以有以下几种形式:1.PLC 控制;2.单板机控制;3.单片机控制;4.单微机控制;5.多微机控制; 6.人工智能控制。随着 EDA 技术的快速发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。它是一种实现电子系统或电子产品自动
4、化设计的技术,与电子技术、微电子技术的发展密切相关,并吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。传统单片机设计的电梯控制外围电路复杂,性能不稳定,而采用EDA 设计,却拥有电子系统小型化、低功耗、高可靠性、开发过程投资小、周期短等优点,而且还可以通过软件编程对硬件结构和工作方式进行重构,使得硬件设计如软件设计那般方便快捷。本次设计就是应用 EDA 电子电路技术来设计电梯控制器,从而使用一片芯片就可以实现对电梯的控制的。1.2设计基础EDA 技术已成为现代电子设计技术的核心。基于 EDA 技术上开发的实现三层电梯自动控制与目前主流的利用可编程逻辑控制
5、器实现电梯控制紧密相连。硬件描述语言是 EDA 技术的重要组成部分,VHDL 是作为电子设计主流硬件的描述语言。使用 VHDL 语言进行程序的设计,在 MAX+plusII 软件上对程序进行编译、仿真。在 MAX+plusII 平台上的开发具有编程软件具有采自易学易懂的梯形图语言、控制灵活方便、抗干扰能力强、运行稳定可靠等优点。1.2.1 EDA技术介绍EDA 是电子设计自动化(Electronic Design Automation)的缩写,在 20 世纪90 年代初从计算机辅助设计(CAD) 、计算机辅助制造(CAM) 、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
6、EDA 技术就是以计算机课程设计说明书2为工具,设计者在 EDA 软件平台上,用硬件描述语言 HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。利用 EDA 技术进行电子系统的设计,具有以下几个特点:1.用软件的方式设计硬件;2.用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;3.设计过程中可用有关软件进行各种仿真;4.系统可现场编程,在线升级;5.整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA 技术是现代电子设计的发展趋势。1.2.2硬件描述语言(VH
7、DL)介绍VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)主要用于描述数字系统的结构,行为,功能和接口 3。它于 1983 年由美国国防部发起创建,由电工和电子工程师协会(the Institute of Electrical and Electronics Engineers)进一步发展并在 1987 年作为“IEEE 1076”发布。从此,VHDL 成为硬件描述语言的业界标准之一。VHDL 作为一个规范语言和建模语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了
8、硬件设计任务,提高了设计效率和可靠性。VHDL 具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。VHDL 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分) ,既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。1.2.3 MAX+plusII软件介绍MAX+plusII 是 Altera 公司提供的 FPGA/CPLD 开
9、发集成环境,其界面友好,使用便捷,被誉为业界最易用意学的 EDA 软件。它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程 5。在 MAX+plusII平台上进行数字系统的设计过程一般要经过四个阶段 4:设计输入、项目编译、项目校验和器件编程。首先根据系统的性能指标进行系统结构设计,对整个系统进行功能划分和模块划分。对各子模块分别进行逻辑设计、编译、仿真与验证。当不满足要求时,重新返回设计输入阶段,修改设计输入。之后将优化结果下载到所选可擦写可编程逻辑器件(Eraserable Programmable Logic Device)芯片中,进行动态仿真。最后则是测
10、试芯片在系统中的实际运行性能。其具体的流程图如图课程设计说明书31 所示。设计要求设计输入设计编译功能检验时序检验器件编程修改设计图 1 MAX+plusII设计流程该方法将问题的解决放在硬件组装之前,既简化了设计过程,又可以减少设备投资,缩短设计周期,增强设计者对设计过程的分析和制造的可控性。课程设计说明书42 电梯控制器的具体设计2.1设计目的三层电梯广泛应用在大型的货运之中。其使用便捷,货运周期短,效率高,成本低,对货运事业具有相当的经济价值。在客运上,三层电梯虽然涉及楼层不高,应用范围不大,但就特殊而言,可以为一些上下楼层不方便的人们提供帮助,照顾这些特殊社会群体。因此,在某种层面上说
11、,三层电梯的设计也具有一定的社会价值。2.2设计要求设计的三层电梯控制器实现如下功能:(1)电梯到达楼层时,能发出指示信号(数码管显示楼层号) ;(2)能指示电梯的运行状态(上行或下行) ;(3)电梯的门操作具有关门延时设置(当按下梯内关门按钮时立刻响应关门操作,否则延时固定时间后响应关门操作) ;(4)正确响应各楼层的上行和下行请求(各楼层设置上行和下行选择按钮) 。独立设计完成 VHDL 代码的编写,利用 MAX+plusII 软件进行编译仿真,软件仿真结果正确(试验各楼层上行或下行请求的各种情况) ,使用实验室设备,将代码下载到实验板上进行硬件调试,功能正确。通过对电梯控制系统的设计,掌
12、握所学 EDA 课程的基本知识和对 VHDL 语言的综合设计应用。通过课程设计,提高设计能力,提高分析解决实际问题的能力,并在设计中了解硬件编程的流程和思路,为以后工作和发挥技术打下基础。2.3设计思路本次设计的电梯控制器采用状态机来实现,思路比较较清晰 1。可以将电梯的各个状态都看成一个独立的状态,如开门状态、关门状态、电梯在哪一层。根据电梯的实际工作情况,可以把状态机设置七个工作状态,分别是“电梯停留在第一层”、 “电梯停留在第二层”、 “电梯停留在第三层”、 “开门” 、 “关门或快速关门”、 “运行过程计数并判断下一层” 、 “判断各层是否有请求” 。各个状态之间的转换条件可由上面的设
13、计要求所决定 2。电梯每到一层,指示该楼层号,电梯从低层到高层时,输出上行状态,反之,输出下行状态,但在到达一层或三层时,上行下行状态都清零。课程设计说明书53 三层电梯控制器的综合设计(VHDL 语言实现)3.1分析判断3.1.1电梯运行规则(1)请求信号分析:电梯的请求信号可分为梯内请求和梯外请求,如果从这个角度就很难去进行对电梯运行可能情况的分析,因为电梯的运行是根据梯外和梯内的请求信号、行程信号进行控制,而梯外和梯内的请求是随机且不能以有限的规则去对其进行说明的。因此,很难对电梯的运行情况作出一个统一的分析。出于这方面的考虑,本设计把电梯的请求信号划分为上升请求和下降请求。电梯接收到请
14、求信号后,响应并判断是上升请求信号就是下降请求信号,然后电梯向下或向上运行。具体来说,就是当电梯所在楼层低于发出梯外请求的楼层或者低于梯内请求所要到达的目的楼层时,电梯必须在下一操作中作出上升运行。这时的请求信号就是上升请求信号。反之,则是下降请求信号。如电梯在二层并上一次电梯运行是向上或是向下,接收到的是上升请求还是下降请求。(2)电梯处于各楼层时的运行情况。1.处于一层时,不管是梯内梯外,电梯都只能接收上升的请求信号。此后,电梯就进入上升状态,作上升运行。如果电梯没有接收到请求信号,则电梯在一层待机,其分析图如图 2 所示。在一层上升一层待机上升请求信号无请求信号图 2 电梯处于一层时的运
15、行情况分析2.处于二层时,电梯则可能出现以下三种情况: 电梯没有接收到梯内梯外的任何请求信号时,则电梯在二层待机; 电梯接收到上升请求信号,进入上升状态; 电梯接收到下降请求信号,进入下降状态,其分析图如图 3 所示。课程设计说明书6在二层上升下降二层待机上升请求信号无请求信号下降请求信号图 3 电梯处于二层时的运行情况分析3.处于三层时,不管是梯内梯外,电梯都只能接收到下降的请求信号。此时,电梯就进入下降状态,作下降运行。如果电梯没有接收到请求信号,则电梯在三层待机,其分析图如图 4 所示。在三层下降三层待机下降请求信号无请求信号图 4 电梯处于三层时的运行可能分析课程设计说明书7对上述电梯
16、的运行情况进行汇总,可以得到如图 5 的电梯运行状态图。一层一层待机上升二层下降 上升三层下降下降请求信号上升请求信号上升请求信号下降请求信号无请求信号二层待机无请求信号三层待机无请求信号图 5 电梯运行状态图在电梯运行过程中,存在一个如何处理请求信号优先的问题。仅用顺序优先或逻辑优先不能满足控制要求。因此,控制系统需要同时采用顺序和逻辑来控制电梯的运行。即在以顺序逻辑控制实现电梯的基本控制要求的基础上,根据随机的输入信号,以及电梯当时运行状态(上升还是下降)适时的控制电梯下一个操作,使电梯向上或向下运行。例如,当电梯在三层时,二层、一层梯外均有上升请求信号:电梯向下运行,在接近二层时判别二层
17、具有同向的请求信号,如没有课程设计说明书8继续下降到一层,经开关门后,然后再向上运行,在接近二层时判别二层具有同向的请求信号时,在二层停止载客。又假如,当电梯在三层时,梯内有到达一层的下降请求信号,而二层则有上升请求信号,电梯先向下运行,在接近二层时判别二层具有反向的请求信号,系统将把二层的上升请求保存到上升请求寄存器上,不在二层作停泊而继续下降到一层去载客,然后读取上升请求寄存中先前二层的上升请求,执行上升到二层载客的操作。执行完成后,被保存在寄存器中的数据清除,为下一次响应请求作准备。(3)对电梯开门、关门等内部信号处理的分析,其流程如图 6 所示。接到楼层请求信号电梯运行到该楼层开门使能
18、信号关门延时信号倒数接受并处理请求信号电梯进入运行状态立即关门立即关门请求图 6 电梯内外信号处理当电梯接收到请求信号后,运行到发出请求的楼层。运达后,开门使能信号促使电梯开门载客,同时驱动关门延时信号。在电梯进行完关门倒数计后,关门使能信号将促使电梯关门状态,然后上升或下降运行。如果此前出现提前关门信号,电梯立即关门,然后上升或下降运行。课程设计说明书93.1.2 程序流程分析电梯的运行规则确定后,需对整个控制程序的设计作一个流程规范。对程序进行模块化构思。根据 VHDL 语言的规则,程序必须由最基本的实体和结构体构成。实体对控制器的端口进行定义,结构体对各端口的行为进行描述。因此程序运行时
19、需经过以下流程:VHDL 库调用;确立控制器的端口及相关的寄存器;根据电梯运行规则确定各个状态转换的条件;对电梯内外信号进行处理,具体流程图如图 7 所示。程序开始VHDL 库调用设置控制器的端口设置相关的寄存器各状态转换条件描述电梯信号处理程序结束图 7 电梯设计流程图3.2程序端口和寄存器说明(1)由功能要求得到本程序设计的端口必须包括:时钟信号(clk) ;提前关门信号(quick ) ;一楼电梯外人的上升请求信号(up1) 、二楼电梯外人的上升请求信号(up2) ;二楼电梯外人的下降请求信号(down2 ) 、三楼电梯外人的下降请求信号(down3) ;电梯内人请求到达一楼信号(ting1 ) 、电梯内人请求到达二楼信号(ting2) 、电梯内人请求到达三楼信号(ting3) ;电梯开门控制信号(opendoor) ;电梯关门控制信号(closedoor ) ;电梯所在楼层显示( current) ;电梯向上运行控制及显示信号 up、电梯向下运行控制及显示信号(down ) 。