基于VHDL的电梯控制系统毕业设计论文(VHDL编程、含ppt).doc_第1页
基于VHDL的电梯控制系统毕业设计论文(VHDL编程、含ppt).doc_第2页
基于VHDL的电梯控制系统毕业设计论文(VHDL编程、含ppt).doc_第3页
基于VHDL的电梯控制系统毕业设计论文(VHDL编程、含ppt).doc_第4页
基于VHDL的电梯控制系统毕业设计论文(VHDL编程、含ppt).doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

摘摘 要要 电梯是标志现代物质文明的垂直运输工具,是机电一体化的复杂运输设 备。而电梯的核心是电梯控制器。对于电梯的控制,传统的方法是使用继电器 接触器控制系统进行控制,随着技术的不断发展, 采用硬件描述语言 vhdl 来 完成电梯控制器的设计, 是设计智能化的标志。 本文结合 eda 自上而下的设计特点分析了电梯控制系统的工作原理,给出 了电梯控制系统的设计框图,并用 vhdl 语言描述出了整个系统,最后用 quartus软件进行了仿真,分析了仿真结果,进行了总结。 本文结构主要分成四大部分: 第一章介绍了电梯控制系统的发展情况及发展趋势,交代了课题的研究背 景,并对要完成的工作做了介绍; 第二章介绍了 eda 技术的主要特点,并对 vhdl 语言的功能及其结构进行 了描述,并着重介绍了状态机的含义; 第三章以 vhdl 语言作为描述工具,对四层电梯的结构进行分析,给出了电 梯控制器的设计流程和状态机描述; 第四章用 quartus软件对程序进行了仿真,并对仿真结果进行了说明和分 析,并进行总结。 关关键键字:字:电梯控制器,eda,vhdl 状态机 1 the elevator control system based on vhdl abstract the elevator is symbolized the modern material civilization verticaltransport means, are machine - the electricity integration complextransport vehicle. it involves the electronic technology, themechanical engineering, the electric power electronic technology, themicrocomputer technology, the electric power drives the system and thecivil engineering and so on many scientific domains. at present theelevator production situation and the use quantity have become one ofnational modernization degree symbols. along with the modernized cityhigh speed development, has the massive streams of people and thething class every day needs to transport. in order to save with andthe adaption economics and trade enterprise development, a flickeringtall building rises straight from the ground, these high-riseconstructions vertical transportation are a prominent question, withpeoples work and life close correlation. along with societys development, the elevator use is more and morecommon, from originally only in the commercial building, theguesthouse use, transited to in place use and so on the officebuilding, building of residence, and also unceasingly enhances to theelevator function request, correspondingly its control mode also indoes not stop changes. regarding the elevator control, the traditionalmethod is uses the relay - contact device control system to carry onthe control, along with the technical unceasing development, themicrocomputer is day by day widespread in elevator controlapplication, now entered the entire microcomputer control the time. the present era day by day increases along with the high- riseconstruction with the architectural design scale enhancement, causesthe people more and more to be also high to the elevator request. atpresent not only has been restricted in requests the elevator totravel by fast, comfortable, manufacture firm, the decoration iselegant, the people to the elevator security reliability andmulti-purpose were proposing the more and more high request, is facingthe control intellectualization direction for this elevator todevelop. but the elevator core is the elevator controller, the elevatorcontroller realization also has many center ways, such as plc,monolithic integrated circuit, and so on in the before elevatorcontroller design, majority of all was uses plc to realize, but plcwas realizes the elevator control based on the periphery hardware,such design was very difficult to realize the elevatorintellectualization, had to realize the elevator intellectualization,had to select 2 other design methods to complete to the elevatorcontroller design, but used the hardware description language tocomplete the elevator controller the design, could the very easyrealization elevator intelligence essential character: elevator controller, cpld, vhdl conditionmachine 目目 录录 目目 录录0 1 绪论绪论.1 1.1 国内外研究现状及发展趋势1 1.2 电梯智能化及其实现1 1.2.1 接口层的实现.2 1.2.2 群控策略的选择.2 1.3 论文的主要工作及结构 3 2 eda 技术及 vhdl 语言.3 2.1 eda 技术 .3 2.2 vhdl 语言 4 3 四层电梯控制器的 vhdl 设计.5 3.1 plc 电梯控制缺点5 3.2 电梯控制器流程 6 3.3 状态机及其 vhdl 设计.9 3.3.1状态机的基本结构和功能10 3.3.2一般状态机的vhdl设计.11 3 3.4 四层电梯控制器具体设计 12 3.4.1四层电梯控制器的功能及设计思路12 4 四四层电层电梯控制器的梯控制器的调试调试及仿真及仿真15 4.1 程序修改调试15 4.2 波形仿真16 5 结束语19 谢辞19 参考文献21 附录 1 状态机的 vhdl 程序22 附录 2 四层电梯控制器的 vhdl 描述源程序24 1 绪论绪论 1.11.1 国内外研究国内外研究现现状及状及发发展展趋势趋势 在现代化城市的高速发展中,一幢幢高楼拔地而起。电梯是楼房里上下运送 乘客或货物的垂直运输设备。我国电梯行业的发展历程,从改革开放到今天,电 梯行业在不知不觉中走过了一个从无到有,从有到多,从多到精的发展历程。随 着住宅市场的巨大变化,中国已经成为全球容量最大、增长最快的电梯市场。目 前,我国电梯保有量已超过 100 万台,且保持每年 20%的递增速度,市场前景乐 观。这些电梯服务于写字间、公寓、商场等各种场所。但是电梯行业业内都知道, 电梯的核心部件是电梯控制。该部件的好坏不仅影响电梯的运行质量,还会影响 4 电梯的安全性和可靠性能。上世纪 80 年代,国内电梯行业基本应用传统的继电 器控制方式,电梯故障率很高。改革开放以来,国外的电梯公司纷纷登陆中国市 场,在国内建立了一批有规模的合资企业,他们带来的技术比较先进。但这些外 国公司对电梯控制系统的技术控制非常严格,国内的中小型企业根本没有能力 与他们竞争。总的来说,我国电梯市场潜力很大,但是国产电梯市场占有率不容 乐观,中国电梯企业有待发展。 在现代化城市的高速发展中,一幢幢高楼拔地而起。电梯是楼房里上下运送 乘客或货物的垂直运输设备。我国电梯行业的发展历程,从改革开放到今天,电 梯行业在不知不觉中走过了一个从无到有,从有到多,从多到精的发展历程。随 着住宅市场的巨大变化,中国已经成为全球容量最大、增长最快的电梯市场。目 前,我国电梯保有量已超过 100 万台,且保持每年 20%的递增速度,市场前景乐 观。这些电梯服务于写字间、公寓、商场等各种场所。 自 1889 美国的奥的斯升降机公司推出了世界第一部以直流电动机为动力诞 生名副其实的电梯,从而彻底改写了人类使用升降工具的历史。上世纪 90 年代, 随的升降机着世界经济快速发展及经济全球化, 发达的工业化国家纷纷研制出 高速及超高速电梯,电梯不仅是代步的工具,也是人类文明的标志,其技术的发展 正体现了社会的进步与文明。随着电梯技术的发展,绿色化、低能耗、智能化、网 络化、蓝牙技术的电梯成为一段时间内的发展趋势。 1.21.2 电电梯智能化及其梯智能化及其实现实现 电梯行业内都知道,电梯的核心部件是电梯控制,该部件的好坏不仅影响电 梯的运行质量,还会影响电梯的安全性和可靠性能。对于电梯控制系统来说,智 能化的发展将是电梯行业未来发展的必经之路。 将人工智能应用到电梯控制领域是从上世纪 80 年代开始的,那时人工智能 蓬勃发展,专家系统、神经网络、模糊控制等许多最新的人工智能成果都被应用 到电梯群控的派梯算法上,但这些具有智能化派梯策略的电梯在中国的使用却 很晚,使用量并不是很大。这是由多种原因造成的。智能化电梯群控系统可以大 大提高电梯群的派梯效率,减少乘客的候梯时间,降低电梯的能耗。 对电梯的原有机械电梯部分基本不作改动,包括提升部分、厅门控制部分等 等,只是在原有电梯控制系统之上增加一层接口层,在接口层实现对电梯各种信 号的采集和通过电梯的原有外部输入接口实现对电梯控制信号的输入,在接口 层之上实现电梯群的智能化群控。 1.2.1 接口接口层层的的实现实现 电梯智能化改造的实现与原有电梯的接口部分很重要。与原有系统的接口 5 包括两个部分,一是电梯的状态的实时采集,二是控制信号的回送。始终强调电 梯的改造最重要的是不可以降低原有系统的安全性。如果原有电梯控制系统仍 能满足需要,应尽量减少对原有电梯控制系统的改变,同时又要能够及时得到电 梯的状态变化,并实现对电梯的调度。 接口层的实现采用分布式控制技术,在每台电梯的每一楼层的外招板上 加装一块外招接口板,在内招板上加装一块内招接口板,在电梯控制柜中加装一 块梯态接口板,这些接口板上都有一个独立的 cpu 控制着各自的信号采集、发 送、接收、转发,它们通过一条公用总线与信号采集主机相连,信号采集主机负 责电梯所有信号的收集和转发,负责将收集到的电梯信号送达上层的群控主机 和实时监控主机,并转发群控主机和监控主机发出的控制信号。 通过各楼层加装的外招接口板采集所有外招信号,电梯内加装的内招接口 板采集电梯的内招信号,电梯的控制柜中加装的电梯状态接口板采集电梯的目 前状态:如口前楼层、运行方向、电梯门状态、电梯停止等信号,通过串行总线送 往群控主机,群控主机根据采集到的信号作派梯选泽,将派梯信号回送到外招接 口板,由外招接口板将信号发送给电梯的外招板,完成派梯。 1.2.2 群控策略的群控策略的选择选择 近 20 年来,人们对电梯的智能群控策略有很多研究,提出了各种智能群控 算法,它们实现的复杂性和性能也各不相同。一种是采用专家系统,即收集专家 在电梯控制领域的各种知识,也就是说对在电梯的各种不同情况下专家们有可 能采取的策略进行汇总、分类,组织成规则库,然后根据采集到的电梯的数据以 规则库里的推理规则确定电梯的派梯方案。另一种是采用模糊推理规则,即综合 考虑评价梯群性能的各种标准,如平均等待时间、长时间等待率、电梯能耗等等, 确定一个隶属度函数,将电梯的各种输入参数模糊化后输入系统,通过模糊判断 规则根据隶属度函数来确定一个最佳派梯。 1.31.3 论论文的主要工作及文的主要工作及结结构构 本论文选择 vhdl 语言对电梯控制系统进行描述, 主要工作有用 vhdl 语言作为描述工具,对四层电梯的结构进行分析,给出了电梯控制器的设计流程 和状态机描述,并用 quartus软件对程序进行了仿真,并对仿真结果进行了说 明和分析,并进行总结。 本论文的主要结构为: 第二章介绍了 eda 技术的主要特点,并对 vhdl 语言的功能及其结构进行 了描述,并着重介绍了状态机的含义; 第三章以 vhdl 语言作为描述工具,对四层电梯的结构进行分析,给出了电 6 梯控制器的设计流程和状态机描述; 第四章用 quartus软件对程序进行了仿真,并对仿真结果进行了说明和分 析,并进行总结。 2 eda 技技术术及及 vhdl 语语言言 2.12.1 eda 技技术术 eda 技术的概念:eda 是电子设计自动化的缩写。由于它是一门刚刚发展起 来的新技术,涉及面广,内容丰富,理解各异,所以目前尚无一个确切的定义。但 从 eda 技术的几个主要方面的内容来看,可以理解为:eda 技术是以大规模可 编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以 计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有 关的开发软件,自动完成用软件的方式设计电子系统到硬件系统的一门新技术。 1993 年 ieee 对 vhdl 进行了修订,增加了部分新的 vhdl 命令与属性,并公 布了新版本的 vhdl,即 ieee 标准的 1076-1993 版本。现在,vhdl 已经成为系 统描述的国际公认标准,得到众多 eda 公司的支持,越来越多的硬件设计者使 用 vhdl 描述数字系统。 eda 技术的基本特征:eda 代表了当今电子设计技术的最新发展方向,利用 eda 工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作 可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出 ic 版 图或 pcb 版图的整个过程在汁算机上自动处理完成。 eda 技术的应用:电子 eda 技术发展迅猛,逐渐在教学、科研、产品设计与 制造等各方面都发挥着巨大的作用。在教学方面:几乎所有理工科(特别是电子信 息)类的高校都开设了 eda 课程。主要是让学生了解 eda 的基本原理和基本概 念、鳞握用佃 l 描述系统逻辑的方法、使用扔 a 工具进行电子电路课程的模拟 仿真实验并在作毕业设计时从事简单电子系统的设计,为今后工作打下基础。具 有代表性的是全国每两年举办一次大学生电子设计竞赛活动。在科研方面:主要 利用电路仿真工具(ewb 或 pspice、vlol 等)进行电路设计与仿真;利用虚拟仪 器进行产品调试;将 o)li)fpga 器件的开发应用到仪器设备中。 在产品设计与制造方面:从高性能的微处理器、数字信号处理器一直到彩电、 音响和电子玩具电路等,eda 技术不单是应用于前期的计算机模拟仿真、产品调 试,而且也在电子的制作、电子设备的研制与生产、电路板的焊接、朋比的制作 过程等有重要作用。可以说电子 eda 技术已经成为电子工业领域不可缺少的技 术支持。 eda 技术发展趋势:eda 技术在进入 21 世纪后,由于更大规模的 fpga 和 7 凹器件的不断推出,在仿真和设计两方面支持标准硬件描述语言的功能强大的 eda 软件不断更新、增加,使电子 eda 技术得到了更大的发展。电子技术全方 位纳入 eda 领域,eda 使得电子领域各学科的界限更加模糊,更加互为包容, 突出表现在以下几个方面:使电子设计成果以自主知识产权的方式得以明确表达 和确认成为可能;基于 eda 工具的 asic 设计标准单元已涵盖大规模电子系统 及 ip 核模块;软硬件 ip 核在电子行业的产业领域、技术领域和设计应用领域得 到进一步确认;soc 高效低成本设计技术的成熟。随着半导体技术、集成技术和 计算机技术的迅猛发展,电子系统的设计方法和设计手段都发生了很大的变化。 可以说电子 eda 技术是电子设计领域的一场革命。 2.22.2 vhdl 语语言言 vhdl 的英文全名是 very-high-speed integrated circuit hardwaredescription language,诞生于 1982 年。vhdl 主要用于描述数字系统的结构,行为,功能和 接口。除了含有许多具有硬件特征的语句外,vhdl 的语言形式和描述风格与句 法是十分类似于一般的计算机高级语言。vhdl 的程序结构特点是将一项工程 设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或 称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完 成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的 设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是 vhdl 系统设计的基本点。 vhdl 的主要特点如下: (1)作为 hdl 的第一个国际标准,vhdl 具有很强的可移植性。 (2)具有丰富的模拟仿真语句和库函数,随时可对设计进行仿真模拟,因而 能将设计中的错误消除在电路系统装配之前,在设计早期就能检查设计系统功 能的可行性,有很强的预测能力。 (3)vhdl 有良好的可读性,接近高级语言,容易理解。 (4)系统设计与硬件结构无关,方便了工艺的转换,也不会因工艺变化而使 描述过时。 (5)支持模块化设计,可将大规模设计项目分解成若干个小项目,还可以把 已有的设计项目作为一个模块调用。 (6)对于用 vhdl 完成的一个确定设计,可以利用 eda 工具进行逻辑综合 和优化,并能自动地把 vhdl 描述转变成门电路级网表文件。 (7)设计灵活,修改方便,同时也便于设计结果的交流、保存和重用,产品开 发速度快,成本低。 用 vhdl 设计电路主要的工作过程是: 8 (1)编辑。用文本编辑器输入设计的源文件(为了提高输入效率,可用某些专 用编辑器)。 (2)编译。用编译工具将文本文件编译成代码文件,并检查语法错误。 (3)功能仿真(前仿真)。在编译前进行逻辑功能验证,此时的仿真没有延时, 对于初步的功能检测非常方便。 (4)综合。将设计的源文件用自动综合工具由语言转换为实际的电路图(门 电路级网表),但此时还没有在芯片中形成真正的电路,就好像是把设计者脑海 中的电路画成了原理图。 (5)布局、布线。用已生成的网表文件,再根据 cpld(或 fpga)器件的容量 和结构,用自动布局布线工具进行电路设计。首先根据网表文件内容和器件结构 确定逻辑门的位置,然后再根据网表提供的门连接关系,把各个门的输入输出连 接起来,类似于设计 pcb(印刷电路板)时的布局布线工作。最后生成一个供器件 编程(或配置)的文件,同时还会在设计项目中增加一些时序信息,以便于后仿真。 (6)后仿真(时序仿真)。这是与实际器件工作情况基本相同的仿真,用来确 定设计在经过布局、布线之后,是否仍能满足设计要求。如果设计的电路时延满 足要求,则可以进行器件编程(或配置)。 3 四四层电层电梯控制器的梯控制器的 vhdl 设计设计 电梯的微机化控制主要有以下几种形式:1 plc 控制;2 单板机控制;3 单片 机控制;4 单微机控制;5 多微机控制;6 人工智能控制。随着 eda 技术的快速 发展,cpld/fpga 已广泛应用于电子设计与控制的各个方面。但是本设计屏弃 以前老式的采用 plc 设计电梯控制器,而是使用 eda 技术来实现对电梯的控制 的。 3.13.1 plc 电电梯控制缺点梯控制缺点 当今电梯市场已经有多种电梯控制器的设计方案。但大多数仍然是采用 plc 实现电梯的升降控制,但是采用 plc 实现电梯控制器的设计存在大量的缺 点缺点。如果采用硬件描述语言来完成电梯控制器的设计,就可以克服 plc 电 梯的大部分缺点。 目前,在我国国产电梯大部分为继电器及 plc 控制方式,继电器控制系统 性能不稳定、故障率高,大大降低了电梯的舒适性、可靠性和安全性,经常造成 停梯,给乘用人员的生活和工作带来了很多不便,因而传统的电梯控制系统的更 新势在必行。 当前电梯发展的智能化发方向是 ic 卡智能电梯,但最终的发展是声控智能 9 y n 电梯,ic 卡智能电梯 plc 都需通过外加 ic 读卡芯片才能实现,plc 单独是不能 实现的,那以后的声控智能电梯 plc 就能不能单独实现,然而我们采用 vhdl 技术就可以实现电梯的智能化,节能,也可以提高电梯的舒适性,可靠性和安全 性。 本次设计尝试用硬件描述语言(vhdl)来实现电梯控制,可进行多层次的逻 辑设计,也可进行仿真验证、时序分析等以保证设计的正确。 在使用 vhdl 进行电梯控制器的设计,主要就是对电梯软件部分进行设计, 使用 vhdl 中的逻辑关系建立电梯的升降模式,开门,关门达到动作,而外部的 硬件设备基本上保持不变。但是使用 vhdl 硬件描述语言设计电梯控制器可以 为以后电梯实现智能控制奠定基础。 3.23.2 电电梯控制器流程梯控制器流程 图 1 总流程图 外部按键设备 状态寄存器 请求信号寄存器 内部软件执行器构 外部硬件执行器构 初始化 清平层信号 显示 有无平层信号 目的层到否 等待请求 10 y n n 图 2 电梯运行流程图 y n n y 停车 停车 消同向选层信号 消该层信号 上下行判断 扫描电梯位置 下行控制上行控制 返回 上/下运行 目的层到否 有无同向选层信号 有无同相选层信号 初始化 一层开门等待 上升请求 y 上升 下降请求 请求 扫描当前层 下降 11 本论文设计的电梯控制系统的流程图主要有:总流程图,电梯运行流程图, 上升模式流程图,下降模式流程图和停车门控制流程图,其中总流程图指出了整 个电梯系统各个部分的联系,但是本设计的主要部分为电梯的控制系统,所以对 这一部分不做过多介绍;电梯的运行流程图则明确的指出了控制系统根据电梯当 前状态和外部请求信号做出相应的控制,例如:当电梯在二层楼的时候,接收到 第四层楼的下降请求和第三层楼的上升请求,则电梯会先响应第三层楼的请求, 当到达第三层楼后,在消除这一信号,接着响应第四层楼的请求;而电梯的上升 和下降模式流程图则更加具体的指出了电梯在什么情况下上升,在什么情况下 下降,上升过程中和下降过程中的一些具体情况;门制系统也是很重要的一部分, 它形象的表达了电梯在到达所指定的楼层后所做出的反应及其所等待时间。总 之,这五个流程图将电梯控制系统具体化,有利于后面的设计。 电梯控制器可以通过多种方法进行设计,其中采用状态机来实现,思路比较 清晰。可以将电梯等待的每秒钟以及开门,关门都看成一个独立的状态。由于电 梯又是每秒上升或下降一层,所以就可以通过一个统一的 1 秒为周期的时钟来 触发状态机。 n y n n y y 停车控制程序 到站 开门 下降模式 到最高层 有到目的 层 一层开门等待 n 到最低层 请求 到目的层 请求 停车 上升模式 图 3 上升模式 流程图 图 4 下降模式 流程图 y 12 状 态 译 码 器 状 态 寄 存 器 输 出 译 码 器 输出信号 图 5 停车门控流程图 3.33.3 状状态态机及其机及其 vhdl 设计设计 有限状态机(finite state machine,简称 fsm)是一类很重要的时序电路,是 许多数字系统的核心部件,也是实时系统设计中的一种数学模型,是一种重要的、 易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于 从系统分析到设计的所有阶段。有限状态机的优点在于简单易用,状态间的关系 清晰直观。建立有限状态机主要有两种方法:“状态转移图”和“状态转移表”。标准 状态机通常可分为 moore 和 mealy 两种类型。 3.3.1 状状态态机的基本机的基本结结构和功能构和功能 状态机的基本结构如图 1 所示。除了输人信号、输出信号外,状态机还包含 一组寄存器记忆状态机的内部状态。状态机寄存器的下一个状态及输出,不仅同 输入信号有关,而且还与寄存器的当前状态有关,状态机可以认为是组合逻辑和 寄存器逻辑的特殊组合。它包括两个主要部分:即组合逻辑部分和寄存器。组合 逻辑部分又可分为状态译码器和输出译码器,状态译码器确定状态机的下一个 状态,即确定状态机的激励方程,输出译码器确定状态机的输出,即确定状态机 的输出方程。寄存器用于存储状态机的内部状态。 组合逻辑 等待 2 秒 等待 2 秒 清该层对应指示灯 关门 返回 13 图 6 状态机的基本结构 状态机的基本操作有两种: 1状态机的内部状态转换。 状态机经历一系列状态,下一状态由状态译码器根据当前状态和输入条件 决定。 2产生输出信号序列。 输出信号由输出译码器根据当前状态和输入条件确定。用输入信号决定下 一状态也称为“转移”。除了转移之外,复杂的状态机还具有重复和历程功能。从 一个状态转移到另一状态称为控制定序,而决定下一状态所需的逻辑称为转移 函数。 在产生输出的过程中,根据是否使用输入信号可以确定状态机的类型。两种 典型的状态机是米立(mealy)状态机和摩尔(moore)状态机。摩尔状态机的输出 只是当前状态的函数,而米立状态机的输出一般是当前状态和输入信号的函数。 对于这两类状态机,控制定序都取决于当前状态和输入信号。大多数实用的状态 机都是同步的时序电路,由时钟信号触发进行状态的转换。时钟信号同所有的边 沿触发的状态寄存器和输出寄存器相连,使状态的改变发生在时钟的上升或下 降沿。 3.3.2 一般状一般状态态机的机的 vhdl 设计设计 (1(状状态态机的一般机的一般组组成成 用 vhdl 设计有限状态机方法有多种,但最一般和最常用的状态机设计通 常包括说明部分,主控时序部分,主控组合部分和辅助进程部分, 附录 1 为状态 机的一种设计情况。 1 说明部分 说明部分中使用 type 语句定义新的数据类型,此数据类型为枚举型,其元 输入信号 14 素通常都用状态机的状态名来定义。状态变量定义为信号,便于信息传递,并将 状态变量的数据类型定义为含有既定状态元素的新定义的数据类型。说明部分 一般放在结构体的 architecture 和 begin 之间。 2 主控时序进程 是指负责状态机运转和在时钟驱动下负责状态机转换的进程。状态机随外 部时钟信号以同步方式工作,当时钟的有效跳变到来时,时序进程将代表次态的 信号 next_state 中的内容送入现态信号 current_state 中,而 next_state 中的内容完 全由其他进程根据实际情况而定,此进程中往往也包括一些清零或置位的控制 信号。 3 主控组合进程 根据外部输入的控制信号(包括来自外部的和状态机内容的非主控进程的信 号)或和当前状态值确定下一状态 next_state 的取值内容,以及对外或对内部其 他进程输出控制信号的内容。 4 辅助进程 用于配合状态机工作的组合、时序进程或配合状态机工作的其他时序进程。 在一般状态机的设计过程中,为了能获得可综合的,高效的 vhdl 状态机描 述,建议使用枚举类数据类型来定义状态机的状态,并使用多进程方式来描述状 态机的内部逻辑。例如可使用两个进程来描述,个进程描述时序逻辑,包括状 态寄存器的工作和寄存器状态的输出,另一个进程描述组合逻辑,包括进程间状 态值的传递逻辑以及状态转换值的输出。必要时还可以引入第三个进程完成其 它的逻辑功能。 在 vhdl 中可以有两种方式来创建反馈机制:即使用信号的方式和使用变 量的方式。通常倾向于使用信号的方式。一般而言,在进程中使用变量传递数据, 然后使用信号将数据带出进程。在设计过程中,如果希望输出的信号具有寄存器 锁存功能,则需要为此输出写第 3 个进程,并把 clk 和 reset 信号放入敏感信号表 中。但必须注意避免由于寄存器的引入而创建了不必要的异步反馈路径。根据 vhdl 综合器的规则,对于所有可能的输入条件,如果进程中的输出信号没有被 明确的赋值时,此信号将自动被指定,即在未列出的条件下保持原值,这就意味 着引入了寄存器。因此,我们在程序的综合过程中,应密切注意 vhdl 综合器给 出的警告信息,并根据警告信息对程序作必要的修改。 一般来说,利用状态机进行设计有如下几个步骤: (1) 分析设计要求,列出状态机的全部可能状态,并对每一个状态进行编码。 (2) 根据状态转移关系和输出函数画出状态转移图。 15 (3) 由状态转移图,用 vhdl 语句对状态机描述。 (2(状状态态机的机的编码编码方案方案 在状态机的编码方案中,有两种重要的编码方法:二进制编码和一位热码 (onehot)编码。 在二进制编码的状态机中,状态位(b)与状态(s)的数目之间的关系为 b=log2s,如两位状态位就有 00,01,10,11 四个不同状态,它们在不同的控制信 号下可以进行状态转换,但如果各触发器又没有准确地同时改变其输出值,那么 在状态 01 变到 10 时则会出现暂时的 11 或 00 状态输出,这类险象可能使整个 系统造成不可预测的结果。这时,采用格雷码二进制编码是特别有益,在该编码 方案中,每次仅一个状态位的值发生变化。 一位热码编码就是用 n 个触发器来实现 n 个状态的编码方式,状态机中的 每一个状态都由其中一个触发器的状态来表示。如 4 个状态的状态机需 4 个触 发器,同一时间仅一个状态位处于逻辑 1 电平,四个状态分别为: 0001、0010、0100、1000。 在实际应用中,根据状态机的复杂程度、所使用的器件系列和从非法状态退 出所需的条件来选择最适合的编码方案,使之能确保高效的性能和资源的利用。 3.43.4 四四层电层电梯控制器具体梯控制器具体设计设计 3.4.1 四四层电层电梯控制器的功能及梯控制器的功能及设计设计思路思路 电梯控制器是控制电梯按照顾客要求自动上下的装置。四层电梯控制器的 功能如下: (1) 每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请 求开关。 (2)设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。 (3)电梯每秒上升(下降)一层楼。 (4)电梯到达有停站请求的楼层,经过 1 秒电梯门打开,开门指示灯亮,开门 4 秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信 号停留在当前层。 (5)能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信 号保留至执行后消除。 (6)电梯运行规则当电梯处于上升模式时,只响应比电梯所在位置的上楼请 求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼 请求,则直接升到由下楼请求的最高楼层,然后进入下降模式。当电梯处于下降 16 模式则与上升模式相反。 (7)电梯初始状态为一层开门状态。 采用状态机来实现电梯控制器,思路比较清晰,通过一个统一的 1 秒为周期 的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设置 10 个状态, 分别是“电梯停留在 1 层”、 “开门”、 “关门”、 “开门等待第 1 秒”、 “开门等待第二秒”、 “开门等待第三秒”、 “开门等待第四秒”、 “上升”、 “下降”和“停止”状态。各个状态之间 的转换条件可由上面的设计要求所决定。 3.4.2 四层电梯控制器的设计思路 ( (1)四)四层电层电梯控制器的梯控制器的实实体体设计设计 首先考虑输入端口,一个异步复位端口 reset,用于在系统不正常时回到初始 状态;在电梯外部,必须有升降请求端口,一层最低,不需要下降请求,四层是最 高层。不需要有上升请求,二层与三层则上升,下降请求端口都有;在电梯内部, 应该设有各层停留的请求端口;一个电梯时钟输入端口,该输入时钟以 1 秒为周 期,用于驱动电梯的升降及开门关门等动作;另有一个是按键时钟输入端口,时 钟频率比电梯时钟高。 其次是输出端口,有升降请求信号,就得有一个输出端口来指示请求是否被 响应,有请求信号以后,该输出端口输出逻辑1,被响应以后则恢复逻辑0;同 样,在电梯内部也应该有这样的输出端口来显示各层停留是否被响应;在电梯外 部,需要一个端口来指示电梯现在所处的位置;电梯开门关门的状态也能用一个 输出端口来指示;为了观察电梯的运行是否正确,可以设置一个输出端口来指示 电梯的升降状态。 在端口的定义中定义 position 时选用的是整型数据类型(integrer),主要 是为了在电梯运行是便于观察。整型直接可以看出电梯运行是楼层的变化,在第 一层就显示 1,第二层就显示 2,很直观。当然,position 的定义也可以用标准逻辑 矢量(std_logic_vector)来定义,但是如果选用标准逻辑矢量,在电梯运行 时就不是那么好观察。这里是四层的电梯控制器,那么只需定义一个两位的就足 够显示了。 “00”的时候对应电梯的第一层, “11”的时候就对应第四层。但是“11”的 十进制值为 3,没有和层次显示的第四层想对应起,所以就放弃选用标准逻辑矢 量来定义 position,而选用的整型。 ( (2) ) 四四层电层电梯控制器的梯控制器的结结构体构体设计设计 首先说明一下状态。状态机设置了 10 个状态,分别是电梯停留在 1 层 (stopon1)、开门(dooropen)、关门(doorclose)、开门等待第 1 秒(doorwait1)、开门等 待第 2 秒(doorwait2)、开门等待第 3 秒(doorwait3)、开门等待第 4 秒(doorwait4)、 17 上升(up)、下降(down)和停止(stop)。在实体说明中定义完端口之后,在结构体个 之间需要有如下的定义语句,来定义状态机。 type lift_state is (stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3, doorwait4,up,down,stop) -电梯的 10 个状态 signal mylift:lift_state; -定义为 lift 类型的信号 mylift 在结构体中,设计了两个进程互相配合,一个状态机进程作为主要进程,另 外一个是信号灯控制进程作为辅助进程。状态机进程中的很多判断条件是以信 号灯进程产生的信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是有状 态机进程中传出 clearup 和 cleardn 信号来控制。 在状态机进程中,在电梯上升状态中,通过对信号灯的判断,决定下一个状 态是继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下 一个状态是继续下降还是是停止;在电梯停止状态中,判断是最复杂的,通过对 信号的判断,决定电梯是上升、下降还是停止。 在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按 键的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键后产 生的点亮的信号灯(逻辑值为“1”)用于作为状态机进程中的判断条件,而 clearup 和 cleardn 信号为逻辑“1”使得相应的信号灯熄灭。 (3(四四层电层电梯控制器梯控制器设计设计 输入输出端口定义表 buttonclk按键时钟 liftclk电梯时钟 reset异步复位信号 f1upbutton第一层上升请求 f2upbutton第二层上升请求 f3upbutton第三层上升请求 f2dnbutton第二层下降请求 f3dnbutton第三层下降请求 18 f4dnbutton第四层下降请求 fuplight上升指示灯(1 到 4) fdnlight下降指示灯(1 到 4) stop1button第一层到站请求 stop2button第二层到站请求 stop3button第三层到站请求 stop4button第四层到站请求 stoplight停止指示灯(1 到 4) position电梯位置(1 到 4) doorlight门灯 udsig电梯模式 表 1 4 四四层电层电梯控制器的梯控制器的调试调试及仿真及仿真 4.14.1 程序修改程序修改调试调试 在完成程序编写后要进行程序的编译与仿真,在编译过程中要进行程序的 改错,在第一次编译中出现了大量的错误,但大部分的都是由于粗心造成的端口 的错误定义,还有就是在 if 语句的结束是忘记“end if”,或者是多写了“edn if”,这样的错误都是基本的,经过编译改错后就要进行波形的仿真,在波形仿真 中自己犯了一个大的错误,就是在下降请求时,按了下降请求按键后就马上选择 了要到达的层次,比如先按 fdnbuttton4,产生了一个下降请求,我马上就按 stopbutton2,结果电梯运行到第四层就不下来,我自己还考虑了好久,后来我仔细 想了一下,发现在有下降请求后,电梯还没有到达第四层,怎么就可以按停止按 键呢。 4.24.2 波形仿真波形仿真 在仿真中我们应该作一些符合实际情况的假设,就是外部上升请求的乘客, 19 进入电梯以后一定是按高层的内部停站按钮,有外部下降请求的乘客,进入电梯 以后一定是按低层的内部停站按钮。而且乘客进入电梯以后必定要按按键。在同 一时刻有很多人按键的概率很小,所以按键一定有先后顺序。这些假设都是符合 实际情况的。 图 7 所示仿真的是在 2 层电梯外部有上升请求,也就是 f2upbutton 产生一个 脉冲,可以看到电梯从一层上升到二层,position 信号由 1 变到 2,doorlight 信号 逻辑1表示开门, 0表示关门。当乘客进入电梯以后,在电梯内部要求上升到第 3 层,也就是 stop3button 产生一个脉冲,电梯上升到第三层,开门 4 秒以后关门, 停留在 3 层,position 最后的值为 3。在仿真的可以看出来 buttonclk 很密集,基本 上近似于一条黑线,是因为采用了频率较高的时钟脉冲。 再看 fuplight 信号灯,当二层有上升请求的嗣后,它的值由 0 变到 2(注意, fuplight 和 fdnlight 是 4 位的二进制的标准逻辑矢量,这里的 2 代表的是”0010”, 表示二层有请求;”1000”也就是 8,表示四层有请求)。当电梯停到二层以后,表示 该请求被响应,所以它的值变为 0。由于没有下降请求的信号,所以 fdnlight 信号 灯一直都是 0。 图 7 20 图 8 图 8 是有两次停站请求的仿真波形图,符合停站的要求。 图 9 图 9 是有下降请求的情况,因为电梯的初始状态为一层的开门等待状态,所 以在第四层有下降请求的时候,电梯先是上升到第四层,开门 4 秒以后关门,然 后下降,停站请求为第一层,所以到第一层的时候开门 4 秒后关门,停在第一层, 等待下次请求。我们观察 fdnlight 的变化显示的是 8,转换为二进制就是“1000”, 21 正好是第四层的下降指示灯亮,在电梯到第四层响应了下降请求后,下降指示灯 就关闭,显示的就是“0”。在看电梯位置的变化, “1234321”没有乱序, 说明显示是正确的。 图 10 图 11 22 图 10 和图 11 是有两站停站的请求,显示是正确的,没有混乱的现象。同时 有上升请求和下降请求信号时,电梯的运行情况如图。 在电梯控制器的设计中,要考虑到层次的扩展,今天是四层,明天也许是五 层,甚至更多,但是设计的思路都应该按照设计四层电梯控制器的思路延续下去, 比如说要设计五层的电梯控制器,那么要多的按钮就是 f4upbutton,f5dnbutton,stop5button,fuplight 和 fdnlight 的长度都改为(5 downto 0), position 的范围就是 1 to 5。其次就是要在电梯设计的过程中,因为在设计中涉及 到电梯处于每一层的时候的判断,就要根据实际的情况,写出相应的逻辑关系。 例如电梯现在处于第三层的上升,如果电梯要上升,就不能单单的判断第四层是 否有升降请求,还要根据第五层的请求指令来判断电梯到达第四层是该继续上 升还是就停止,或者是转为下降状态,例如,现在电梯的状态是上升,这个时候 的逻辑关系是: fdnlight(4)=1 and fdnlight(5)=1; 那么当电梯运行到第四层的时候就应该继续为 up 状态,先响应第五层的下 降请求,状态变为 down,再转为下降状态,回到第四层再才相应第四层的下降请 求。类似的当电梯上升状态处于第 n 层的时候就要判断比它高的层次的请求,当 电梯处于下降模式时,就要判断比该层低的层的请求。 5 结结束束语语 用 vhdl 硬件描述语言的形式来进行数字系统的设计方便灵

温馨提示

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

评论

0/150

提交评论