中南大学电梯控制器程设计报告

时间:2024.3.19

电梯控制器程设计报告

专业名称: 电气工程及其自动化 班 级: 电气1103 学 号: 0909111421 姓 名: 马志强 指导教师: 寻老师 设计时间: 设计地点: 电工电子实验楼312 组 员: 马志强 徐海

摘要

本次设计的主题是关于用中小规模集成芯片设计一个电梯控制器,在日益发展的现代化社会中,电梯随处可见已经完完全全普及到人们的生活中了,于是我选择了这个课题。电梯控制器要求:用中小规模集成电路设计。用一位LED数码管显示电梯楼层位置;能响应每层(共5层)楼电梯按钮的呼唤(注意有优先权的问题),电梯自动行进到所需位置,停留4s ,发出开门信号。然后扩展功能是用发光二极管点阵(8×8)作为显示电路,显示电梯动态的上下状态。电梯控制器的设计方法有许多种,例如,可用中小规模集成电路组成电梯控制器,也还可以利用单片机来实现电梯控制器等。这些方法都各有其特点,其中利用中小规模集成电路组建电梯控制器,原理简单,但由于集成电路集成度有限,对于需要实现较多功能的电路设计比较复杂,对于制作者焊接和布线有较高的要求。用单片机实现的电子钟具有结构简单,并便于功能的扩展,但需要涉及到汇编以及C语言编写程序,对设计者有较高的要求。本次设计为用中小规模集成电路组成电梯控制器。

本次实验实现了电梯控制器响应每层(共5层)楼电梯按钮的呼唤和用发光二极管点阵(8×8)作为显示电路,显示电梯动态的上下状态的功能,报告包括系统概述、单元电路设计与分析、电路的安装与调试、结束语。详细的说明了制作全过程。(以小组形式完成)

目录

第一章 系统概述

第二章 单元电路设计与分析

第三章 电路的安装与调试

第四章 结束语

附 录

一、元件清单

二、实验电路图

三、实验电路连接图

四、参考文献

第一章、系统概述

设计思路与总体方案的可行性论证,各功能块的划分与组成,全面介绍总体工作过程或工作原理。

1 设计的总结构图:

中南大学电梯控制器程设计报告

电梯控制器的要求

?基本功能:

用中小规模集成电路设计。用一位LED数码管显示电梯楼层位置; 能响应每层(共5层)楼电梯按钮的呼唤(注意有优先权的问题),电梯自动行进到所需位置,停留4s ,发出开门信号。

?扩展功能:

用发光二极管点阵(8×8)作为显示电路,显示电梯动态的上下状态。

2、总体工作过程和原理

?振荡电路:采用555产生多谐振荡电路,本实验中共用到两种频率一高一低,高频用于8x8的刷新,低频用于电梯运行时的频率,停顿的四秒使用74LS160作为分频器,然后经过一块74LS74的D触发器接到扬声器到时候就能听到停顿四秒的信号。

?输入部分:用D触发器和一块74LS148连接实现编码和数据的寄存,然后电梯楼层的优先

?控制部分:这部分用得到数值比较器和计数模块,来控制电梯的上行,下行和停梯。

④输出显示部分:本部分包括用74LS284的加一模块,74LS48译码模块,和EEPROM2864编程模块

第二章 单元电路设计与分析

各功能块具体电路及工作原理分析、论证、设计、计算、元器件参数的选择,根据设计任务和要求,对照电梯控制器的框图,可以分以下几部分进行模块化设计。

1. 脉冲发生器

脉冲发生器是电梯控制器的基本部分,用555产生两种不同的频率,这是整个电路中最基本的不可缺少模块电路图。如下图所示。

中南大学电梯控制器程设计报告

2. 输入模块

电梯的输入时低电平有效,当按下按钮时,接地为低电平这是有输入,D触发器产生一个脉冲然后运行一次输出的是低电平经过74LS148编码产生有效地编码然后往下面运行。

中南大学电梯控制器程设计报告

3. 控制模块

控制部分是由数值比较器和计数模块构成。根据呼梯编码信号和电梯停梯位置信号的大小比较来改变来控制电梯的上行还是下行。可用四位数值比较器74LS85

来实现,计数模块随电梯上下行改变电梯楼层位置的信号可用四位二进制加减计数器74LS191来实现。

4. 输出显示部分

首先要说的输出部分是LED数码管显示电梯楼层的显示。显示电梯楼层位置信号是0000-1000,所以可用四位并行进位加法器来实现加一模块,译码模块实现LED数码管的显示译码,可用74LS48实现。

8x8的显示部分要和EEPROM2864相连接,EEPROM2864的输出端和8x8点阵的正向端口连接,74LS138的输出端与8x8点阵的负向端口连接,然后74LS138的三个输入端与EEPROM2864的前三个地址控制端连接,另外的两个控制端和74LS85的输出单Y(A<B)和Y(A=B)连接。

EEPROM2864的编程:

中南大学电梯控制器程设计报告

输出显示部分电路图如下:

中南大学电梯控制器程设计报告

中南大学电梯控制器程设计报告

第三章 电路的安装与调试

介绍电路安装调试过程中所遇到的主要技术问题,给出现象记录、原因分析、解决措施及效果,电路的性能指标、功能的测试方法、仪器及记录,测试数据分析与处理。

主要技术问题:

问题1:发现显示管灯比平常更暗或者更本不亮。

解决方案:可能是线路中电源与地连接了,或者是电源没接好。检查线路,修改错线。

问题2:发现开关关闭打开之后,LDE数码管显示电梯不是处在一楼

解决方案:在仿真时候并没有这个问题,导致这种情况的原因是,在 proteus仿真中,74LS194的输出端为低电平,而实际操作的时候为低电平。最后在清零端加一个电阻和用非门接地接清零端然后当关闭的时候起到最用,最后把问题解决了。

问题3:接线过程中尽量不跨线。

解决方案:连线要求保持导线横平竖直,紧贴面包板,尽量使其不要交叉使得工艺美观,故连线之前要熟悉面包板的特性,清楚的知道哪些孔之间是相互接通的,遇到导线要交叉时,便可将导线剪断,再巧借面包板上的孔在内部将导线连起来。一般来说,先接一些地线和电源线,因为所有芯片都要接地和电源的,然后按照电路图和整体结构布局用导线依次连接各管脚。如

无避免交叉则应不同类别的导线用不同的颜色那样即使交叉了也容易分辨。 问题4:连了一部分线后,发现有的芯片放哪都不合适

解决方案:整体结构布局是很重要的,这直接影响以后的连线,在开始连线 之前一定要合理的规划好如何放置每个芯片。首先要保证电路功能和性能指 标,在此基础上满足工艺性的要求。用Portel画电路图时注意芯片的布局,尽量避免电线相交叉。然后按电路图所示,分高频低频两大块,安排好各芯片的位置。

问题4:显示矩阵上有几个点总是不会亮。。

解决方案:利用老师给我们的显示矩阵管脚对每个二极管的控制关系,用万用表测试,若二极管还是不亮,说明给二极管已坏,是显示矩阵本身的问题;若二极管亮了,说明是接线问题,就要再检查连线。检查连线时,用一根导线,一端接地,一段分别接触138和2864的各个与点阵相连的管脚,查看是哪一个管脚没有连接好。哪一行或者那一列不亮时为连接不好校时时,按钮一段接高,一段接地,有时候校时不准确。

问题5:线路正确连接完毕后,打开电源,但是显示矩阵的显示并不是理想设计的连续状态,而是断续的杂乱无章的。

解决方案:有可能是74LS160计数芯片不起作用,所以在实验开始之前要对各元件认真检查并进行检测,确保元件完好,可以避免出现坏的元件给以后的调试带来麻烦。由于事先没有认真检查芯片,而后得不到正确的结果

都还以为是连线的问题,从而浪费很多的时间,做了很多的无用功。对于74LS160,我们就将其输出接到四个高低电平指示灯上,给各脉冲,看是否是16进制顺序计数。至于电阻,我们不但会观察其色环,还会用万用表直接测其阻值。检查过后才发现原来实验室里面有一个批次的160可能都存在问题,它的计数不是规律的16进制,然后我们把这个问题反映给了老师。

问题6:对EEPROM2864编程后,接到面包板上看结果,但是只能显示的箭头是左右的不是上下的!

解决方案:就是编程序的时候吧程序写反了,后来又重新写了一次程序但还是反的,不过老师说箭头没关系,就没有再去解决!

第四章 结束语

这次电子技术课程设计,我很用心的去完成,当总原理图绘好的那一刻,心里有说不出的满足感。从这次课程设计中,我真正学到了很多有用的知识。拿到课题后,我首先将《数字电子技术》中有关本次设计的内容复习了一遍,比如七段译码显示器、计数器、振荡器等等。然后根据设计要求,我去图书馆查阅了相关的资料,对整体框架做了一个初步的了解。做完准备工作后就正式开始设计与绘图。先要将没每一功能模块设计出来,再整体排版、连接。

本次课程设计分为两个阶段。

1.理论设计阶段:要求同学们根据课题自行设计电路,选择元件,确定调试和测试方案。这是整个课程设计的基础,把电路设计好了,才谈得上实现功能;同时这也是最难的一个部分,以前我们接触的那些实验都是很短、很基础的,而且都有了原理图,只要我们连接线路将其功能实现出来就可以了,但是这次在课程设

计中我们要把原来的许多知识组合起来才能完成的任务,这对我们来是说是一次考验。所以在这个星期里我和同组的同学到图书馆借来很多参考书,还上网找了一些资料,我们对相似的实验进行分析,一步步搞懂,把能借鉴的地方用到自己的实验中来,终于设计出电路图。

2.实际动手装配、调试、测试及验收阶段:来到实验室看到样品,觉得好复杂啊,那么多线,还不能交叉,既要实现功能还要保证工艺美观,不容易啊,不过我们会全力以赴做到最好。我们以最快的速度接好线,开始了课程设计中的又一个难题,就是调试。在检查完各芯片以后还是不正常,可利用万用表测电位来查找错误之处,而且电位的检查从电源和地开始。另外,由于555定时器的输出频率太大,直接接到后续电路上不便观察结果。此时可改用实验箱上的脉冲,观察结果。

本次课程设计说起来真是不容易,要有耐心、有钻研精神,不仅巩固了以前所学过的知识,而且让我学到了很多在书本上所没有学到过的知识。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对于很多芯片的使用还处于一知半解的状态,但是经过此次实践,对于怎么去排错、查错,怎么去看每一部分的运行结果,怎么去了解芯片的功能以确保程序的正确性都有了更为深刻的认识。在调试过程中,我收获了很多,包括如何硬件测试、如何去连接复杂电路,如何用万用表排查错误等。在此过程中,遇到了很多在课堂上未多深思的问题,通过思考我对课本知识有了进一步的理解。这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,我们要把所学的理论知识与实践相结合起来,从理论中得出结论,从而提

高自己的实际动手能力和独立思考的能力。此后,我要努力的培养自己的动手能力和实践能力。

而本次实验让我学会了一个道理那就是在实验室的时候老师反复提醒我们要注意的地方一定是有其道理的,而我们不可以自以为是。本次实验老师强调要检查好芯片再连线。而我自以为挑选的都是新芯片,不会有任何问题,而没有做这一道工作,导致后面的调试困难重重,浪费了很多的宝贵时间,还把本来已经很好看的工艺搞的面目全非,影响了自己的成绩!

附录:元件清单

元件名称

555

74LS148

74LS85

74LS191

74LS283

74LS160

74LS138

74LS74

74LS08

74LS04

74LS194

EEPROM2864 个数 2 1 1 1 1 2 2 3 1 1 1 1

附录:实验原理图

中南大学电梯控制器程设计报告

附录:实验连接图

中南大学电梯控制器程设计报告

参考文献

电子电工基础实验指导 张静秋主编 中南大学出版社 数字电子技术基础 陈明义主编 中南大学出版社 电工电子实验教程 陈明义、宋学瑞主编 中南大学出版社 电子电路实验及仿真 路 勇主编 清华大学出版社 数字电子技术 王建珍主编


第二篇:智能电梯控制器设计报告


智能电梯控制器设计报告

目录

一、

二、

三、

四、

五、

六、

七、

八、

系统设计任务及需求分析 ............................................................................ 1 系统概要设计.............................................................................................. 2 系统详细设计.............................................................................................. 3 系统的具体实施 .......................................................................................... 7 系统测试和系统仿真 ................................................................................. 14 系统的演示 ............................................................................................... 15 课设的心得和体会..................................................................................... 17 参考资料................................................................................................... 17

智能电梯控制器设计报告

学号:012004015602 电子信息工程0406班 彭令鹏

一、 系统设计任务及需求分析

系统的总体任务是用verilog编写出一个智能电梯控制器。要求该控制器器能实现普通电梯的大部分控制功能,并能将其下载到FPGA开发板上进行演示。

由总体任务出发,对电梯的一般运行规律进行认真的分析,不难得出该控制器应具有下面这些功能。

[1]. 具有好的交互性接口,能比较实时地响应用户的各项请求 。除顶层和底层外,每层电梯的入口都设有上下请求开关,顶层和底层分别只设有下降和上升的请求开关;电梯内部设有乘客到达层次的请求信号。

[2].

[3]. 电梯每1s上升或下降一层。 电梯到达有停站请求的楼层后,经过1s后将门打开,开门指示灯亮,开门4s后,电梯门关闭,开门指示灯灭,电梯继续运行,直至执行完最后一个请求后停在当前层。

[4]. 能记忆电梯内外的所有请求信号,并按运行规则顺序响应各个请求,每个请求信号保持至北执行完后才被清除。

[5]. 实现这样的运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号和梯内乘客下电梯的请求,这些请求信号由下而上逐个执行,直到最后一个请求信号执行完毕。这时如果更高层有下楼请求,则直接开到有下楼请求的最高层接客,然后进入下降模式;如果是低层有请求信号,则下降至低

第1页,共17页

012004015602 电子信息工程0406班 彭令鹏

层响应请求;如无任何请求,电梯则停在当前层。当电梯处于下降模式时,其运行规则与上升模式相反。

[6].

[7]. 电梯所处的状态,用户的请求信号都应能够比较实时地显示出来。 如果时间和资源允许,还可加入其它一些功能,如电梯锁定禁止运行、超载报警、电梯上升下降的速度可调等等。

二、 系统概要设计

由需求分析可知,此系统要实现的功能不是特别的少,为避免开发的盲目性,也为了减少系统在调试、测试和维护的工作量,有必要对系统进行概要设计。

根据自顶向下的模块化设计思想,结合需求分析中提到的要实现的功能,对系统可进行如下的模块划分。

电梯要正常上升、下降并比较实时地响应用户的请求,这需要一个核心模块对其进行管理,我们称这个核心模块为主控制模块。主控制模块负责电梯的各项控制功能,包括电梯能够正常的上下运转,响应电梯内外的请求,与其它模块进行交互等等。

其次电梯要能给各楼层用户提供上下楼层的请求接口,给电梯内部的用户提供停靠某楼层的请求接口,而具体到我们的开发板,这些接口就是开发板上的按键。因此,为了实现上述的接口功能,我们需要一个按键处理模块来处理各种各样的按键请求。

再者,我们需要将电梯的当前状态,用户的请求信号等通过数码管或发光二极管显示出来。因此,我们也需要一个显示模块来负责输出显示。需要说明的是,因为该模块的主要工作就是各种请求信号或状态信号的码制变换,负责的是接口转换工作,因此,我将键盘处理模块与主控制模块之间的接口实现也放在这一模块。

最后,该系统还附加了超载报警的功能,因此需要一个超载报警模块来实现这一功能。

综合上面的分析结果,考虑到各模块间的关系,可得到整个电梯控制器的框图,如图1所示。

如图1所示,整个电梯控制器可分为主控制模块、按键处理模块、显示模块

第2页,共17页

智能电梯控制器设计报告

和超载报警等4个模块。主控制模块负责直接对电梯进行控制和管理,是控制器的核心部分,其实现复杂度是4个模块中最高的;按键处理模块和显示模块负责按键处理和显示处理,两者都为外部用户与内部主控制部分的交互提供了比较好的接口,而且两者的实现负责度相当,都略低于主控制模块;超载报警模块直接根据载重量判断是否超载,因此实现最简单。

智能电梯控制器设计报告

图 1-系统框图

三、 系统详细设计

遵循自顶向下逐步细化的设计思想,我们将在概要设计的基础上,根据板上所能提供的资源,做出系统的详细设计。

主控制模块

如前所述,主控制模块的功能就是实现对电梯进行正确的控制,使电梯能正确的运转,并能以最优平均性能响应用户的请求。分析一下电梯的具体工作工程,易知电梯在正常工作时,其实就仅仅是在其有限的几个工作状态之间进行转移而已。鉴于这一点,我们决定用状态机来实现主控制模块部分的功能。

根据电梯的实际工作流程,我们可将电梯分为WAIT、UP、DOWN、UPSTOP、DOWNSTOP、OPENDOOR和CLOSEDOOR等七个状态。这七个状态间的转移关系如图2

第3页,共17页

012004015602 电子信息工程0406班 彭令鹏

所示。

首先有必要简要介绍一下图2中各个状态的含义。WAIT是指电梯停靠在某一层,等待用户请求的状态;UP是指电梯处于上升的状态;DOWN是指电梯处于下降状态;UPSTOP是指电梯在上升的过程中停靠在某一层时所处的状态;DOWNSTOP是指电梯在下降的过程中停靠在某一层时所处的状态;OPENDOOR是指电梯开门时所处的状态;CLOSEDOOR是指电梯关门时所处的状态。

智能电梯控制器设计报告

图 2-主控制模块中的状态转移图

从图2中我们可以看出,各种状态间存在着比较复杂的转移关系,那么在满足什么样的条件下这些转移才能进行呢?这是我们接下来要讨论的问题。

在讨论这个问题之前,我们先讨论一下电梯对各种请求的响应策略。本课程设计中所采取的响应策略是以方向优先为第一准则,然后在这个前提下,优先响应电梯内部的请求,然后是电梯外部的上楼请求,最后是电梯外部的下楼请求。整个响应策略可这样来理解。

第4页,共17页

智能电梯控制器设计报告

“方向优先”,是指当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号和梯内乘客下电梯的请求,这些请求信号由下而上逐个执行,直到最后一个请求信号执行完毕。这时如果更高层有下楼请求,则直接开到有下楼请求的最高层接客,然后进入下降模式;如果是低层有请求信号,则下降至低层响应请求;如无任何请求,电梯则停在当前层。当电梯处于下降模式时,其运行规则与上升模式相反。

“在方向优先的前提下,优先响应电梯内部的请求,然后是电梯外部的上楼请求,最后是电梯外部的下楼请求”,是指当电梯处于WAIT模式时,当其同时受到多个请求而被激发时,进入哪个状态,依次由内部请求,外部上楼请求和外部下楼请求决定。

接下来我们讨论状态间的各步转移分别需满足什么条件。

当电梯处于WAIT模式时,按照响应策略,下一状态有这么几种可能:如果有当前层的停靠请求,或有当前层的上升请求,或无当前层和当前层之上的上升和停靠请求却有当前层的下降请求,则下一状态为OPENDOOR;在前面条件没满足的前提下,如果有当前层之上的上升或停靠或下降的请求,则下一状态为UP;在前面的条件都没满足的前提下,如果有且只有当前楼层之下的下降请求,则下一状态为DOWN;如果无任何请求,下一状态仍为WAIT。

当电梯处于其他模式,其状态转移根据响应策略,相应地推导出来,此处不予累述。

按键处理模块

如前说述,按键模块是用来处理各种按键请求的模块。因为开发板上只有8个按键,而我做的这个4层电梯控制器所需的输入信号远远超过了8个,分别是1-3楼的上楼请求信号,2-4楼的下楼请求信号,停靠1-4楼的内部停靠请求,超载输入信号,复位信号。因此按键必须复用,本课程设计采取的复用方法如下。

1. 1-4号按键分别负责用户1-4楼的上下请求,每按这些键一次,相应键的键值加1模3,0代表无请求信号,1代表有上升请求,2代表有下降请求,当confirm为TRUE时,使能将相应的键值送出。

2. 号键负责用户的停靠请求,与按键1-4类似,每按此键一次,其键值加

第5页,共17页

012004015602 电子信息工程0406班 彭令鹏

1模5,键值为0代表无停靠请求,键值为1-4分别代表有停靠1-4楼的请求

3. 6号键负责超载输入(相当于实际中的压力传感器),每按此键一次,其键值加1模16(限定重量的最大量为16)代表归一化的重量当量。

4. 7号键为复位键

5. 8号键为确认键,每按此键一次,其键值加1模2,相应地confirm由0-1-0如此循环变化,只有当confirm为1时,各请求信号才能输出(更详细的控制过程请参看附件中的相关源代码(KeyProcess部分)。

接下来要说明的是按键复用的处理细节,主要有如下几点。

1. 同一按键在不同时刻送出的信号类型是由其当前的键值决定的,正如上面的复用用方法中的1提到的一样,1-4号键键值为0时,表示无请求信号,键值为1代表相应的楼层有上升的请求,键值为2时代表相应的楼层有下降的请求,其它键的复用与此类似。

2. 8号confirm键的作用。Confirm键的作用是在适当的时刻发出一个请求脉冲。它的实现机制是这样的:在程序中给confirm键设定了一个键值变量,confirm键没被按下一次,这个键值就加1模2 (即在0和1间循环);当键值为1时,处理模块将与请求信号相对应的输出端口均置为高电平,而当键值为0时,处理模块将所有输出端口都置为低电平。这样当用户有请求信号时,连续两次按下k8键后,模块可对外输出一个高电平的请求脉冲,这个脉冲可用来提供一个与其它模块连接的触发型接口。

3. 还有值得注意的一点是,虽然本模块中1-6号键都可发出请求信号,但模块对各键的响应优先级不一样。优先级从1到6依次降低,因此当1-6号键某键想要输入请求信号时,必须先将序号小于它的键的键值变为0,这可以说是本模块最大的一个缺陷了。

显示模块

如前所述,显示模块负责的是接口转换工作。这个转换工作不但负责了请求信号码到请求显示码的转换,而且负责了键盘处理模块与主控制模块之间的接口转换工作。

对于显示资源作了这样的划分:1-3号的发光二极管分别表示1-3楼的上升

第6页,共17页

智能电梯控制器设计报告

请求,灭代表无请求,亮代表有请求;4-6号的发光二极管分别表示2-4楼的下降请求,灭代表无请求,亮代表有请求;7,8号发关二极管分别表示确认信号和开门信号,灭分别代表当前还只按下了一次确认键和门是关的,亮分别代表当前已连续按下了两次确认键和门是开的;1-4号的数码管分别显示停靠1-4层的请求,0表示无请求,1表示有请求;5号数码管用来显示电梯当前所在的楼层,显示为i(0<i<5),表示电梯当前在第i层;6号数码管用来显示电梯的上下标志,显示0表示电梯是静止的,1代表电梯是上升的,2代表电梯是下降的;7号数码管用来显示乘客数;8号数码管用来显示当前按键的键值,其显示随按键的键值的变化而变化。

通过显示模块要实现的功能,我们可知该模块要实现的主要技术细节有以下两个。

1. 接口码型的转换。经按键处理模块输入显示模块的请求信号为正脉冲,而显示模块要求将请求信号输出到数码管或发光二极管上显示出来,因此,这之中必然要将相应的正脉冲变成相应的数码管或发光二级管的输出。

2. 请求信号的产生和清除。这里的请求信号的产生和清除,是指当从按键处理模块传来新的请求信号时,将相应的显示予以更新,而当从主控制模块响应了某些请求信号后,应将那些被响应的请求信号应被清除,相应的显示也应予以更新。

超载报警模块

如前所述,超载报警模块直接根据载重量判断是否超载,如超载模块输出报警信号,因此本模块的机制非常简单,不再累述。

四、 系统的具体实施

详细设计之后的任务就是系统的具体实施了。具体到本设计,系统的具体实施就是,根据详细设计的结果,在maxplus中用verilog编码实现各个模块。需要强调说明的是,各个模块编译成功一定要再进行调试、仿真,以确保它们的正确性。

第7页,共17页

012004015602 电子信息工程0406班 彭令鹏

主控制模块

1. 编码实现

该模块用三段式状态机的描述方法来实现电梯在七个状态间的正确转移。采用三段式的好处是不仅可以使FSM(有限状态机)描述清晰简洁,易于维护和附加时序约束,便于综合器和布局布线器更好地优化设计,而且可以有效地消除一段式或两段式描述法中可能带来的组合逻辑输出毛刺。

为了更好地理解该模块的具体实现,下面将附上主控制模块(StateShift)的简介,而该模块的整个源代码请参考附件中的StateShift.v。

/************************StateShift.v**********************************

*Module Name:StateShift

*

*Function:实时接受各楼层的上下请求信号及电梯内部的停靠请求,然后根据这些请求实现对电梯正确的控制:

*1、除了顶层和底层外,各楼层均设有上下请求开关,顶层和底层分别设有下降和上升请求开关,电梯内设有乘客到达层次的请求开关。

*2、电梯每1s上升或下降一层

*3、电梯到达有停站请求的楼层后,经过1s后电梯门打开,开门指示灯亮,开门4s后电梯指示灯灭,电梯继续

*运行,直至运行完最后一个请求后停靠在当前层。

*4、能记忆点个体内外的所有请求信号,并按运行规则顺序相应各个请求,每个请求信号

*保持至被执行完成后才被清除,这将与display模块配合实现

*5、电梯运行规则:与一般的电梯的运行规则一致,请参见后面的关于状态转移的说明

*

*Input Port:F1Up, F2Up, F3Up分别为1-3楼的上行请求信号,F2Dn, F3Dn, F4Dn则分别为2-4楼的下行请求信号

*F1Stop, F2Stop, F3Stop, F4Stop则分别为电梯内部的停靠1-4楼的请求,

第8页,共17页

智能电梯控制器设计报告

上述各端口均为有请求时,输入为高电平,否则为低电平;

*clk为状态转移时钟,reset为复位信号

*

*Output Port:PosOut输出当前电梯所在的楼层,DoorFlag为开门标志,UpDnFlag为电梯上下标志

*LiftState输出当前电梯的状态.

*PosOut取值可为4'b0001,4'b0010,4'b0100,4'1000,分别代表电梯处在1,2,3,4楼。这样编码的话,有利于后面的比较判断。

*DoorFlag取值可为1'b0,1'b1,分别代表当前门是关闭和当前门是打开的。 *UpDnFlag取值可为2'b00,2'b01,2'b10,分别代表当前电梯是上升的,下降的和静止的。

*LiftState的取值可为可为

7’b0000001,7’b0000010,7’b0000100,7’b0001000,7’b0010000,

7’b0100000,7’b1000000 ,分别表示电梯处于等待模式、上升模式、下降模式、上升停止,下降停止、开门和关门等7个状态。

*Detailed Illustration:电梯在上述七个状态间的转移是通过三段式状态机来实现的,各状态间的转移

*大体与生活中的电梯运转一致,有如下的基本原则:

*1、方向为第一优先准则,这就是说电梯在运转时先响应同方向上的请求,只有当同方向上的请求,响应完后,才能转而响应不同方向上的请求。

*2、电梯处于等待模式时,其同时受到多个请求激发时,进入哪个模式,依次由内部请求、向上请求和向下请求决定,请参考源程序理解这一点。

*3、电梯的初始化状态为1楼等待门是关闭的

*

*Author:EI HUST bripengandre

*Email:bripengandre@126.com (or bripengandre@smail.) *

*date:08-07-2007

*

第9页,共17页

012004015602 电子信息工程0406班 彭令鹏

*bug:No bug has been found up to now.

*******************************************************************/

2. 模块仿真

编码后经编译-仿真-修改这个环节多次后,最终得到如3

智能电梯控制器设计报告

所示的仿真波形

图 3-主控制模块的仿真波形

具体的波形含义此处不再累述,请参考附件中的源程序及本报告中的相关内容。

键盘处理模块

1. 编码实现

同主控制模块一样,此处仅附上该模块的简介,而该模块的整个源代码请参考附件中的KeyProcess.v。

/***********************************KeyProcess.v*******************

*Module Name:KeyProcess

*

*Function:负责与用户的交互,处理用户的各种按键请求。

*

第10页,共17页

智能电梯控制器设计报告

*Output Port:down1,down2,down3,down4分别输出1-4楼的下降请求信号(为方便处理,允许输出1楼的下降信号)

*up1,up2,up3,up4与上类似,只是输出的为上升请求信号而已;

*StopFloor输出停靠请求信号

*person输出乘客数(超载判断按人数算,这与按重量判断,在实现上并无差别)

*KeyValue输出当前按键的键值

*confirm确认是否输出各请求信号,请参考下面的复用说明

*

*Input Port:ki(i=1-8)分别为8个按键的输入

*

*Detailed Illustration:因为所用的开发板上只有八个按键,我将按键进行了如下复用(很挫的方法):

*1、1-4号按键分别负责用户1-4楼的上下请求,每按这些键一次,相应键的键值加1模3,

*0代表无请求信号,1代表有上升请求,2代表有下降请求,当confirm为TRUE时,使能将相应的键值送出

*2、5号键负责用户的停靠请求,与按键1-4类似,每按此键一次,其键值加1模5,键值为0代表无停靠请求

*键值为1-4分别代表有停靠1-4楼的请求

*3、6号键负责超载输入(相当于实际中的压力传感器),每按此键一次,其键值加1模16,代表归一化的重量当量

*4、7号键为复位键

*5、8号键为确认键,每按此键一次,其键值加1模2,相应地confirm由0-1-0如此循环变化,只有当confirm

*为1时,各请求信号才能输出(更详细的控制过程请参看源代码) *

*Author:EI HUST bripengandre

*Email:bripengandre@126.com (or bripengandre@smail.)

第11页,共17页

012004015602 电子信息工程0406班 彭令鹏

*

*date:08-07-2007

*

*bug:No bug has been found up to now.

********************************************************************/

2. 模块仿真

编码后经编译-仿真-修改这个环节多次后,最终得到如4所示的仿真波形。

智能电梯控制器设计报告

图 4-按键处理模块的波形仿真

具体的波形含义此处不再累述,请参考附件中的源程序及本报告中的相关内容。

显示模块

1. 编码实现

同前面的模块一样,此处仅附上模块的简介,而该模块的整个源代码请参考附件中的display.v。

2. 模块仿真

编码后经编译-仿真-修改这个环节多次后,最终得到如5所示的仿真波形。

第12页,共17页

智能电梯控制器设计报告

图 5-显示模块的仿真波形

具体的波形含义此处不再累述,请参考附件中的源程序及本报告中的相关内容。

超载报警模块

1. 编码实现

同前面的模块一样,此处仅附上模块的简介,而该模块的整个源代码请参考附件中的alarm.v。

/*****************************alarm.v*******************************

*Module Name: alarm

*Fuction:实现超载报警

*Output Port: spk,输出报警信号

*Input Port: clk,person,reset,分别为输入信号,乘客数量和复位信号 *Author:EI HUST bripengandre

第13页,共17页

智能电梯控制器设计报告

012004015602 电子信息工程0406班 彭令鹏

*Email:bripengandre@126.com (or bripengandre@smail.) *bug:No bug has been found up to now

******************************************************************/

2. 模块仿真

编码后经编译-仿真-修改这个环节多次后,最终得到如6所示的仿真波形。

智能电梯控制器设计报告

图 6-超载报警模块的仿真波形

具体的波形含义此处不再累述,请参考附件中的源程序及本报告中的相关内容。

五、 系统测试和系统仿真

对系统具体实施过程中生成的模块生成电路符号,然后再顶层的gdf文件调用它们,进而将它们构成一个完整的电梯控制器系统,如图7所示。

智能电梯控制器设计报告

图 7系统顶层gdf图

对上述的系统编译后再进行仿真,得到如图8所示的仿真波形。

第14页,共17页

智能电梯控制器设计报告

图 8-系统整体的仿真波形

具体的波形含义此处不再累述,请参考附件中的源程序及本报告中的相关内容。

六、 系统的演示

对上面的系统gdf文件分配管脚并编译成功,将其配置文件下载到开发板上,这时就能通过开发板对系统进行演示。

这里有必要详细说明一下如何对系统进行演示。

首先,要提到的是开发板上的资源分配情况。

1. 按键的分配情况是这样的:1-4号键负责的是1-4楼的上下楼请求,5号键负责的是内部的停靠请求,6号键负责的是乘客数量的输入(超载门限为6),7号键为复位键,8号键为确认键。

2. 发光二级管的分配情况是这样的:1-3号发光二极管用来显示1-3楼用户的上升请求,亮表示有请求,灭表示无请求;4-6号发光二极管用来显示2-4楼用户的下降请求,亮表示有请求,灭表示无请求;而7号发光二极管是用来指示确认键是否已经连续两次被按下,亮表示确认键还只按下一次,期待再次按下确认键;8号发光二极管用来标志电梯门的开,亮表示电梯门是开的,灭表示电梯门是关的。

第15页,共17页

智能电梯控制器设计报告

012004015602 电子信息工程0406班 彭令鹏

3. 数码管的分配情况是这样的:1-4号数码管分别用来显示内部到1-4楼停靠的请求,显示1表示有相应的停靠请求,显示0表示无相应的停靠请求;5号数码管用来显示电梯当前所在的楼层,显示i表示当前在第i楼;6号数码管用来显示电梯的上下标志,显示0表示电梯是静止的,显示1表示电梯的运动方向是向上的,显示2表示电梯的运动方向是向下的;7号数码管用来显示乘客数,显示i表示有i个乘客;8号数码管用来显示当前按键的健值。

这里不再解释上述分配的原因,欲知原因请参考详细设计和具体实施中的相应部分。

其次,有必要介绍一下演示操作,这将通过下面的这个实例来说明。

系统上电后,选择开发板上的按键模式为3,按下7号键复位。这时可发现,所有发光二级管都是灭的,而数码管中只有5号数码管显示1,而其他的数码管都显示0,这就是说复位后,用户的请求都被初始化为无,而电梯被初始化为停靠在1楼等待用户的请求。

假设此时有用户想上3楼,他的操作应是,按下3号键1次或2n+1次,待8号数码管上显示1时,连续两次按下8号键确认;在操作过程中,用户可以发现8号数码管显示的数随其按2号键的次数而循环变化,而当按下8号键刚被按下1次时,7号发光二极管被点亮,提示用户再次按下8号键(使系统内部产生一个请求正脉冲)。操作的结果将是,电梯每1s上升1层,2s后到达第3层,然后电梯停靠在第3层,1s后电梯开门,开门指示灯亮,4s后关门,开门指示灯灭,在此例子中因为再无其它请求信号,所以电梯静止下来,进入等待模式;这个过程中以时间为顺序,板子上的变化有:3号发光二极管继续点亮(3楼有上升请求),6号数码管的显示值从0变为1(电梯从静止转为上升),5号数码管的显示值从1变化到3(电梯从第1楼上升到第3楼),8号发光二极管被点亮(开门),与此同时3号发光二极管熄灭(请求已被响应),4s后8号发光二极管熄灭(关门),1s后6号数码管的显示值变为0(电梯变为静止)。

最后,需要强调的一点是:当使用某键输入请求信号后,建议继续按此键直至该键的键值为0,以避免编号在此键之后的按键的请求得不到及时响应。万一由于误操作使某键的请求得不到相应,可用下面两种方法排除:第一种方法是,将编号小于此键的按键的键值都变为0;第二种方法是直接按7号键复位,使所

第16页,共17页

智能电梯控制器设计报告

有的按键的键值都变为0。

七、 课设的心得和体会

本次课程设计让我进一步体验到了设计一个小型系统的乐趣。在课设的过程中,我进一步熟悉了构建一个系统的基本步骤,领略到了模块化、结构化设计方法在系统设计中的重要性,也对verilog的使用有了一定的了解;同时通过课设过程中几乎是通宵达旦的那种工作,我的意志得到了极大的锻炼。

虽然这个课设我仅仅是马马虎虎弄出来了,但个中的那些艰苦让我有了不少的心得,主要有下面这么几点。

1. 系统设计的过程中,始终要多贯彻自顶向下、逐步细化的模块化结构化思想或类似的思想。自顶向下能让我们统筹全局,逐步细化能让我们将一个比较复杂的大问题分解成一个个容易解决的小问题,从而能够分而治之地去解决它。

2. 设计要先动脑,再动手,最后才动口。拿到一个具体的问题,我们要先开动自己的脑子去寻求解决的途径,再动脑之后再动手去实验去实践,然后是动手和动脑相结合,努力去解决问题,如果实在解决不了才动口去问别人。

3. 要注意细节。此次课设是用verilog编码的,verilog中虽然与C语言很相似,但也有一些细节部分是不同的。这些细小的不同部分往往不易被察觉,从而是最大的杀手,我在编写主控制模块时,就因if语句中的条件错用,导致多调试了1天多。当然课设中还有其它很多细节要注意,此处就不再累述了。

八、 参考资料

[1].

[2].

[3]. 吴继华,王诚.设计与验证Verilog HDL.北京:人民邮电出版社,2006.8. 夏宇闻.Verilog数字系统设计教程.北京:北京航空航天大学出版社,2003.7 网上的很多无名资料.

第17页,共17页

更多相关推荐:
中南大学 课程设计实践报告

中南大学本科生课程设计实践任务书设计报告大学计算机基础题目理想世界学生姓名李杰指导教师邵自然学院湘雅医学院临床医学与医学技术专业班级1105班学生学号2211110512计算机基础教学实验中心年月日1课程设计实...

中南大学网页设计课程设计报告

中南大学本科生课程设计实践任务书设计报告大学计算机基础题目可爱的安庆美丽的太湖学生姓名戴恒洋指导教师李小兰学院公共管理学院社会学专业班级1201班学生学号4301120xx6计算机基础教学实验中心年月日网页课程...

中南大学C语言课程设计报告

C语言程序设计实践报告中南大学C语言程序设计实践报告题目校际运动会管理系统学生姓名XXXX学号XXXXXXXXXX指导教师XXXXXX学院信息科学与工程学院专业班级XXXXXXXXXXXX完成时间20xx年06...

中南大学计算机课程设计报告

中南大学本科生课程设计实践设计报告大学计算机基础题目学生姓名指导老师学院专业班级计算机基础教学实验中心20xx年12月15日1计算机网页制作实验报告一任务内容通过对大学计算机基础和大学计算机基础学习与实验指导这...

中南大学GIS课程设计实验报告

GIS课程设计实验报告小组组员钟蕾邢磊张成乃古色拉司宝元班级测绘试验班1101指导老师李光强赵玲1一课程设计数据中南大学校本部CASS数字地形图数据文件csudwg中南大学校本部遥感地图二实验所使用的平台Arc...

中南大学C++课程设计实践报告

课程设计实践报告设计题目简易计算器姓名专业班级学号指导老师上课地点上课时间目录设计要求1设计思想1程序代码1调试过程10运行结果11心得体会16设计要求用visualC程序设计一个简易的计算器具有多种功能例如加...

中南大学单片机课程设计报告

中南大学单片机课程设计报告单片机课程设计报告题目智能电风扇控制器专业班级电子信息1101班学号姓名指导老师课设时间中南大学信息科学与工程学院中南大学单片机课程设计报告摘要单片机已经在家电领域中得到了广泛的应用本...

中南大学单片机课设报告

中南大学信息科学与工程学院单片机课程设计实验报告中南大学课程设计报告题目带音乐的电子密码锁班级电子信息姓名学号指导老师陈科文张金焕中南大学信息科学与工程学院单片机课程设计实验报告日期中南大学信息科学与工程学院单...

20xx中南大学测绘程序课程设计报告(含代码界面设计数据格式)

中南大学测绘程序课程设计报告姓名:XXXXX学号:XXXXXX指导老师:XXX专业班级:XXXX1系统设计1、实现功能1.1优化设计:根据控制网的观测精度与网形,全面评定网的精度1.2数据输入:使用外部数据倒入…

中南大学通信原理matlab课程设计报告

通信1005班通信原理课程设计报告实验目的通信原理实验是针对通信工程专业学生的实践教学环节通过这一环节可使学生巩固相关课程知识增强动手能力提高学生对通信系统的仿真技能在强调基本原理的同时更突出设计过程的锻炼强化...

中南大学 计算机原理与汇编课程设计报告

计算机原理与汇编课程设计报告姓名学号班级指导老师贺建飚汇编语言课程设计一设计目的课程设计是计算机原理与汇编语言教学过程中的重要环节本课程设计主要目的是使计算机专业学生深入学习计算机原理与汇编语言知识进一步提高学...

中南大学自动化微机课程设计报告

第一章绪论11概述近年来随着科技的飞速发展单片机的应用正在不断地走向深入同时带动传统控制检测日新月益更新在实时检测和自动控制的单片机应用系统中单片机往往是作为一个核心部件来使用仅单片机方面知识是不够的还应根据具...

中南大学课程设计报告(19篇)