基于VHDL的六层电梯控制器的标准设计_第1页
基于VHDL的六层电梯控制器的标准设计_第2页
基于VHDL的六层电梯控制器的标准设计_第3页
基于VHDL的六层电梯控制器的标准设计_第4页
基于VHDL的六层电梯控制器的标准设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、:ndt:”:. em:;:.:'广西工学院毕业设计(论文)任务书课题名称电梯控制器的VHDL实现院系电气学院专业电子信息科学与技术班级电科113班学号 3 5姓 名 莫中桥 李柳指导教师韦艳霞教研室主任 梁程华系主任罗文广2014年9月19日一、课题的主要内容和基本要求采用EDA技术设计一个电梯控制器,要求能控制电梯完成3个楼层的载客服务,并完成以下功能:1、 每层均有电梯上下运行请求开关,并可选择乘客要到达的楼层;2、电梯运行遵循方向优先的原则,当电梯上升时,只响应比电梯所在楼层高的上 楼请求信号,直到最后一个上楼请求执行完毕,才响应下降请求。下降时同理。3、能显示电梯电梯所在楼层

2、、有开关门按键并有声音提示。二、所需完成的工作1、完成设计的程序编写和编译工作 , 要求顶层文件采用原理图方法设计;2、完成各个模块的波形仿真和整体硬件调试;3、完成 15 左右页的论文说明书。三、主要参考文献、资料1. 潘松,黄继业 EDA技术实用教程(第二版)M.北京:北京航空航天大学出版社,19902. 刘欲晓,方强,黄宛宁等.EDA技术与VHD曲路开发应用实践M.北京:电子工 业出版社, 20093. 谭会生,瞿遂春等.EDA技术综合应用实例与分析M.西安:西安电子科技大学 出版社 .2004.四、完成期限2014年 9月 20日前摘要电梯作为垂直方向的交通工具,在高层建筑和公共场所已

3、成为不可或缺的设备。中 国是全球最大的电梯市场,也具有最强的电梯生产能力,但由于缺乏自主知识产权和核 心技术,自主品牌占市场的份额很少。随着社会需求的变化,电梯朝着节能、环保及智 能化方向发展。EDA技术打破了软件和硬件间的壁垒,是计算机的软件技术与硬件实现、设计效率 与产品能合二为一,它代表了电子技术和应用技术的发展方向。VHDL主要用于描述数字 系统的接口,结构和功能,它的语法简单易懂,移植性好。本设计采用VHDL源程序Altera公司的Quartus II软件仿真。运用有限状态机的 设计方法,设计了两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为 辅助进程。在主进程中定义了

4、7 个状态,分别是“ stopon1 ”“dooropen”“doorclose“doorwait4 ”“up”“down"和“ stop ” ,在电梯时钟的触发下,通过当前状态和信号灯信号判定下一状态。信号灯控制进程中,信号灯存储按键请求情况,它的熄灭是由状 态机进程中传出的信号来控制。关键字:电梯控制器,VHDL状态机,CPLDABSTRACTElevator has become an indispensable device as a vertical transport in high-rise buildings and public places. China is t

5、he world' s largest elevator marke th,aenhdigahlseosthlaiftscapacity. But the lack of independent intellectual property rights and core technologies, the market share of own brands account for very little. With the changing of the community needs, elevator develop towards energy saving, environm

6、ental protection and intelligent.EDA breaks the barriers between hardware and software. Not only the computer software technology and hardware but also the design efficiency and product performance are combined. EDA represents the electronic design technlogy and application technology' sdevelopm

7、ent. VHDL digital system is mainly used to describe the interface, structure and function. Its syntax is easy and transplantable.This design which uses VHDL simulated by Altera' s Quartus II software. I use methodnamed finite state machine which two processes complement each other. The state mac

8、hine process act as the main process, and the signal control process act as a assistant. Seven states were defined in the main process, namely“ stopon1 ” “ dooropen ” “ doorclose ” “doa ”“up”“ down” and “stop ”. Triggered by the lift' s clock, the next state is determined by thecurrent state and

9、 the signal. In signal control process, registers keep input value, and lamps black out when the control process, registers keep input value, and lamps black out when the control signal in the main process is high value.Key words: Elevator Controller, VHDL State Machine,CPLD目录第一章绪论第二章 总体方案设计第一节设计要求第

10、二节 电梯控制器的总体设计方案第三节 电梯上下层运行流程图第四节 电梯运行控制流程图第五节 三层电梯控制器的设计思路第三章 总体设计电路图第一节 顶层电路原理图第二节 三层电梯控制器的实体设计第三节 三层电梯控制器的结构体设计第四节三层电梯控制器VHDL设计第五节 选择器件第六节 功能模块一、电梯主控制模块二、分频器模块三、译码器模块四、数据选择器模块第四章 三层电梯模块仿真第一节 电梯控制器控制仿真分析第二节 译码器仿真分析第三节 数据选择器仿真分析第四节 分频器模块仿真分析第五节 顶层电路仿真分析第五章 设计的扩展性致谢参考文献附录第一章 绪论随着社会的发展 ,电梯的使用越来越普遍 ,已经

11、从原来只在商业大厦 ,宾馆使用 ,过 度到在办公楼 , 居民楼等场所使用 , 并且对电梯功能的要求也不断提高 , 相应地其控制方 式也在不停地发生变化 . 对于电梯的控制 , 传统的方法是使用继电器 接触器控制系统 进行控制,随着技术的 不断发展,微型计算机在电梯控制上的 应用日益广泛,现在已 进入全微化控制的时代。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特 征的语句外,VHDL勺语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。 VHDL勺程序结构特点是将一项工程设计, 或称设计实体(可以是一个元件,一个电路模 块或一个系统)分成外部(或称可视部分

12、 ,及端口 ) 和内部(或称不可视部分),既涉及 实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开 发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念 是VHDL系统设计的基本点。VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。 它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHD支持同步 电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。 VHDL还支持 各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计, 又支持层次化设计。电梯的微机化控制主要有以下几

13、种形式:1.PLC控制2.单片机控制3.单板机控制4.单微机控制5.多微机控制6.人工智能控制。随着EDA技术 的快速发展,VHDL已广泛应用于电子设计与控制的各个方面,本文采用VHDL语言来设计实用三层电梯控制器,其代码具有良好的可读性和易理解性,源程序经 A1tera 公 司的Quartus II软件仿真,目标器件选用 CPLD器件。通过对三层电梯控制器的设计, 可以发现本设计有一定的扩展性,而且可以作为更多层电梯控制器实现的基础。第二章总体方案设计第一节设计要求三层电梯控制器将实现的功能:一、每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。二、设有电梯入口处位置指示

14、装置及电梯运行模式 (上升或下降)指示装置。三、电梯每秒升(降)一层楼。四、电梯到达有停站请求的楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后, 电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号后停留在当 前层。五、能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留 至执行后消除。六、电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信 号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直 接升到由下楼请求的最高层,然后进入下降模式。当电梯处于下降模式时则与上升模式 相反;能显示电梯电梯所在楼层、有开关门按键

15、并有声音提示。七、电梯初始状态为一层开门状态。第二节电梯控制器的总体设计方案控制器的功能模块如图2.1所示,包括主控制器、楼层选择器、状态显示器、译码 器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始 运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显 示器中显示。由于其他模块相对简单很多,所以主控制器是核心部分。图2.1总体设计方案第三节电梯上下层运行流程图电梯在1忙* |2朋有信号7匚二:=电梯上升电拂丄升渣程图图2.2:ndt:":.n.gY电梯亞1楼二乙3楼有信号电梯上升电梯在3楼图2.3第四节 电梯运行控制流程图如图2.

16、4 :第五节三层电梯控制器的设计思路电梯控制器运用状态机的设计方法,思路比较清晰。可以将电梯等待的每秒钟以及 开门、关门都看成一个独立的状态2。由于电梯又是每秒上升或下降一层,所以就可 以通过一个统一的1秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把 状态机设置7个状态,分别是“电梯停留在第1层”、“开门”、“关门”、“开门等待4秒”、“上升”、“下降”和“停止状态”。各个状态之间的转换条件可由上面 的设计要求所决定。各状态机之间转换图如图2.5 :第二章总体设计电路图第一节顶层电路原理图电梯控制器为其中的核心部件,控制其电梯的运行情况,而其控制则由按钮来决定, 通过按钮指示灯判断

17、电梯的工作状态及显示其运行情况。实验板上输入过大的脉冲序 列,通过分频器将高频转换为低频,即butto nclk,通过此时钟信号控制电梯信号灯。当按钮为高电平时,电梯开始工作,并通过按钮信号灯决定电梯的运行。电梯所处位置显 示通过译码器,再通过数据选择器显示到数码管上。udsig和doorlight显示电梯门和电梯的状态。stoplight3.1 fuplight3.1 fdn light 3.1显示按钮指示。Reset 按钮使电梯恢复到初始位置。楼层position变化相应的数码管也跟着变。其顶层原理图如图3.1 :buttcmclk:hagonal Bus Tool n j-n-i|ir

18、Ji iiraisimiwibiFriibii ir rwa-imqiBiiarartEiQUTbij亍_|fiiplightp i.B K jlHll|lM|llBilm:ilHll|ilmlll|llfil|aml|l|llllBllU|lmllgl|BimaiB niBan raiBimairiniFii inirTPi/C佃nlightp .1: i|M |>. ifaii. j ifcn j *>fiiftoik" "swam;rtfetI>_ -:Hupbutton|、;鰹T1:fZupbutton|)INE £T_:Jf2dnbut

19、tonp>輕T:f3dnbutton|、也$;_L J I Lfc i 5top2bijrtUnI怔$匚-stopgbutun |>_诜旷: stopibuttonf'thnMifft""yimaql339 M .0呷叫、dorlieht 申術i“产y "udfig"buttoniclkfupiightp.Jllftclkfdniightp.Jresetstoplight pjB1f lupbunonpositior!i1. Jf2upbuttondoorlightidnbuttonudsigfSdnbuttonstop 1 butt

20、 cinstop2button亦 p3button图3.1顶层原理图第二节三层电梯控制器的实体设计首先考虑输入端口,一个异步复位端口 reset,用于在系统不正常时回到初始状态; 在电梯外部,必须有升降请求端口, 一层是最低层,不需要有下降请求,三层是最高层, 不需要有上升请求,二层则上升、下降请求端口都有;在电梯的内部,应该设有各层停 留的请求端口:一个电梯时钟输入端口,该输入时钟以1秒为周期,用于驱动电梯的升降及开门关门等动作;另有一个按键时钟输入端口,时钟频率比电梯时钟高。其次是输出端口,有升降请求信号以后,就得有一个输出端口来指示请求是否被响 应,有请求信号以后,该输出端口输出逻辑 I

21、 '。被响应以后则恢复逻辑 0'同样, 在电梯内部也应该有这样的输出端口来显示各层停留是否被响应;在电梯外部,需要一 个端口来指示电梯现在所处的位置;电梯开门关门的状态也能用一个输出端口来指示; 为了观察电梯的运行是否正确,可以设置一个输出端口来指示电梯的升降状态。第三节三层电梯控制器的结构体设计首先说明一下状态。状态机设置了 7个状态,分别是电梯停留在I层(stop。nl )、 开门(dooroper)、关门(doorclos©、开门等待 4 秒(doorwait4)、上升(up)、下降(down)和停止 (stop) 。在实体说明定义完端口之后,在结构体 arch

22、itecture 和 begin 之间需 要有如下的定义语句,来定义状态机。type lift_state is(stoponl,dooropen, doorclose, doorwait4,up,down,stop):signal mylift : lift_state:在结构体中,设计了两个进程互相配合,一个是状态机进程作为主要进程,另外一 个是信号灯控制进程作为辅助进程。 状态机进程中的很多判断条件是以信号灯进程产生 的信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是由状态机进程中传出的 clearup 和 cleardn 信号来控制。在状态机进程中,在电梯的上升状态中,通过对信号灯的

23、判断,决定下一个状态是 继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是 继续下降还是停止;在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电 梯是上升、下降还是停止。在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵 敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键后产生的点亮的信 号灯(逻辑值为1')用于作为状态机进程中的判断条件,而clearup和cleardn信号为逻辑1'使得相应的信号灯熄灭。第四节 三层电梯控制器 VHDL 设计三层电梯控制器的源代码可知。一、本程序设计调用了 IEEE库,IEEE

24、库是VHDL设计中最为常用的库,它包含有 IEEE 标准的程序包和其他一些支持工业标准的程序包。本设计采用了STD_LOGIC_1164、STD_LOGIC_ARITH 、STD_LOGIC_UNSIGNED 程序包。二、以关键词 ENTITY 引导, END ENTITY lift 结尾的语句部分,称为实体。 VHDL 的实体描述了电路器件的外部情况及各信号端口的基本性质。 本设计定义了关于三层电 梯控制器用到的各类时钟、异步复位按键、信号灯指示、电梯的请求。端口模式主要就是IN、BUFFER、OUT端口。及定义了各端口信号的数据类型, 主要是STD_LOGIC(标 准逻辑位数据类型 )、I

25、NTEGER (整数类型) 、STD_LOGIC_VECTOR (标准逻辑矢量数据 类型)。这些都满足上面调用的IEEE库中的程序包。三、以关键词 ARCHITECTURE 引导, END ARCHITECTURE art 结尾的语句部分, 称为结构体 8。结构体负责描述电路器件的内部逻辑功能或电路结构。本设计定义了 7 个状态。描述了在三层电梯中出现的各种可能的情况作为控制电梯的主要进程。信号灯 控制作为辅助进程 9。第五节 选择器件、数据选择器逻辑功能表如表3.1表3-1数据选择器逻辑功能表+输入输出inputoutput000101100000010110110100111111001、

26、译码器逻辑功能表如表3.2表3. 2译码器逻辑功能表心输入输出aaabbb100012001030011第六节功能模块一、电梯主控制模块如图3.3 :S threelift.bsfi ' threelitti升lr-ibuttonclkfuplishtp.lliftclkfdNightp. 1rftsetstoplight p.1 Jflupbuttonportion 1.0f2ijp!b LittondoorliglrtfZdnlxitlonudrigf 刑 nbflan竝 op 1 buttonstop 九 unonstop3buttoninst电梯主控制模块端口说明:butt o

27、n elk按钮时钟信号reset复位键f2upbutt on二楼上楼按钮 f3dn butt on三楼下楼按钮 stop2button电梯内部二楼按钮 fuplight3.1每楼层上升指示灯 stoplight3.1电梯内部楼层指示灯 doorlight电梯门状态显示图3.3电梯主控制模块liftelk电梯时钟信号f1upbutton 一楼上楼按钮 f2dnbutton二楼下楼按钮 stoplbutton电梯内部一楼按钮 stop3button电梯内部三楼按钮 fdn light3.1每楼层下降指示灯 position2.O楼层位置显示 udsig电梯上升下降显示、分频器模块如图3.4 :in

28、st图3.4分频器模块模块端口说明:div_out分频后时钟输出端clk_in电源输入端三、译码器模块如图3.5 :醫建文件夹C7>/yimaqLbsf图3.5译码器模块aaa1.O楼层位置输出端bbb3.O译码输出端四、数据选择器模块如图3.6 :图3.6数据选择器模块数据选择器模块端口说明:led in 3.0译码器输入端ledout6.0数据选择器输出端第四章 三层电梯模块仿真第一节电梯控制器控制仿真分析示例1:图4.1所示仿真的是在第二层电梯外部有上升请求,也就是f2upbuttton信号的一个脉冲9,可以看到电梯从一层上升到二层,position信号由1变到2, doorlig

29、ht信号1' 表示开门,0'表示关门。当乘客进入电梯以后,在电梯内部要求上升到第三层,也 就是stop3button产生一个脉冲,电梯上升到第3层,开门4秒以后关门,停留在第三层, position最后的值为3。在仿真图中看不到buttonclk,只显示为一条黑色的线,是因为采 用了频率较大的时钟。再看fuplight信号灯,当二层有上升请求的时候,它的值由0变到2。(注意fuplight和fdnlight是3位的二进制向量,这里的“ 010”,表示二层有请求;“ 100”也就是4, 表示三层有请求)。当电梯停留到第二层以后,表明该请求被响应,所以它的值变为0,由于没有下降请求

30、信号,所以fdnlight信号灯的值一直都为0。当电梯处于第二层时, udsig=0,即此时若没有其他请求,电梯处于上升模式;当 stop3button=1,即电梯内部按 了三层请求时,电梯门灯灭电梯开始上升udsig=0,即处于上升模式10,抵达三层时,udsig=1,即无论什么请求电梯都开始下降,且doorlight=1,即灯亮,电梯门开。四秒之后灯火,电梯门关。 :ndt:”:. em:;:.:'butt.B 03door.,B 0fiup. s .B DB 0一-B Df3dn.B 0± fdnl.B 000fdnl.,B 0fdnl.B 0fdnl.B 0肅田 fu

31、jjl.B 000B 0fupl. LB 0fupl.E 0li£t<rlkB 0圧I p倨iU 1posi.B 1powi B 0resetB 0step. rB 0!>*stop.,B 0step.,B 0+ step. . rB 000astop.,B 0沖Stop. rB 0step.,B 0wdsi gB 0nmwuinnnnn.iiIiii-i1 1L000000k010X1If. ; i MII-!iI>|1n rL_TL_ri】nlX2*!ri11【 000Y i6d1示例2:图4.2是有下降请求的情况,当电梯停留在第一层的时候,在电梯外第三层有下降

32、 请求,这时候fdnlight信号灯由0变为4,说明第三层有下降请求。fdnlight信号灯清0, 电梯开始上升,即udsig=0,抵达四楼后电梯门开,doorlight=1,这时候,在电梯内部有 一楼向上请求,接着电梯内部有三楼的请求,所以电梯继续下降,到达三层后,电梯门 开11,四秒后电梯门关,又因为一楼有请求所以最终到达一楼停止响应,position信号的值保持在1,电梯处于上升模式。四秒后电梯门关。 :ndt:”:. em:;:.:'FimiLnaHoinWaTormsMis terValu .11. £5 nsFointer:163. 84 usbutt.dccr.

33、fl up.f2dn.£2up.f3dn,厂1.62 us1.61 usStart:End:819.2 sfdid.Edrl L+£upl.£«pl,-fupl.-upl.Ltftclkposi posi.-sitop 一stop4 .stop.,aud i g11|i 1110C)0LIGO;QOO1/ 'i,C00"L n厂1njrULrn_rL_rr_rnJ一一rL_rr_n-_1.X2X3j2B 0E 0B 0B 0E B QOOB 0E 0B 0B 0U 1B 1B 0E 0B 0B 0B 0001B 0B 0B 0B 0B

34、QOO图4.2示例2示例3:图4.3仿真的情况是,原先电梯停留在第一层,这时候电梯外第六层有下降请求, 电梯上升到第六层,乘客进入电梯以后要求下降到一层,与此同时,在电梯外第三层有 上升请求,电梯首先要响应下降请求然后再响应这个上升请求,所以电梯得先下降到一 层,然后再上升到第三层来,接着电梯内部五楼,三楼都有请求信号,于是电梯升到五 楼然后下降到三楼,这是符合常理的。从仿真的波形看,电梯的位置变化和想象是一致 的。电梯的运行情况完全正确。最后乘客在电梯内部要求上升到三层,所以电梯最后的 停留位置为三层。:ndt:":.n.g诂 町卩俪唧vm irnT>iriqwiiimrt

35、' 叮t皿TTinrnrr! with叩川旧仰场 pp_j p! ppb-YjjTO®1mK-mjn)wttsbrirestf聊1池初nwnrmwmMara»mmwnrarwm»nmnoI:;;i忡砒 £ ifnwn m 1 m $ 何 i图4.3示例3示例4:图4.4所示的仿真,原先电梯停留在第一层,电梯外第六层有下降请求,电梯上 升到六层,乘客进入电梯以后要求下降到一层,此时,二层有下降请求,接着又有上升 请求,电梯首先在二层停留。然后下降到一层。随后要响应二层上升请求,上升到二层, 乘客进入电梯以后要求上升到三层,所以电梯最后的停留位置在三

36、层。:ndt:”:. em:;:.:' 图4.4示例4第二节译码器仿真分析本模块的主要功能是将10进制数转换成4位二进数。当输入信号aaa=1时,输出bbb=0001;当输入信号aaa=2时,输出bbb=0010;当输入信号aaa=3时,输出bbb=0011;当输入信号aaa=4时,输出bbb=0100;当输入信号aaa=5时,输出bbb=0101;当输入信号aaa=6时,输出bbb=0110;其他都为0000;仿真波形如图4.5日删!J(2 )(3X4X5X e XLaaa0|Ebbb0001 )0010 (M11 X 01W(0101hanmvnvinM rm-HKH Bm U B

37、 U-刪Lbbb21-bbtffl1Lbbb0|图4.5译码器仿真波形第三节数据选择器仿真分析当 input=0001 时,当 input=0010 时,当 input=0011 时,当 input=0100 时,输出, 输出, 输出, 输出,数码管显示1 ; 数码管显示2; 数码管显示3; 数码管显示4;当 input=0101 时, 当 input=0110 时, 仿真波形如图4.6输出,输出,数码管显示5;数码管显示6;1D1F11此模块的功能是根据输入不同的数据输出不同的数据,即由输入定输出,输出量通 过数码管显示数据。一 outpd 闵 -output|4J -0UWI3 '

38、CdpiiR -output|1 -niiaiflii图4.6数据选择器仿真波形:ndt:":.n.g第四节 分频器模块仿真分析此模块的功能是把高频率的时钟信号转换为低频脉冲信号仿真波形图如图4.7 :dtnm1: 1图4.7分频器仿真波形第五节顶层电路仿真分析实例(1):当二楼上升按钮为高电平时,即f2uplight=1;电梯门开始上升,至U达二 楼时,门灯为高电平,即 doorlight=1;数码管显示2;此时电梯内stop3button=5;即电 梯收到五楼的请求指示,门关,到达五楼后,此时数码管显示 5; 4秒后门关,等灭, doorlight=0。仿真图如图4.8 :图4.

39、8实例(1)实例(2):当电梯六楼向下按钮f3dnlight=1时,电梯到达六楼,此时电梯内部按 钮stop1button=1;与此同时,三楼电梯f3dnlight=1,电梯到达三楼停后,最终到达一楼。仿真波形如图4.9 :图4.9实例(2)第五章设计的扩展性在本设计中,因为考虑了扩展性,所以在信号定义的时候就使用了二进制的向量, 而不是整数。在设计方法上也做了特殊的设计,所以使得扩展性较好。如果要实现n层电梯的控制,首先在端口的地方就要加入所有的按键,而指示灯只要把向量中的6改成n就可以了。同时需要在按键控制进程里加入其他按键触发指示灯的语句。在电梯的升 降状态将6改成n,在电梯的开门状态中

40、将2改成n 1,在关门状态,将position=6 改成position=n,关键是修改position=6的部分,如果按照每层罗列,将十分烦琐,所 以得寻求各层判断条件的共性,解决方法之一就是,新建一个全局向量abc为stdogic_vector(n downto 1),abc的赋值为 abc<=(pos=> ' 1' ,other=> 在电梯的上升模 式时,如果有本层请求信号,则电梯开门;如果没有任何请求信号,则电梯停在当前层; 否则用abc和stoplight 与fuplight 向量比较,如果stoplight或fupligh比abc大,则 说明更高层

41、还有上升或者停战请求,电梯需继续上升;如果abc更大,则用abc与fdnlight 作比较,如果fdnlight更大,则说明更高层有下降请求,电梯继续上升,否则电梯下降。 电梯处在下降模式时同原理分析判定下一状态。这样可以大大简化程序,但要注意的是 abc向量作为判断依据,需实时更新,可以单独写一个进程,触发时钟周期要设置得很 小。在电梯的上升状态和开门状态中,把 6改为n,在信号灯控制进程中加入其它按键 触发指示灯的语句。结束五结束语通过这次课程设计,让我明白了理论和实际操作之间差距,而且也让我明确的意识 到自己在电子理论知识上还有很多知识漏洞,以后应该更深入的理解知识。学会将知识 应用到实

42、际生活和问题上才是真正的掌握了知识。在编译仿真时,需要对Quartus II软件的实验步骤重新熟练,在此基础上还要明白相应步骤选择的原因和目的,这样才能 切合相应的实验主题,解决具体的问题。因为出现任何一点小的误差就会导致整个文件 系统的编译出现错误提示,因此必须不断根据思路和设计完善程序。另外在器件的选择 上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。 模式的选择也是如此。总的来说在这次实课程设计中,虽然碰到了很多困难和问题,但我们还是靠自己的努力与坚持完成了任务。比如当遇到了自己无法解决的困难与问题的时候,通过网络查 询,文献查询等很多方法自主解决。这次设计给

43、我们最大的收获就是扩大了自己的知识 面,了解更多与本专业有关的科技信息,学会将零散的知识点综合运用解决实际问题, 觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不 少知识,而且锻炼了自己的能力。但是我们同时也看到了本次设计的不足,对于硬件仿 真就遇到了很大难题,对于引脚分配就没有了方向。许多工程实际问题不能完全用理论 知识去解决,需要不断吸取现场经验,寻找解决问题方法。虽然我们能完成设计的基本 功能,但仍有可拓展的空间,比如超载报警、多层电梯等,都是可以继续研究以满足更 多的功能要求,但以我现在对 EDA知识的了解,可能不太容易完成,希望以后有机会再 深入地学习ED

44、A设计出更符合实际功能需求的代码。与时代共同进步。才能在将来成 为有用的科技人才。致谢 首先要感谢学校能给我们这次组合完成课程设计的机会, 加强了自己的动手能力和 对 VHDL 语言的理解能力,其次和同伴讨论的的过程中彼此深化了对专业知识的理解, 发现了自我认知的不足。感谢韦老师在课程设计之初给予我们课程设计的方向和方法, 尤其是在设计上应注意的问题,让我们的设计明确清晰,少走很多弯路。 这次课程设计,网上虽然有很多种类的完整的程序,但想要真正看懂并不容易,为 此我们花了很多时间去理解, 当回忆起老师上课时教过的方法时我们对程序的理解才慢 慢有了起色,还在交流探讨中发现了程序的错误,感觉自己能

45、运用老师所教的知识读懂 复杂冗长的程序,即使代码中可能仍存在一些不能解决的实际问题,也觉得有了一定的 成就感。最后再次感谢老师的辅导,帮助和传授的知识,让我们把理论和实际结合了起来, 更加理解了 VHDL 语言在日常生活中的应用。 懂得如何以实际的眼光看待自己所学的知 识,这是一种重要的学习态度。参考文献1黄正巾,徐坚等 CPLD系统设计与应用M.北京:电子工业出版社,2002,2 孟宪元.可编程ASIC集成数字系统M.北京:电子工业出版社,2003,3潘松,王国栋.VHDL实用教程(修订版)M.成都:成都电子科技大学出版 社,2002,4王锁萍.电子设计自动化(EDA教程M.成都:成都电子科

46、技大学出版社,2006,5苏长赞.电梯设计与应用M.北京:人民邮电出版社,2008,6朱清慧.VHDL教程.清华大学出版社M, 2008,7何立民.EDA应用技术选编M 北京:北京航空航天大学出版社,2008,电梯程序:library ieee;use ieee.std_logic_1164.all;附录use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity threelift is port(buttonclk:in std_logic;-按钮时钟信号liftclk: in std_logic;-电梯时钟信号

47、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,stop3button:in std_logic;-电

48、梯内部按钮stoplight:buffer std_logic_vector(3 downto 1); -内部停止指示灯 position:buffer integer range 1 to 3;-楼层位置显示doorlight:out std_logic;-电梯门指示灯 1'开 0关'udsig:buffer std_logic );-0处'于上升模式, 1处'于下降模式end threelift;architecture art of threelift istype lift_state is (stopon1,dooropen,doorclose,doo

49、rwait4,up,down,stop); -电梯 所处的 7 个状态signal mylift:lift_state;-内部电梯状态信号signal clearup:std_logic;-上升清除信号signal cleardn:std_logic;-下降清除信号begin controllift:process(reset,liftclk) variable pos:integer range 1 to 3;-楼层位置变量 begin-起始状态-上楼信号清除-下楼信号清除-处于一楼-处于一楼if reset='1' then mylift<=stopon1; clea

50、rup<='0' cleardn<='0' pos:=1; position<=1;elseif liftclk'event and liftclk='1' then- 四秒后门关case mylift iswhen stopon1 => doorlight<='1'- 电梯门开position<=1;-电梯处于一楼pos:=1;mylift<=doorwait4;when doorwait4 => mylift<=doorclose;when doorclose =&

51、gt;doorlight<='0' - 电梯门关if udsig='0' then- 电梯处于上升模式if position=3 thenif stoplight="000" and fuplight="000" and fdnlight="000" thenudsig<='1'mylift<=doorclose;else udsig<='1'mylift<=down;end if;elsif position=2 thenif stopli

温馨提示

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

评论

0/150

提交评论