电梯控制器设计毕业设计论文_第1页
电梯控制器设计毕业设计论文_第2页
电梯控制器设计毕业设计论文_第3页
电梯控制器设计毕业设计论文_第4页
电梯控制器设计毕业设计论文_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

PAGE46-摘要电梯是标志现代物质文明的垂直运输工具、是机—电一体化的复杂运输设备。它涉及电子技术、机械工程、电力电子技术、微机技术、电力拖动系统和土建工程等多个科学领域。目前电梯的生产情况和使用数量已成为一个国家现代化程度的标志之一。随着现代化城市的高速发展,每天都有大量人流及物流需要输送。为节约用地和适应经贸事业的发展,一幢幢高楼拔地而起,这些高层建筑的垂直运输是一个突出问题,与人们的工作和生活紧密相关。随着社会的发展,电梯的使用越来越普遍,已从原来只在商业大厦、宾馆使用,过渡到在办公楼、居民楼等场所使用,并且对电梯功能的要求也不断提高,相应地其控制方式也在不停地发生变化。对于电梯的控制,传统的方法是使用继电器—接触器控制系统进行控制,随着技术的不断发展,微型计算机在电梯控制上的应用日益广泛,现在已进入全微机化控制的时代。当今时代随着高层建筑的日益增多和建筑设计的档次的提高,使得人们对电梯的要求也越来越高。目前已不仅限于要求电梯搭乘快速、舒适,制造坚固,装潢考究,人们对电梯的安全可靠性及多功能性正提出越来越高的要求,为此电梯正朝着控制智能化的方向发展。而电梯的核心是电梯控制器,电梯控制器的实现也有多中方式,诸如PLC,单片机,等等.在以前的电梯控制器设计中,大部分都是采用PLC来实现,但是PLC是基于外围的硬件实现电梯的控制,这样的设计很难实现电梯的智能化,要实现电梯的智能化,就得选用其他的设计方法完成对电梯控制器的设计,而采用硬件描述语言来完成电梯控制器的设计,就能很容易的实现电梯的智能.关键字:电梯控制器,CPLD,VHDL状态机AbstractTheelevatorissymbolizedthemodernmaterialcivilizationverticaltransportmeans,aremachine-theelectricityintegrationcomplextransportvehicle.Itinvolvestheelectronictechnology,themechanicalengineering,theelectricpowerelectronictechnology,themicrocomputertechnology,theelectricpowerdrivesthesystemandthecivilengineeringandsoonmanyscientificdomains.Atpresenttheelevatorproductionsituationandtheusequantityhavebecomeoneofnationalmodernizationdegreesymbols.Alongwiththemodernizedcityhighspeeddevelopment,hasthemassivestreamsofpeopleandthethingclasseverydayneedstotransport.Inordertosavewithandtheadaptioneconomicsandtradeenterprisedevelopment,aflickeringtallbuildingrisesstraightfromtheground,thesehigh-riseconstructionsverticaltransportationareaprominentquestion,withpeople'sworkandlifeclosecorrelation.Alongwithsociety'sdevelopment,theelevatoruseismoreandmorecommon,fromoriginallyonlyinthecommercialbuilding,theguesthouseuse,transitedtoinplaceuseandsoontheofficebuilding,buildingofresidence,andalsounceasinglyenhancestotheelevatorfunctionrequest,correspondinglyitscontrolmodealsoindoesnotstopchanges.Regardingtheelevatorcontrol,thetraditionalmethodisusestherelay-contactdevicecontrolsystemtocarryonthecontrol,alongwiththetechnicalunceasingdevelopment,themicrocomputerisdaybydaywidespreadinelevatorcontrolapplication,nowenteredtheentiremicrocomputercontrolthetime.Thepresenteradaybydayincreasesalongwiththehigh-riseconstructionwiththearchitecturaldesignscaleenhancement,causesthepeoplemoreandmoretobealsohightotheelevatorrequest.Atpresentnotonlyhasbeenrestrictedinrequeststheelevatortotravelbyfast,comfortable,manufacturefirm,thedecorationiselegant,thepeopletotheelevatorsecurityreliabilityandmulti-purposewereproposingthemoreandmorehighrequest,isfacingthecontrolintellectualizationdirectionforthiselevatortodevelop.Buttheelevatorcoreistheelevatorcontroller,theelevatorcontrollerrealizationalsohasmanycenterways,suchasPLC,monolithicintegratedcircuit,andsoonInthebeforeelevatorcontrollerdesign,majorityofallwasusesPLCtorealize,butPLCwasrealizestheelevatorcontrolbasedontheperipheryhardware,suchdesignwasverydifficulttorealizetheelevatorintellectualization,hadtorealizetheelevatorintellectualization,hadtoselectotherdesignmethodstocompletetotheelevatorcontrollerdesign,butusedthehardwaredescriptionlanguagetocompletetheelevatorcontrollerthedesign,couldtheveryeasyrealizationelevatorintelligenceEssentialcharacter:Elevatorcontroller,CPLD,VHDLconditionmachine目录第一章引言—中国电梯的现状与发展趋势……………..31.1中国电梯市场的发展……….31.2电梯需求将持续增长节能型是发展方向………………...31.3随着科技的进步电梯将实现智能化……...6第二章四层电梯控制器的VHDL设计…………..92.1PLC电梯控制缺点92.2电梯控制器流程…………...102.3状态机及其VHDL设计…………………..142.4四层电梯控制器具体设计………………...21第三章四层电梯控制器的调试及仿真………323.1程序调试修改……………...323.2波形仿真…………………...32结束语……………..37谢辞………………..37参考文献…………..37附录…………...38第一章引言——中国电梯的现状与发展趋势1.1中国电梯市场的发展近几年,随着中国房地产业的持续高速发展,我国电梯业出现了空前繁荣的景象。分析近几年房地产业的发展趋势,特别是商品住宅的高速发展,将使住宅电梯需求量持续攀升。另外,为了逐步提高我国城镇人口比例,国家将加快推进城镇建设,走城市化经济的发展道路。专家认为,21世纪初,中国住宅建设可望保持平均每年15%的增长速度。到2005年,全国至少需建城镇住宅15亿平方米。对住宅电梯市场需求来说,这无疑是一个巨大的潜在市场。据中国电梯协会的统计,去年中国新装电梯总量超过8万台,电梯业正处于高速发展的浪尖上,中国已经成为世界上最大的新装电梯市场。在所有的电梯需求中,住宅电梯占据很大的分量,几乎占到七成的份额。随着人们生活水平的提高,多层住宅内电梯有被纳入住宅基本功能的趋势。新建楼安装电梯,将大大完善住宅的居住功能。而且,新建楼房安装电梯的费用大约每平方米100元,要比旧楼加装电梯的费用节省很多。最早提出在多层楼房加装电梯的上海交通大学教授朱昌明建议:多层住宅可“从新楼装电梯抓起”。新盖的五六层楼的房子就应该把电梯作为基本的配套设施来安排。今后,主管部门有可能对不安装电梯的多层住宅限建。按照目前的构想,3层以上住宅就要加装电梯,多层住宅的电梯市场将成为一个热点,需求量会大幅增加。2002年上海的房地产投资规模超过720亿元,商品房竣工面积是1983万平方米,去年将超过2000万平方米,多层住宅电梯市场潜力非常可观。1.2电梯需求将持续增长节能型是发展方向有关专家近期表示,电梯行业将在“十一五”期间焕发活力,再次崛起。专家认为,中国电梯行业从市场规模上已经有了很大提高,一些自主品牌也逐步提升了自己的产品质量和技术含量,我国政府提出的节约型社会正好让电梯行业中拥有节能电梯技术的企业有机会发展,另外,国外用户比以前更多地青睐中国产品也为中国电梯的崛起提供了机会。目前我国节能电梯技术在某些方面已经达到了国际领先水平,但是节能电梯的普及率还很低,可节电30%以上的无齿轮电梯普及率不及10%,可以能源再生的造能电梯普及率不及2%。因此专家预计,节能电梯市场会在“十一五”期间进入快速增长期。市场将持续放量增长节能电梯从2001年开始进入我国办公楼、住宅楼、酒店等场所,经过5年的发展,全国的无齿轮电梯市场从几千台增长到近6万台。截至2006年9月,全国取得电梯制造许可证的整机企业超过300家。电梯企业竞争日趋激烈,产品利润率走低,WALESS、奥的斯、三菱等大企业保持了较高的市场份额,中小企业仅占全国1/5的市场份额,同时行业整体企业数目急剧增多。有关专家表示,我国已超过日本成为世界最大的新装电梯市场。由于房地产业、城市公共建设等产业发展迅速,预计未来10年,我国的电梯市场仍将保持每年20%的递增速度,年平均销售额至少500亿美元。受以下三个因素影响,我国节能电梯未来市场容量十分可观。房地产市场快速发展,对电梯的需求继续扩大。专家估计未来50年我国新增住房面积将达到200亿平方米。目前国家规定20米以上高楼就应安装电梯,因此未来电梯最大的市场就是住宅市场。此外,机场、商场、地铁等大型公共设施建设对自动扶梯、观光电梯等电梯的需求量也十分可观。西部地区的小城镇建设速度加快。东部地区城市化经过20年的发展,有些发达地区城市化水平已达到80%,基本饱和,甚至出现了逆城市化的趋势。而近年来西部地区国民生产总值的增长速度,已经与电梯需求高速发展所需的GDP水平相吻合。电梯更新进入高峰期。虽然国家对电梯寿命目前没有提出强制标准,但是按国外电梯使用寿命的惯例,一般日本系列电梯设计寿命为15年,欧美电梯设计寿命为25年。根据我国电梯选购的实际情况,采用日本系列产品或技术的比例大约有60%以上,国内在1990年前安装的日系电梯已经全部到了更新期。而且1990年以前的电梯生产技术相对比较落后,电梯的耗电水平是现在节能电梯的三到四倍。按电梯使用寿命及15年前电梯安装数量看,预计2007年将有15000至20000台电梯需要更新。2、电梯节能潜力巨大电梯和空调被认为大型建筑两大耗能大户。据了解,目前我国星级酒店每平方米平均年耗电量为150千瓦时,一座3万~5万平方米的星级酒店,其年总能耗大约相当于3000至4000吨标准煤,其中将近一半用于电梯供电。电梯行业协会统计,2005年在我国所有使用的电梯中如果有80%采用节能电梯,全年可以节约耗电122亿千瓦时。如果2015年全部采用节能电梯,将节电800亿千瓦时,几乎等于三峡大坝一年的发电量。在政府采购中对节能性能予以优先考虑。目前国内的电梯销售有接近一半的数量在政府采购领域或跟政府采购有关,因此政府采购对节能电梯的倾向性可以有效扶持节能电梯产业。由于节能电梯产量不大,市场价格偏高,政府在初期可将其作为环保项目给予政策倾斜,或者对采用节能电梯的开发商以政策鼓励。节能电梯技术应与其他技术相结合。与节能相比,使用者目前更为看重的还是电梯的安全性能。传统电梯安全部件正在改用双向安全系统,电梯使用的安全技术也在不断扩大。将节能技术和其他安全技术相结合有利于提升产品品质,更容易进入采购商的视野。1.3随着科技的进步电梯将实现智能化当今时代随着高层建筑的日益增多和建筑设计的档次的提高,使得人们对电梯的要求也越来越高。目前已不仅限于要求电梯搭乘快速、舒适,制造坚固,装潢考究,人们对电梯的安全可靠性及多功能性正提出越来越高的要求,为此电梯正朝着控制智能化的方向发展。我国很多新近安装的电梯已经采用了世界上最新的电梯技术,电梯运行效效率和质量都很高;但同时还存在着大量的“老旧”电梯,说它们老旧其实它们运行时间并不是很长,只是没能采用最新的电梯先进技术,所以运行效率和质最相比之下不高。电梯智能化改造针对的就是那些运行时间不是太长,而电梯的运行效率和服务质量已经不能满足用户的要求的电梯。特别是当一栋大厦的原有系统或是因为当初设计或是因为大厦功能的改变使得电梯系统的运力不足,不能够满足大厦的上下运输需要时,这时要么采取添加或更换电梯,要么只能采取通过提高电梯群的运行效率来提高电梯的运力。通过对电梯系统的智能化改造,付出少量的代价使得原有电梯系统的性能有一个大的提升。电梯的智能化改造还有一个关键问题是如何与电梯原来的控制系统连接,才能实现对所需电梯的信号的采集和实现对电梯的控制;还要考虑到一栋大厦如果安装有多部不同品牌或型号的电梯的情况。何为电梯的智能化将人工智能应用到电梯控制领域是从上世纪80年代开始的,那时人工智能蓬勃发展,专家系统、神经网络、模糊控制等许多最新的人工智能成果都被应用到电梯群控的派梯算法上,但这些具有智能化派梯策略的电梯在中国的使用却很晚,使用量并不是很大。这是由多种原因造成的。智能化电梯群控系统可以大大提高电梯群的派梯效率,减少乘客的候梯时间,降低电梯的能耗。2、电梯智能化改造的实现对电梯的原有机械电梯部分基本不作改动,包括提升部分、厅门控制部分等等,只是在原有电梯控制系统之上增加一层接口层,在接口层实现对电梯各种信号的采集和通过电梯的原有外部输入接口实现对电梯控制信号的输入,在接口层之上实现电梯群的智能化群控。接口层的实现电梯智能化改造的实现中与原有电梯的接口部分很重要。与原有系统的接口包括两个部分,一是电梯的状态的实时采集,二是控制信号的回送。始终强调电梯的改造最重要的是不可以降低原有系统的安全性。如果原有电梯控制系统仍能满足需要,应尽量减少对原有电梯控制系统的改变,同时又要能够及时得到电梯的状态变化,并实现对电梯的调度。接口层的实现采用分布式控制技术,在每—台电梯的每一楼层的外招板上加装一块外招接口板,在内招板上加装一块内招接口板,在电梯控制柜中加装一块梯态接口板,这些接口板上都有一个独立的CPU控制着各自的信号采集、发送、接收、转发,它们通过一条公用总线与信号采集主机相连,信号采集主机负责电梯所有信号的收集和转发,负责将收集到的电梯信号送达上层的群控主机和实时监控主机,并转发群控主机和监控主机发出的控制信号。通过各楼层加装的外招接口板采集所有外招信号,电梯内加装的内招接口板采集电梯的内招信号,电梯的控制柜中加装的电梯状态接口板采集电梯的目前状态:如口前楼层、运行方向、电梯门状态、电梯停止等信号,通过串行总线送往群控主机,群控主机根据采集到的信号作派梯选泽,将派梯信号回送到外招接口板,由外招接口板将信号发送给电梯的外招板,完成派梯。在接口板与电梯原电气装置连接时采用光电耦合结构,以隔绝相互之间的电磁干扰。电梯外招接口板的设计非常关键,它既要保证乘客的按键召唤信号和电梯的响应信号能够被及时、准确地采集并送到信号采集主机,还要能够及时地将群控主机发山的派梯信号转发给外招板,并且还要保证在群控主机或与之通信的线路有故障时也能够完成乘客的请求,而不会山现乘客的请求不能被满足的情况,同时也适合不同品牌的电梯。系统总线采用双向RS485总线。这既可以保证长距离大量数据传送,又由于这种接口用途广泛,成本也较为合理。RS485采用差分传输方式,较低的信号放大就可以做到较高的抗干扰能力,损耗也低。就电磁兼容性(EMV)而言,这对可靠的无故障传输很重要,而且使得现场配线减少,降低安装复杂性。(2)群控策略的选择近20年来,人们对电梯的智能群控策略有很多研究,提出了各种智能群控算法,它们实现的复杂性和性能也各不相同。一种是采用专家系统,即收集专家在电梯控制领域的各种知识,也就是说对在电梯的各种不同情况下专家们有可能采取的策略进行汇总、分类,组织成规则库,然后根据采集到的电梯的数据以规则库里的推理规则确定电梯的派梯方案。另一种是采用模糊推理规则,即综合考虑评价梯群性能的各种标准,如平均等待时间、长时间等待率、电梯能耗等等,确定一个隶属度函数,将电梯的各种输入参数模糊化后输入系统,通过模糊判断规则根据隶属度函数来确定一个最佳派梯。还有一种是采用人工神经网络来实时熟悉大楼的交通模式,根据电梯前一小段时间的客流状况来推理出电梯未来的客流状况,并根据电梯处于不同的客流模式如上行高峰、下行高峰、层间客流、空闲交通等等来采取不同的派梯策略。另外,就是通过统计学原理根据电梯前一小段时间的客流状况来推测出电梯在未来一小段时间里可能产生的召唤信号,然后根据推测的结果来精确计算电梯到达某一楼层响应召唤的等待时间,然后选择使得所有召唤信号的等待时间最短的派梯策略。这不是一种智能群控算法。四层电梯控制器的VHDL设计电梯的微机化控制主要有以下几种形式:1PLC控制;2单板机控制;3单片机控制;4单微机控制;5多微机控制;6人工智能控制。随着EDA技术的快速发展,CPLD/FPGA已广泛应用于电子设计与控制的各个方面。但是本设计屏弃以前老式的采用PLC设计电梯控制器,而是使用一片来实现对电梯的控制的。2.1PLC电梯的缺点当今电梯市场已经有多种电梯控制器的设计方案。但大多数仍然是采用PLC实现电梯的升降控制,但是采用PLC实现电梯控制器的设计存在大量的缺点缺点。如果采用硬件描述语言来完成电梯控制器的设计,就可以克服PLC电梯的大部分缺点。目前,在我国国产电梯大部分为继电器及PLC控制方式,继电器控制系统性能不稳定、故障率高,大大降低了电梯的舒适性、可靠性和安全性,经常造成停梯,给乘用人员的生活和工作带来了很多不便,因而传统的电梯控制系统的更新势在必行。当前电梯发展的智能化发方向是IC卡智能电梯,但最终的发展是声控智能电梯,IC卡智能电梯PLC都需通过外加IC读卡芯片才能实现,PLC单独是不能实现的,那以后的声控智能电梯PLC就能不能单独实现,然而我们采用VHDL技术就可以实现电梯的智能化,节能,也可以提高电梯的舒适性,可靠性和安全性。本次设计尝试用硬件描述语言(VHDL)来实现电梯控制,可进行多层次的逻辑设计,也可进行仿真验证、时序分析等以保证设计的正确。在使用VHDL进行电梯控制器的设计,主要就是对电梯软件部分进行设计,使用VHDL中的逻辑关系建立电梯的升降模式,开门,关门达到动作,而外部的硬件设备基本上保持不变。但是使用VHDL硬件描述语言设计电梯控制器可以为以后电梯实现智能控制奠定基础。电梯控制器的流程外部按键设备外部按键设备请求信号寄存器请求信号寄存器状态积存器状态积存器内部软件执行机构内部软件执行机构外部硬件执行机构外部硬件执行机构总流程图初始化初始化N有无平层信号等待请求N有无平层信号等待请求YY显示显示清平层信号清平层信号是否到达目的层是否到达目的层上/下运行N上/下运行上下行判断Y上下行判断停车停车消该层信号消该层信号停车有无同向选层信号停车有无同向选层信号消同向选层信号消同向选层信号扫描电梯位置扫描电梯位置目的层到否N目的层到否YY下行控制上行控制下行控制上行控制返回返回电梯运行流程图关门等待2秒清该层对应指示灯返回到站等待2秒开门停车控制程序关门等待2秒清该层对应指示灯返回到站等待2秒开门停车控制程序NYNY停车门控流程图电梯控制器可以通过多种方法进行设计,其中采用状态机来实现,思路比较清晰。可以将电梯等待的每秒钟以及开门,关门都看成一个独立的状态。由于电梯又是每秒上升或下降一层,所以就可以通过一个统一的1秒为周期的时钟来触发状态机。2.3状态机及其VHDL设计有限状态机(FiniteStateMachine,简称FSM)是一类很重要的时序电路,是许多数字系统的核心部件,也是实时系统设计中的一种数学模型,是一种重要的、易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从系统分析到设计的所有阶段。有限状态机的优点在于简单易用,状态间的关系清晰直观。建立有限状态机主要有两种方法:“状态转移图”和“状态转移表”。标准状态机通常可分为Moore和Mealy两种类型。状态机的基本结构和功能状态机的基本结构如图1所示。除了输人信号、输出信号外,状态机还包含一组寄存器记忆状态机的内部状态。状态机寄存器的下一个状态及输出,不仅同输入信号有关,而且还与寄存器的当前状态有关,状态机可以认为是组合逻辑和寄存器逻辑的特殊组合。它包括两个主要部分:即组合逻辑部分和寄存器。组合逻辑部分又可分为状态译码器和输出译码器,状态译码器确定状态机的下一个状态,即确定状态机的激励方程,输出译码器确定状态机的输出,即确定状态机的输出方程。寄存器用于存储状态机的内部状态。状态译码器状态寄存器状态译码器状态寄存器输出译码器图2.1状态机的基本结构状态机的基本操作有两种:1.状态机的内部状态转换。状态机经历一系列状态,下一状态由状态译码器根据当前状态和输入条件决定。2.产生输出信号序列。输出信号由输出译码器根据当前状态和输入条件确定。用输入信号决定下一状态也称为“转移”。除了转移之外,复杂的状态机还具有重复和历程功能。从一个状态转移到另一状态称为控制定序,而决定下一状态所需的逻辑称为转移函数。在产生输出的过程中,根据是否使用输入信号可以确定状态机的类型。两种典型的状态机是米立(Mealy)状态机和摩尔(Moore)状态机。摩尔状态机的输出只是当前状态的函数,而米立状态机的输出一般是当前状态和输入信号的函数。对于这两类状态机,控制定序都取决于当前状态和输入信号。大多数实用的状态机都是同步的时序电路,由时钟信号触发进行状态的转换。时钟信号同所有的边沿触发的状态寄存器和输出寄存器相连,使状态的改变发生在时钟的上升或下降沿。在数字系统中.那些输出取决于过去的输入和当前的输入的部分都可以作为有限状态机。有限状态机的全部“历史”都反映在当前状态上。当给FSM一个新的输入时,它就会产生一个输出。输出由当前状态和输入共同决定,同时FSM也会转移到下一个新状态,也是随着FSM的当前状态和输入而定。FSM中,其内部状态存放在寄存器中,下一状态的值由状态译码器中的一个组合逻辑——转移函数产生,状态机的输出由另一个组合逻辑——输出函数产生。建立有限状态机主要有两种方法:状态转移图(状态图)和状态转移表(状态表)。它们是等价的,相互之间可以转换。状态转移图如图2所示,图中每个椭圆表示状态机的一个状态,而箭头表示状态之间的一个转换,引起转换的输入信号及当前输出表示在转换箭头上。输入输入/出输入/出输入/出输入/出输入/出输入/出状态A状态B状态C状态D状态E图2.2状态转移图如果能够写出FSM的状态转移图,就可以使用VHDL的状态机语句对它进行描述。状态转移表形式如表4所示。表中的行列出了全部可能的输入信号组合和内部状态以及相应的次状态和输出,因此状态表规定了状态机的转换函数和输出函数。然而,状态表不适合具有大量输入的系统,因为随着输入的增加其状态数和系统的复杂性会显著增加。状态转移表现态输入次态输出S0-SnI0-ImS0-SnQ0-QP表2.1状态转移图、状态转移表这两种有限状态机的建立方法是等价的,都描述了同一硬件结构,它们可以相互转换,但各有优缺点,分别适合于不同场合。2、一般状态机的VHDL设计状态机的一般组成用VHDL设计有限状态机方法有多种,但最一般和最常用的状态机设计通常包括说明部分,主控时序部分,主控组合部分和辅助进程部分。1说明部分说明部分中使用TYPE语句定义新的数据类型,此数据类型为枚举型,其元素通常都用状态机的状态名来定义。状态变量定义为信号,便于信息传递,并将状态变量的数据类型定义为含有既定状态元素的新定义的数据类型。说明部分一般放在结构体的ARCHITECTURE和BEGIN之间。2主控时序进程是指负责状态机运转和在时钟驱动正负现状态机转换的进程。状态机随外部时钟信号以同步方式工作,当时钟的有效跳变到来时,时序进程将代表次态的信号next_state中的内容送入现态信号current_state中,而next_state中的内容完全由其他进程根据实际情况而定,此进程中往往也包括一些清零或置位的控制信号。3主控组合进程根据外部输入的控制信号(包括来自外部的和状态机内容的非主控进程的信号)或(和)当前状态值确定下一状态next_state的取值内容,以及对外或对内部其他进程输出控制信号的内容。4辅助进程用于配合状态机工作的组合、时序进程或配合状态机工作的其他时序进程。在一般状态机的设计过程中,为了能获得可综合的,高效的VHDL状态机描述,建议使用枚举类数据类型来定义状态机的状态,并使用多进程方式来描述状态机的内部逻辑。例如可使用两个进程来描述,—个进程描述时序逻辑,包括状态寄存器的工作和寄存器状态的输出,另一个进程描述组合逻辑,包括进程间状态值的传递逻辑以及状态转换值的输出。必要时还可以引入第三个进程完成其它的逻辑功能。下例描述的状态机由两个主控进程构成,其中进程REG为主控时序进程,COM为主控组合进程。例:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYs_machineISPORT(clk,reset:INSTD_LOGIC;State_inputs:INSTD_LOGIC_VECTOR(0TO1);comb_outputs:OUTSTD_LOGIC_VECTOR(0TO1));ENDENTITYs_machine;ARCHITECTUREbehvOFs_machineISTYPEstatesIS(st0,st1,st2,st3);--定义states为枚举型数据类型SIGNALcurrent_state,next_state:states;BEGINREG:PROCESS(reset,clk)--时序逻辑进程BEGINIFreset='1'THEN--异步复位Current_state<=st0;ELSIFclk='1'ANDclk'EVENTTHENcurrent_state<=next_state;--当检测到时钟上升沿时转换至下一状态ENDIF;ENDPROCESS;--由信号current_state将当前状态值带出此进程,进入进程COMCOM:PROCESS(current_state,state_Inputs)--组合逻辑进程BEGINCASEcurrent_stateIS--确定当前状态的状态值WHENst0=>comb_outputs<="00";--初始状态译码输出"00"IFstate_inputs="00"THEN--根据外部的状态控制输入"00"next_state<=st0;--在下一时钟后,进程REG的状态将维持为st0ELSEnext_state<=st1;--否则,在下一时钟后,进程REG的状态将为st1ENDIF;WHENst1=>comb_outputs<="01";--对应状态st1的译码输出"01"IFstate_inputs="00"THEN--根据外部的状态控制输人"00"next_state<=st1;--在下一时钟后,进程REG的状态将维持为st1ELSEnext_state<=st2;--否则,在下一时钟后,进程REG的状态将为st2ENDIF;WHENst2=>comb_outputs<="10";--以下依次类推IFstate_inputs="11"THENnext_state<=st2;ELSEnext_state<=st3;ENDIF;WHENst3=>comb_outputs<="11";IFstate_inputs="11"THENnext_state<=st3;ELSEnext_state<=st0;ENDIF;ENDCASE;ENDPROCESS;ENDARCHITECTUREbehv;图4为上述状态机的工作时序图。reset为异步复位信号,低电平有效,而clk为上升沿有效。如在第3个脉冲上升沿到来时current_state=“st0”,state_inputs=“01”,输出comb_outputs=“01”。第4个脉冲上升沿到来时current_state=“st1”,state_inputs=“00”,输出comb_outputs=“01”。综合后的RTL图如图5所示。图2.3状态机的工作时序图图2.4状态机的RTL图一般来说,程序的不同进程间是并行运行的,但由于敏感信号设置的不同和电路的延迟,在时序上进程间的动作是有先后的。如对上例中的状态转换行为来说,有进程REG和COM,它们的敏感信号表分别为(reset,clk)和(current_state,state_inputs),在clk上升沿到来时,进程REG将首先运行,完成状态转换的赋值操作。如果外部控制信号state_inputs不变,只有当来自进程REG的信号current_state改变时,进程COM才开始动作,并将根据current_state和state_inputs的值来决定下一有效时钟沿到来后,进程REG的状态转换方向。这个状态机的两位组合逻辑输出comb_outputs是对当前状态的译码。我们可以通过这个输出值来了解状态机内部的运行情况,同时还可以利用外部控制信号state_inputs任意改变状态机的状态变化模式。注意:在上例中,有两个信号起到了互反馈的作用,完成了两个进程间的信息传递的功能,这两个信号分别是current_state〔进程REG->进程COM)和next_state(进程COM->进程REG)。在VHDL中可以有两种方式来创建反馈机制:即使用信号的方式和使用变量的方式。通常倾向于使用信号的方式(如例3)。一般而言,在进程中使用变量传递数据,然后使用信号将数据带出进程。在设计过程中,如果希望输出的信号具有寄存器锁存功能,则需要为此输出写第3个进程,并把clk和reset信号放入敏感信号表中。但必须注意避免由于寄存器的引入而创建了不必要的异步反馈路径。根据VHDL综合器的规则,对于所有可能的输入条件,如果进程中的输出信号没有被明确的赋值时,此信号将自动被指定,即在未列出的条件下保持原值,这就意味着引入了寄存器。因此,我们在程序的综合过程中,应密切注意VHDL综合器给出的警告信息,并根据警告信息对程序作必要的修改。一般来说,利用状态机进行设计有如下几个步骤:(1)分析设计要求,列出状态机的全部可能状态,并对每一个状态进行编码。(2)根据状态转移关系和输出函数画出状态转移图。(3)由状态转移图,用VHDL语句对状态机描述。状态机的编码方案在状态机的编码方案中,有两种重要的编码方法:二进制编码和一位热码(One—Hot)编码。在二进制编码的状态机中,状态位(B)与状态(S)的数目之间的关系为B=log2S,如两位状态位就有00,01,10,11四个不同状态,它们在不同的控制信号下可以进行状态转换,但如果各触发器又没有准确地同时改变其输出值,那么在状态01变到10时则会出现暂时的11或00状态输出,这类险象可能使整个系统造成不可预测的结果。这时,采用格雷码二进制编码是特别有益,在该编码方案中,每次仅一个状态位的值发生变化。一位热码编码就是用n个触发器来实现n个状态的编码方式,状态机中的每一个状态都由其中一个触发器的状态来表示。如4个状态的状态机需4个触发器,同一时间仅一个状态位处于逻辑1电平,四个状态分别为:0001、0010、0100、1000。在实际应用中,根据状态机的复杂程度、所使用的器件系列和从非法状态退出所需的条件来选择最适合的编码方案,使之能确保高效的性能和资源的利用。对复杂的状态机,二进制编码需用的触发器的数目比一位热码编码的少。如100个状态的状态机按二进制编码仅用7个触发器就可以实现,而一位热码编码则要求100个触发器。另一方面,虽然一位热码编码要求用较多的触发器,但逻辑上通常相对简单些。在二进制编码的状态机中,控制从一个状态转换到另一个状态的逻辑与所有7个状态位以及状态机的输入均有关。这类逻辑通常要求到状态位输入的函数是多输入变量的。然而,在一热恋位编码的状态机中,到状态位的输入常常是其它状态位的简单函数。站在器件结构的角度,不同结构支持其确定的编码类型。MAX+plusII编译程序对所采用的器件系列自动地选择最合适的编码方法(除非在设计文件中规定了具体的编码方案)。例如,FLEX7000器件系列是寄存器增强型(Register-intensive),以这类器件为对象的状态机最好选用一位热码编码方案来实现。由于一位热码编码的状态机降低了送到每一个状态位的逻辑电路的复杂程度,因而可提高用FLEX7000器件实现的状态机的性能。MAX5000和MAX7000器件系列最适合二进制状态机编码方案。这两类器件都能够利用共享和并联的扩展乘积项有效地实现复杂的逻辑函数。因此,在这两类器件小,可以容纳复杂的组合逻辑函数而不会浪费资源或损失性能。2.4四层电梯控制器具体设计四层电梯控制器的功能电梯控制器是控制电梯按照顾客要求自动上下的装置。四层电梯控制器的功能如下:(1)每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。(2)设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。(3)电梯每秒上升(下降)一层楼。(4)电梯到达有停站请求的楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号停留在当前层。(5)能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。(6)电梯运行规则—当电梯处于上升模式时,只响应比电梯所在位置的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到由下楼请求的最高楼层,然后进入下降模式。当电梯处于下降模式则与上升模式相反。(7)电梯初始状态为一层开门状态。四层电梯控制器的设计思路采用状态机来实现电梯控制器,思路比较清晰,通过一个统一的1秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设置10个状态,分别是“电梯停留在1层”、“开门”、“关门”、“开门等待第1秒”、“开门等待第二秒”、“开门等待第三秒”、“开门等待第四秒”、“上升”、“下降”和“停止”状态。各个状态之间的转换条件可由上面的设计要求所决定。3、四层电梯控制器的综合设计(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)、上升(up)、下降(down)和停止(stop)。在实体说明中定义完端口之后,在结构体个之间需要有如下的定义语句,来定义状态机。TYPElift_stateIS(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop)--电梯的10个状态SIGNALmylift:lift_state;--定义为lift类型的信号mylift在结构体中,设计了两个进程互相配合,一个状态机进程作为主要进程,另外一个是信号灯控制进程作为辅助进程。状态机进程中的很多判断条件是以信号灯进程产生的信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是有状态机进程中传出clearup和cleardn信号来控制。在状态机进程中,在电梯上升状态中,通过对信号灯的判断,决定下一个状态是继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是是停止;在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电梯是上升、下降还是停止。在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键后产生的点亮的信号灯(逻辑值为’1’)用于作为状态机进程中的判断条件,而clearup和cleardn信号为逻辑’1’使得相应的信号灯熄灭。四层电梯控制器设计输入输出端口定义表Buttonclk按键时钟Liftclk电梯时钟Reset异步复位信号f1upbutton第一层上升请求f2upbutton第二层上升请求f3upbutton第三层上升请求f2dnbutton第二层下降请求f3dnbutton第三层下降请求f4dnbutton第四层下降请求Fuplight上升指示灯(1到4)Fdnlight下降指示灯(1到4)stop1button第一层到站请求stop2button第二层到站请求stop3button第三层到站请求stop4button第四层到站请求Stoplight停止指示灯(1到4)Position电梯位置(1到4)Doorlight门灯Udsig电梯模式表2.2四层电梯控制器的VHDL描述源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYfourfilftISPORT(buttonclk:INSTD_LOGIC;liftclk:INSTD_LOGIC;reset:INSTD_LOGIC;f1upbutton:INSTD_LOGIC;f2upbutton:INSTD_LOGIC;f2dnbutton:INSTD_LOGIC;f3upbutton:INSTD_LOGIC;f3dnbutton:INSTD_LOGIC;f4dnbutton:INSTD_LOGIC;fuplight:BUFFERSTD_LOGIC_VECTOR(4DOWNTO1);fdnlight:BUFFERSTD_LOGIC_VECTOR(4DOWNTO1);stop1button,stop2button,stop3button,stop4button:INSTD_LOGIC;stoplight:BUFFERSTD_LOGIC_VECTOR(4DOWNTO1);position:BUFFERdoorlight:OUTSTD_LOGIC;udsig:BUFFERSTD_LOGIC);ENDfourfilft;ARCHITECTUREartOFfourfilftISTYPElift_stataIS(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop);SIGNALmylift:lift_stata;SIGNALclearup:STD_LOGIC;SIGNALcleardn:STD_LOGIC;BEGINctrlift:PROCESS(reset,liftclk)VARIABLEpos:INTEGERRANGE4DOWNTO1;BEGINIFreset='1'THENmylift<=stopon1;clearup<='0';cleardn<='0';ELSEIFliftclk'EVENTANDliftclk='1'THENCASEmyliftISWHENstopon1=>doorlight<='1';position<=1;pos:=1;mylift<=doorwait1;WHENdoorwait1=>mylift<=doorwait2;WHENdoorwait2=>clearup<='0';cleardn<='0';mylift<=doorwait3;WHENdoorwait3=>mylift<=doorwait4;WHENdoorwait4=>mylift<=doorclose;WHENdoorclose=>doorlight<='0';IFudsig='0'THENIFposition=4THENIFstoplight="0000"ANDfuplight="0000"ANDfdnlight="0000"THENudsig<='1';mylift<=doorclose;ELSEudsig<='1';mylift<=down;clearup<='1';ENDIF;ELSIFposition=3THENIFstoplight="0000"ANDfuplight="0000"andfdnlight="0000"THENudsig<='0';mylift<=doorclose;ELSIFstoplight(4)='1'ORfdnlight(4)='1'THENudsig<='0';mylift<=up;clearup<='1';ELSEudsig<='1';mylift<=down;clearup<='1';ENDIF;ELSIFposition=2THENIFstoplight="0000"ANDfuplight="0000"ANDfdnlight="0000"THENudsig<='0';mylift<=doorclose;ELSIF(stoplight(3)='1'ORfuplight(3)='1')THENudsig<='0';mylift<=up;clearup<='1';ELSIF(stoplight(4)='1'ORfdnlight(4)='1')THENudsig<='0';mylift<=up;clearup<='1';ELSIF(fdnlight(3)='1')THENudsig<='0';mylift<=up;clearup<='1';ELSEudsig<='1';mylift<=down;clearup<='1';ENDIF;ELSIFposition=1THENIFstoplight<="0000"ANDfuplight<="0000"ANDfdnlight<="0000"THENudsig<='0';mylift<=doorclose;ELSEudsig<='0';mylift<=up;clearup<='1';ENDIF;ENDIF;ELSIFudsig='1'THENIFposition=1THENIFstoplight<="0000"ANDfuplight<="0000"ANDfdnlight<="0000"THENudsig<='0';mylift<=doorclose;ELSEudsig<='0';mylift<=up;cleardn<='1';ENDIF;ELSIFposition=2THENIFstoplight<="0000"ANDfuplight<="0000"ANDfdnlight<="0000"THENudsig<='1';mylift<=doorclose;ELSIFstoplight(1)='1'ORfuplight(1)='1'THENudsig<='1';mylift<=down;cleardn<='1';ELSEudsig<='0';mylift<=up;clearup<='1';ENDIF;ELSIFposition=3THENIFstoplight<="0000"ANDfuplight<="0000"ANDfdnlight<="0000"THENudsig<='1';mylift<=doorclose;ELSIF(stoplight(2)='1'ORfdnlight(2)='1')THENudsig<='1';mylift<=down;cleardn<='1';ELSIF(stoplight(1)='1'ORfuplight(1)='1')THENudsig<='1';mylift<=down;cleardn<='1';ELSIF(fuplight(2)='1')THENudsig<='1';mylift<=down;cleardn<='1';ELSEudsig<='0';mylift<=up;clearup<='1';ENDIF;ELSIFposition=4THENIFstoplight<="0000"ANDfuplight<="0000"ANDfdnlight<="0000"THENudsig<='1';mylift<=doorclose;ELSEudsig<='1';mylift<=down;cleardn<='1';ENDIF;ENDIF;ENDIF;WHENup=>position<=position+1;pos:=pos+1;IFpos<4AND(stoplight(pos)='1'ORfdnlight(pos)='1')THENmylift<=stop;ELSIFpos=4AND(stoplight(pos)='1'ORfdnlight(pos)='1')THENmylift<=stop;ELSEmylift<=doorclose;ENDIF;WHENdown=>position<=position-1;pos:=pos-1;IFpos>1AND(stoplight(pos)='1'ORfuplight(pos)='1')THENmylift<=stop;ELSIFpos=1AND(stoplight(pos)='1'ORfdnlight(pos)='1')THENmylift<=stop;ELSEmylift<=doorclose;ENDIF;WHENstop=>mylift<=dooropen;WHENdooropen=>doorlight<='1';IFudsig='0'THENIFposition<=3AND(stoplight(position)='1'ORfuplight(position)='1')THENclearup<='1';ELSEclearup<='1';cleardn<='1';ENDIF;ELSIFudsig='1'THENIFposition>=2AND(stoplight(position)='1'ORfdnlight(position)='1')THENcleardn<='1';ELSEclearup<='1';cleardn<='1';ENDIF;ENDIF;mylift<=doorwait1;ENDCASE;ENDIF;ENDIF;ENDprocessctrlift;ctrlight:PROCESS(reset,buttonclk)BEGINIFreset='1'THENstoplight<="0000";fuplight<="0000";fdnlight<="0000";ELSEIFbuttonclk'EVENTANDbuttonclk='1'THENIFclearup='1'THENstoplight(position)<='0';fuplight(position)<='0';ELSEIFf1upbutton='1'THENfuplight(1)<='1';ELSIFf2upbutton='1'THENfuplight(2)<='1';ELSIFf3upbutton='1'THENfuplight(3)<='1';ENDIF;ENDIF;IFcleardn='1'THENstoplight(position)<='0';fdnlight(position)<='0';ELSEIFf2dnbutton='1'THENfdnlight(2)<='1';ELSIFf3dnbutton='1'THENfdnlight(3)<='1';ELSIFf4dnbutton='1'THENfdnlight(4)<='1';ENDIF;ENDIF;IFstop1button='1'THENstoplight(1)<='1';ELSIFstop2button='1'THENstoplight(2)<='1';ELSIFstop3button='1'THENstoplight(3)<='1';ELSIFstop4button='1'THENstoplight(4)<='1';ENDIF;ENDIF;ENDIF;ENDprocessctrlight;ENDart;第三章四层电梯控制器的调试及仿真3.1程序修改调试在完成程序编写后要进行程序的编译与仿真,在编译过程中要进行程序的改错,在第一次编译中出现了大量的错误,但大部分的都是由于粗心造成的端口的错误定义,还有就是在IF语句的结束是忘记“ENDIF”,或者是多写了“EDNIF”,这样的错误都是基本的,经过编译改错后就要进行波形的仿真,在波形仿真中自己犯了一个大的错误,就是在下降请求时,按了下降请求按键后就马上选择了要到达的层次,比如先按fdnbuttton4,产生了一个下降请求,我马上就按stopbutton2,结果电梯运行到第四层就不下来,我自己还考虑了好久,后来我仔细想了一下,发现在有下降请求后,电梯还没有到达第四层,怎么就可以按停止按键呢。3.2波形仿真在仿真中我们应该作一些符合实际情况的假设,就是外部上升请求的乘客,进入电梯以后一定是按高层的内部停站按钮,有外部下降请求的乘客,进入电梯以后一定是按低层的内部停站按钮。而且乘客进入电梯以后必定要按按键。在同一时刻有很多人按键的概率很小,所以按键一定有先后顺序。这些假设都是符合实际情况的。图3.1所示仿真的是在2层电梯外部有上升请求,也就是f2upbutton产生一个脉冲,可以看到电梯从一层上升到二层,position信号由1变到2,doorlight信号逻辑’1’表示开门,’0再看fuplight信号灯,当二层有上升请求的嗣后,它的值由0变到2(注意,fuplight和fdnlight是4位的二进制的标准逻辑矢量,这里的2代表的是”0010”,表示二层有请求;”1000”也就是8,表示四层有请求)。当电梯停到二层以后,表示该请求被响应,所以它的值变为0。由于没有下降请求的信号,所以fdnlight信号灯一直都是0。图3.1图3.2图3.2是有两次停站请求的仿真波形图,符合停站的要求。图3.3是有下降请求的情况,因为电梯的初始状态为一层的开门等待状态,所以在第四层有下降请求的时候,电梯先是上升到第四层,开门4秒以后关门,然后下降,停站请求为第一层,所以到第一层的时候开门4秒后关门,停在第一层,等待下次请求。我们观察fdnlight的变化显示的是8,转换为二进制就是“1000”,正好是第四层的下降指示灯亮,在电梯到第四层响应了下降请求后,下降指示灯就关闭,显示的就是“0”。在看电梯位置的变化,“1—2—3—4—3—2—1”没有乱序,说明显示是正确的。图3.3图3.4图3.4是有两站停站的请求,显示是正确的,没有混乱的现象。同时有上升请求和下降请求信号时,电梯的运行情况如图图3.5图仿真的情况是,原来电梯停留在第一层,这时候电梯外部第4层有下降请求,在电梯上升到4层,乘客进入电梯以后要下降到第1层。与此同时,在电梯外有第二层的上升请求,电梯首先要响应下降请求然后在相应这个上升请求,所以电梯得先下降到一层,然后在上升到第二层,这是符合常理的。从仿真波形来看,电梯的位置变化和想象是一致的。电梯的运行完全正确。最后乘客在电梯内部要求下降升到第一层,所以电梯最后停留的位置为第一层。在图的仿真中,原先电梯停留在第一层,电梯外部有第四层的下降请求,电梯上升到第四层,乘客进入电梯以后要求下降到第一层。此时二层有下降请求,接着又有上升请求,电梯首先在第二层停留,然后下降到第一层。随后要响应第二层的上升请求,上升到第二层,乘客进入电梯以后要求上升到第三层,所以电梯最后停留的位置是第三层。图3.6在电梯控制器的设计中,要考虑到层次的扩展,今天是四层,明天也许是五层,甚至更多,但是设计的思路都应该按照设计四层电梯控制器的思路延续下去,比如说要设计五层的电梯控制器,那么要多的按钮就是f4upbutton,f5dnbutton,stop5button,fuplight和fdnlight的长度都改为(5downto0),position的范围就是1to5。其次就是要在电梯设计的过程中,因为在设计中涉及到电梯处于每一层的时候的判断,就要根据实际的情况,写出相应的逻辑关系。例如电梯现在处于第三层的上升,如果电梯要上升,就不能单单的判断第四层是否有升降请求,还要根据第五层的请求指令来判断电梯到达第四层是该继续上升还是就停止,或者是转为下降状态,例如,现在电梯的状态是上升,这个时候的逻辑关系是:Fdnlight(4)=’1’andfdnlight(5)=’1那么当电梯运行到第四层的时候就应该继续为up状态,先响应第五层的下降请求,状态变为down,再转为下降状态,回到第四层再才相应第四层的下降请求。类似的当电梯上升状态处于第n层的时候就要判断比它高的层次的请求,当电梯处于下降模式时,就要判断比该层低的层的请求。结束语用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。CPLD作为新一代工业控制器,以其高可靠性和技术先进性,在电梯控制中得到广泛应用,从而使电梯由传统的继电器控制方式发展为计算机控制的一个重要方向,成为当前电梯控制和技术改造的热点之一。另外CPLD是一种专门从事逻辑控制的微型计算机系统。由于CPLD具有性能稳定、抗干扰能力强、设计配置灵活等特点,配合VHDL语言的突出的优点,因此在工业控制方面得到了广泛应用。相信以后必将受到世界范围内电子工程设汁人员的广泛关注和普遍欢迎。本文中设计的电梯控制器利用以CPLD为实现载体,以VHDL为描述语言实现了电梯的升降舒适感和运行的可靠性,更相信在以后的智能建筑中得到广泛的应用和推广谢辞本课题在选题及研

温馨提示

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

评论

0/150

提交评论