基于嵌入式的智能电梯控制系统的设计与实现_第1页
基于嵌入式的智能电梯控制系统的设计与实现_第2页
基于嵌入式的智能电梯控制系统的设计与实现_第3页
基于嵌入式的智能电梯控制系统的设计与实现_第4页
基于嵌入式的智能电梯控制系统的设计与实现_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

摘要嵌入式实时系统作为计算机应用的一个崭新领域,以其简洁、高效等特点越来越多地受到人们的广泛关注。本文以嵌入式实时操作系统在一种基于CAN总线的分布式智能电梯控制系统中的应用为背景,以高性能的嵌入式微处理器为核心,采用嵌入式实时操作系统μC/OS—Ⅱ在各任务间优化地分配CPU时间和系统资源,简化了软件编程,保证了系统的实时性,提高了系统的可靠性。电梯控制系统硬件上采用嵌入式微处理器作为控制核心,以现场总线作为通讯总线,各控制器之间只需一对绞线通过网络拓扑结构连接即可,安装极为方便,对于不同的楼层数的控制系统只需在现场总线中参加相应数目的呼梯控制器即可,主控器硬件软件不需做任何改动。使得电梯控制系统安装更加灵活、方便。本设计重点讨论了电梯变频驱动局部的电路设计,及应用嵌入式实时操作系统μC/OS—Ⅱ的系统程序设计。关键词智能电梯控制系统DSP嵌入式系统AbstractReal-timeembeddedsystems,ascomputerapplicationofanewarea,withitssimple,efficient,andothercharacteristicsaremoreandmorepeople'sattention.Thispaperembeddedinareal-timeoperatingsystembasedonCANbusdistributedintelligentelevatorcontrolsystemofthebackground,tohigh-performanceembeddedmicroprocessorsasthecore,usingreal-timeoperatingsystemembeddedintheμC/OS—ⅡOptimizetheallocationoftasksbetweentheCPUtimeandsystemresources,simplifiedsoftwareprogramming,andensurethesystem'sreal-timeandincreasethereliabilityofthesystem.Liftcontrolisadopttoimplantthedyadicmicroprocessoronsystemhardwareascontrollingcore,thehighwayisthecommunicationhighwaywiththescene,everyrequiresapairofstrandedconductortogotothelavatoryextremelybythefactthatnetworktopologystructureconnectionbeingok,assemblingbetweenthecontroller,theladdercontrollerisok,themastercontrolimplementhardwaresoftwarebuxumakesanytobreathingoutthatbeunlikestoreynumbernavarrequirestoaddthecorrespondingnumberinscenehighwaychange.Feasibleliftcontrolsysteminstallationismorenimble,convenient.Designthatthewiringdesignconcentratingonhavingdiscussedthatelectricelevatorfrequencyconversiondrivesapartmovesoriginally,andapplyreal-timeoperatingsystemembeddedintheμC/OS—Ⅱofsystemprogramming.KeywordssmartelevatorcontrolsystemDSPembeddedsystems目录摘要ⅠAbstractⅡ第1章绪论11.1引言11.2智能电梯在国内外开展现状11.3嵌入式系统2第2章系统整体方案设计52.1电梯控制系统控制策略、方法及总体结构设计5电梯控制系统控制策略、方法5电梯控制系统总体结构设计62.2电梯主控制器的功能设计6第3章系统硬件设计93.1芯片DSP56F8025MFBE93.2控制器组成框图113.3控制器的模块单元功能介绍113.3.1整流滤波单元113.3.2逆变单元123.3.3电机速度及转子位置检测单元133.3.4控制电路电源模块133.3.5看门狗模块153.3.6低电压复位模块163.3.7电流检测模块163.3.8故障报警模块173.3.9编程与仿真接口19第4章系统程序设计194.1嵌入式实时操作系统194.2μC/OS—Ⅱ的根本功能介绍204.3μC/OS—Ⅱ实现对智能电梯控制系统的管理234.3.1主程序流程234.3.2初始化模块244.3.3中断模块254.3.4开关量输入模块264.3.5故障处理模块274.3.6正常工作模块284.3.7检修工作模块294.3.8消防状态工作模块294.3.9CAN总线接收的数据处理模块304.3.10系统断电数据保存模块314.3.11软件定时器模块31结论33致谢34参考文献35附录137附录241第1章绪论1.1引言随着信息技术的开展和数字化产品的普及,从消费电器到工业设备,从民用产品到军用器材,嵌入式系统被应用到网络、手持通信设备、国防军事、消费电子和自动化控制等各个领域。嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、平安系统、自动售货机、蜂窝式、消费电子设备、工业自动化仪表与医疗仪器等。嵌入式系统的广泛应用前景和开展潜力使其成为21世纪的应用热点之计算技术在各行各业不断渗透,嵌入式计算机在应用数量上远远超过了传统意义上的计算机,它广泛应用干制造业、通讯、仪表、汽车、军事、航空航大和消费类电子产品等领域。因此,许多学者主张以应用为中心把计算机划分为两类:通用计算机(典型的如PC)和嵌入式系统。按照这种分类,目前嵌入式系统带来的工业年产值已超过了1万亿美元[1]。随着嵌入式处理器能力的提高和应用程序功能的复杂化和精细化,迫使应用程序必然需要划分为多个重要性不同的任务,在各任务间优化地分配CPU时间和系统资源,同时还要保证实时性。靠用户自已编写一个实现上述功能的内核一般是不现实的,而这种需求又是相当普遍的。在这种形势之下,由专业人员编写满足大多数用户需要的高性能实时操作系统(RTOS)内核成为一种必然结果。对程序实时性和可靠性要求的提高也是RTOS开展的一个原因。另外,嵌入式系统的软件开发日趋工程化,产品进入市场时间不断缩短,也迫使管理人员寻找一种有利于程序继承性、标准化、多人并行开发的管理方式。从长远的意义上来讲,RTOS的推广能够带来嵌入式系统软件工业更有效、更专业化的分工,减少社会重复劳动、提高劳动生产率[2]。1.2智能电梯在国内外开展现状传统的电梯控制系统各楼层与控制器之间采用以PLC为控制核心的点对点的连接方式,每个呼叫器都有一套数据线与主控器相连,当电梯楼层数比拟多时,系统就会有大量的数据线需要连接,使得电梯的安装、维护比拟麻烦。特别是不同楼层数的控制系统需要有相应输入输出点数的主控制器相匹配,通用性差,给生产带来许多不便[3]。以嵌入式微处理器为核心控制器的嵌入式系统作为计算机应用的一个崭新领域,以其简洁、高效等特点越来越多地受到人们的广泛关注。而且在工业控制系统中已得到了广泛的应用,应用于电梯控制系统,具有很大的优越性。(1)可以实现无触点逻辑线路,提高系统可靠性,降低维修费用,提高产品质量。(2)编制控制程序灵活性大,可以适应各种不同的功能要求。(3)可以实现故障显示,使得维修方便,减少故障时间,提高运行率,而且调速灵活,提高电梯的舒适感。(4)使得电梯控制系统体积减小,本钱降低,节省能源,可靠性提高,通用性强,灵活性答,实现了复杂功能。不但可以装配用于新的电梯产品,还可以用来改造旧电梯控制系统,并能取得良好的经济效益和社会效益。(5)便于实现电梯群控系统的管理,合理调配电梯,提高电梯运行效率,节约能源,缩短候梯时间。(6)可以减少控制装置的占地面积。电梯控制系统硬件上采用嵌入式微处理器作为控制核心,以现场总线作为通讯总线,各控制器之间只需一对双绞线通过网络拓扑结构连接即可,安装极为方便,对于不同楼层数的控制系统只需在现场总线中参加相应数目的呼梯控制器即可,主控器硬件软件不需做任何改动。使得电梯控制系统安装更加灵活,方便。但是随着对电梯运行速度、逻辑功能的要求越来越高,常用的8位、16位单片机已逐渐不能满足快速处理、实时响应和系统结构高效、简洁的需求。目前国内的电梯控制系统还是以PLC和8位单片机为主,软件编程采用的还是以无嵌入式实时操作系统的单任务循环的前后台编程方式,使得电梯控制系统的实时性、稳定性和软件编程的灵活性已不能满足电梯系统功能和速度的要求。随着各种高速、高集成的嵌入式处理器的飞速开展,包括嵌入式数字信号处理器(DSP)在内的嵌入式处理器广泛应用于工业控制系统,其中TMS32OCZooo系列DSP的体系结构专为实时控制和实时信号处理而设计,所配置的片内外设为电梯控制系统应用提供了理想的解决方案。对电梯控制系统功能要求越高,控制程序就必然越复杂,引入嵌入式实时操作系统作为软件开发平台可以优化系统结构,提高系统可靠性、实时性和编程的灵活性,将是智能电梯控制系统开发的必需环节[4]。1.3嵌入式系统嵌入式系统通常是面向特定应用的。然而,由于嵌入式系统的软件越来越复杂,需要一个高效率、高可靠性的、实时的底层操作系统软件来管理系统中的各个设备及任务。嵌入式系统(BmbeddedSystem)是以应用为中心和以计算机技术为根底的,并且软硬件是可裁减的,能满足应用系统对功能、本钱、体积、功耗等指标的严格要求的专用计算机系统。它可以实现对其他设备的控制、监视和管理等功能。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于PC中B1OS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件〞[5]。嵌入式系统通常由嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大局部组成。软件局部包括操作系统软件和应用程序编程。应用程序控制着系统的运作和行为,而操作系统控制着应用程序编程与硬件的交互作用。由于嵌入式系统是应用于特定环境下执行面对专业领域的应用系统,所以不同于通用型计算机系统应用的多样化和适用性。它与通用的计算机系统相比具有以下特点:(1)嵌入式系统通常是面向特定应用的,一般都有实时要求。嵌入式CPU大多工作在为特定用户群所设计的系统中。它通常具有低功耗、体积小、集成度高、本钱低等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而使嵌入式系统的设计趋于小型化、专业化,也能使移动能力大大增强,与网络的结合也越来越紧密。(2)嵌入式系统是将先进的计算机技术、半导体工业、电子技术和通信网络技术与各领域的具体应用相结合的产物。这一特点决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识继承系统。(3)嵌入式系统和具体应用有机地结合在一起,它的升级换代也和具体产品同步进行。因此,嵌入式系统产品一旦进入市场,一般具有较长的生命周期。(4)嵌入式系统的硬件和软件都必须高效率的设计,在保证稳定、平安、可靠的根底上量体裁衣,去除冗余,力争在同样的硅片面积上实现更高的性能。这样,才能最大限度地降低应用本钱,从而在具体应用中对处理器地选择更具有市场竞争力。(5)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储芯片或处理器的内部存储器件中,而不存储于外部的磁盘等载体中。(6)嵌入式系统本身不具备自举开发能力。即使设计完成以后,用户通常也不能对其中的程序功能进行修改,必须有一套交叉开发工具和环境才能进行开发。第2章系统整体方案设计电梯控制系统是一个相当复杂的逻辑控制系统,系统要在极短的时间内对几百个信号进行检测、处理,加上系统对平安性能要求较高,使得电梯的控制和管理相当复杂,现有国内的电梯控制系统大多数采用PLC作为电梯的控制核心,对每层楼进行点对点控制,进一步加大了电梯的复杂性,给电梯的安装、调试、以及扩展带来了许多麻烦。随着计算机硬件、软件技术和集成电路技术的迅速开展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大的进步,突出表现为嵌入式微处理器和嵌入式微控制器技术在控制系统中的大量运用。而电梯控制系统中主控制器不仅要完成复杂的逻辑控制、还要实现数据通讯、数据处理、平安监测及实时响应的功能,根据电梯主控制器的特点,对智能电梯控制系统主控制器进行了设计[6]。2.1电梯控制系统控制策略、方法及总体结构设计2.1.1电梯控制系统控制策略、方法随着计算机技术和网络技术的开展,电梯的分布式控制成为了可能。将电梯的控制功能分为假设干模块,由不同的控制器完成各局部特定的功能,各控制器间采用可靠的通信技术控制局域网传递信息,相互进行通信,协同工作。这样,系统可以实现电缆的插接化,并大大减少井道中电缆数量,减少布线工作量和维护本钱。而且,可以使得系统中各个控制器有更充裕的时间用于进一步完善其自身的功能,以改善电梯的性能。本次课题研究开发的智能电梯控制系统可分为四个主要局部:1.主控制器即电梯控制器。它是电梯控制系统的主要局部,负责整个电梯的运行控制。一般主控器和位于楼房的顶部电梯机房内的电梯动力装置曳引机构成了整个电梯控制系统的核心。2.轿厢轿厢是电梯系统中运载乘客的装置,它通过轿厢中的键盘、显示屏,使乘客与电梯建立起了相互联系。曳引机通过钢丝牵引轿厢的上下运行,用于运送乘客。在轿顶(轿厢的顶部)还有一个门机控制器,用于电梯的开关门动作。3.呼梯它是每一层楼的呼叫装置,给出每一楼层的呼叫请求信息,并且显示电梯当前运行状态。此外,电梯整个系统还包括上、下限位开关,上、下限速开关,限速器,平安闸,对重,随行电缆,平层检测板,道轨和缓冲器等一系列电梯运行机械装置和平安保护设备。4.控制器之间的通信方式主控制器、轿厢控制器和呼梯控制器之间采用现场总线之一的CAN总线进行通信,各控制器之间只需一对双绞线通过网络拓扑结构连接即可,安装极为方便。CAN总线是一种有效支持分布式控制和实时控制的串行通信网络,具有非常好的抗干扰能力和可靠性。通信速率可达1Mbps/40m,直接传输距离最远可达10km/kbps。可挂接设备最多为110个[7]。2.1.2电梯控制系统总体结构设计电梯控制系统总体结构,如图2-1所示。图2-1电梯控制系统结构图2.2电梯主控制器的功能设计主控制器是整个电梯的核心。不但要保证整个系统的稳定运行,而且要在极短的时间内对系统所有的任务进行响应。其任务包括:接收、处理电梯的各种状态,并做出相应的动作,控制电梯的总体运行,实施对电梯驱动局部的控制,包括抱闸的松放、门机的开关、变频器低、中、高速的给出等控制。接收轿厢控制器送来的内选信号,执行内选外呼指令,向轿厢控制器、呼梯控制器发送楼层指示信号,实施平安保护等。为了实现电梯状态监控的需要,主控制器还参加了基于LCD显示的电梯参数设置、监控系统。电梯主控系统,是一个功能繁多,运行复杂的控制系统。电梯每一步运行都要考虑到各种平安问题。总的来说,系统按运行上来说可分为正常运行、非正常运行两大框架结构,按功能上又可分为开关门、上下运行等功能局部。另外,为了保证系统平安正常的运行,及时发现平安隐患,还要对整个系统的各种参数进行自身检测,并且把电梯的一些内部参数、内部状态通过液晶屏显示出来,以便及时发现问题并进行报警。以下对电梯控制系统运行状态进行具体分析。电梯运行时,根据不同的情况,可分为正常运行、检修运行、自学习运行、消防运行等运行状态,要求各状态之间可随时互相转换[8]。1.正常运行电梯正常运行局部是电梯运行的主要局部,他占据了整个电梯运行的大局部运行时间,按运行状态来说大致可分为平层区状态和非平层区状态。(1)平层区状态正常运行时,电梯一旦监测到平层区标志,就要进入平层区状态,根据呼叫计算,分别决定停车、等待还是继续运行。如果电梯到达运行目的楼层,系统进入停车模式。考虑到电梯的顺利停车和启动、乘客平安、机械局部的损坏等问题,系统必须按照一定的规那么停车和启动。(2)非平层区状态非平层区状态相对于平层状态来说相对简单,主要完成电梯在运行途中系统通过CAN总线与呼梯、轿厢的通信,提出登记楼层呼叫情况,并计算电梯运行目标楼层,决定电梯运行的速度和方向,以及计算即将到达的目的地是否停车等任务。2.检修检修状态是电梯控制系统中最根本的运行局部,是电梯安装、调试必不可少的状态。检修状态只包括电梯的几个最根本功能:开门、关门、上行、下行,在电梯初次安装、调试或出现故障时,调用最根本、最简单的运行功能,以便解决其它问题。3.自学习为了增加电梯控制系统的智能化程度,系统参加了自学习功能。因为安装电梯的楼房楼层高度不可能统一,就算有标准,也会因为施工存在误差而导致楼层高度存在差异。对于电梯控制系统来说,必须预先知道楼层的高度,以便准确、及时的改变运行速度,减速停车。一般来说,系统通过读取电梯曳引机端的脉冲编码器根据电器上下运行的行程所发出的脉冲数来得到电梯所在楼层的层高。在传统的电梯控制系统中,为了取得大楼楼层的高度,安装调试的时候采用检修运行方式,手动控制电梯的上下运行,通过观察电梯主控系统的脉冲计数器所读到的数值,人工的计录下楼层的高度值。在本系统中,引入了自学功能,即自动完成楼宇高度脉冲的读取、纪录、保存,并自动检测大楼楼层数。给电梯安装调试带来了很大的方便。4.消防电梯在运行时,如果有人把设置在系统基站的消防开关开启,电梯立刻进入消防状态。消防状态是电梯系统在楼层发生火灾的情况下,为了保护乘客的平安以及方便消防人员救火救人而设置的一种功能状态。一般来说,消防状态可以分为消防保护阶段和消防再次运行阶段。〔1〕消防保护阶段电梯在正常运行时,如果有消防呼叫,系统即处于消防保护阶段。〔2〕再次运行阶段电梯完成消防保护阶段后,自动进入再次运行阶段,以便消防人员和急救人员紧急使用和临时使用电梯。5.故障检测对于电梯控制系统来说,其平安问题尤为重要。能够及时发现、解决系统的电子、机械问题,并显示相应的故障代码,指明故障情况,将对电梯故障的预防、故障出现后电梯的检修带了很大的帮助。一般来说,电梯控制系统中的故障包括控制电路的器件故障,包括元件老化、失灵、损坏等情况,还有变频器运行故障,分布式控制系统的串行通讯故障,门联锁、抱闸接触器、主接触器等机械故障等[9]。6.系统监控为了准确掌握电梯内部参数、了解当前运行状况,本系统采用了基于LCD液晶屏的电梯监控系统。操作人员可以通过上、下、左、右、ENTER、EXIT、RESET共有七个操作键对监控系统进行操作,观察自动、检修、消防、电梯运行方向、当前速度、上、下限位等运行状态,还可以进入参数设置窗口,对电梯运行速度、换速脉冲、开关门时间、方向、速度等一系列参数进行设置[10]。第3章系统硬件设计电梯控制系统中主控制器不仅要完成复杂的逻辑控制,还要实现数据通讯、数据处理、平安监测及实时响应的功能,根据电梯主控制器的特点,提出一种新型、高效的控制系统结构DSP+CPLD。由于DSP具有数据处理速度快、工作特性稳定、集成化程度高等特性,在设计中主要用来完成数据的实时处理、运算和响应,与控制系统中其它微处理器之间的局域网数据通信,输入/输出(I/O)信号的处理,电源监控及数据的非易失性保存,而复杂可编程逻辑器件CPLD是应用很广泛的专用集成电路,具有集成度高、工作速度快和在线编程方便等特性,所以在系统设计中采用CPLD可以增强DSP访问外设的能力,实现可编程I/0口的扩展、片内时序逻辑电路和组合逻辑电路设计、输入缓冲、输出驱动及产生其它器件的片选信号。CPLD通过片内可编程数据交换逻辑模块发送输入端口状态信息到DSP,接收DSP发出的控制信息,对于系统中局部输入、输出逻辑关系直接在CPLD中由可编程逻辑处理模块完成[11]。本设计中电梯主控制器就是采用DSP+CPLD的系统结构,基于DSP技术和CPLD技术有效结合的主导思想设计的主控制器,成功的应用在智能电梯控制系统。数字信号处理器DSP采用Freescle公司生产的DSP56F8025MFBE,如图3-1所示,而复杂可编程逻辑器件CPLD采用Altera公司生产的MAX7128S[16]。本章将以DSP作为重点,详细介绍系统变频驱动局部的硬件设计。3.1芯片DSP56F8025MFBE数字信号处理器(DSP)是一种适合于进行实时数字信号处理运算的微处理器,能够快速实时的完成数字信号处理、运算。全数字控制器以DSP56F800系统为核心,其具有较好的通用性。本设计中,突出了控制器的高效性、通用性以及实用性。在全数字控制器的研制中,采用核心控制芯片为DSP56F8025MFBE。该DSP芯片系列混合了DSP的高运算能力与MCU的控制特性于一体,提供了许多专用于电机控制的外设接口,如PWM模块、ADC、Timer、SCI、SPI和CAN总线等,非常适合于数字马达控制;同时,它还有通用型的GPIO口,每条运算指令仅有25ns的高速运算速度等,所有这些特性,为整个系统的控制提供了良好的外部控制环境。DSP56800内核采用哈佛结构,包括三个可并行的工作的执行单元,六级流水线。它的MCU风格编程模式和优化指令集允许直接生成有效的、紧凑的DSP控制码。DSP568025MFBE支持从外部或内部存储器开始执行程序。并且每个指令周期可以同时从内部RAM读取两个操作数,同时提供了两个中断线和最多达32路的GPIO(通用I/O)引脚。DSP568025MFBE包含DSP56800系列内核的程序和数据存储器以及用于嵌入式控制的片内外设[12]。DSP56800内核包括三个并行工作的执行单元,在一个指令周期可以同时执行6条指令。MCU编程模式以及优化的指令集允许生成有效、紧凑的DSP控制代码。DSP56800的主要特点如下:采用双哈佛结构,16位DSP处理器。在内部时钟为80M时,指令执行速度可达40MIPS。单周期16位*16位并行MAC。带扩展位的2个36位累加器。16位双向循环移位器。采用DSP特有寻址模式的并行指令集。硬件实现DO和REP循环。三条内部地址总线和一条外部地址总线。四条内部数据总线和一条外部数据总线。支持DSP和控制器函数的指令集。控制器风格的寻址模式和指令。高效的C编辑器,支持局部变量。只限制于存储器大小的子程序和中断堆栈。JTAG/ONCE调试接口。图3-1DSP56F8025MFBE原理图3.2控制器组成框图DSP56F8025MFBE具有数据处理速度快、工作特性稳定、集成化程度高的特性。系统采用了模块化设计理念,组成框图如图3-2所示。图3-2主控制器结构框图由上图可知,设计中采用交-直-交型变频电路,包括由不可控二极管和电容矩阵组成的滤波整流单元和逆变单元。控制电路局部以DSP为核心组成全数字控制系统,其中包括控制电路电源模块、上电复位模块、看门狗模块、光电码盘、电流采样及故障报警等模块。本系统是一个有速度反应的闭环系统,DSP接受电机的转速及转子的位置信号,电机电流信号,通过数字算法输出SPWM,控制电机。同时DSP还负责监控系统运行的状态,当系统出现,过压,过流,短路等故障时,DSP将停止系统工作,发出声光报警[12]。3.3控制器的模块单元功能介绍整流滤波单元380V的交流电压经6个不可控的二极管全波整流后变为直流后再经电解电容进行滤波,同时为负载的直流电源之间的无功功率进行缓冲。如图3-3所示。图3-3整流滤波单元当变频器刚合上电源的瞬间由电容组成的滤波电路充电电流较大,过大的冲击电流极易损坏电源的整流模块,因此为保护整流桥在变频器刚接通电源的一段时间里电路串联一个限流电阻,使瞬间的充电电流被限制在允许的范围内。当电源电压到达稳定后,通过电阻分压的方式使光耦导通,继电器线圈得电,闭合短路限流电阻,从而降低系统能量损耗。电机速度及转子位置检测单元系统使用光电码盘检测电机的速度及转子的位置信息反应给DSP,DSP再通过相应的算法控制电机的运行。如图3-4所示,为光电码盘与DSP之间的接口电路。图3-4光电码盘接口电路3.3.3逆变单元系统选用freescale公司的MC33395作为逆变单元的驱动芯片,按DSP输入的不同模式控制6个功率开关的导通与关闭,实现对电机的SPWM调节。如图3-5所示。在工作过程中,当MC33395检测到过电流或过电压时可以通过VT2关闭供电,从而禁止了SPWM的输出,保护系统平安。图3-5逆变单元3.3.4控制电路电源模块系统的控制回路电压可以通过外接220V生活电压的方式给定。当电梯启动时,VT1导通,Q1导通,经过变压器变压整流桥整流的输入电压被接入,首先经过78S12后输出稳定的12V电压,接着经过LM2940T-5.0后输出稳定的5V电压,最后经过NCV1117-3.3输出稳定的3.3V电压,连续使用3块串行稳压电源为控制电路提供不同的供电电压,以满足使用要求。如图3-6,3-7,3-8,3-9所示。图3-6启动开关及变压整流模块图3-7+12V电源模块图3-8+5V电源模块图3-9+3.3V电源模块如图3-10所示,在电压接入78L12+12稳压模块之前,回路中还参加了由R6和D4组成的顺压保护电路,其中R6作为限流电阻防止D4被过强的释能电流烧穿。D4为TVS管即瞬态稳压二极管,当输入的电压过高时,TVS会瞬时导通将过高的能量释放,同时将输出电压限制在平安范围内,从而有效的防止了12V稳压块因瞬间过压烧毁,提高控制器的可靠性。图3-10瞬压保护电路3.3.5看门狗模块为提高控制系统的平安性,防止程序在运行过程中出现错误,在外围电路中参加看门狗模块,但程序运行错误时,看门狗模块可以将CPU复位,使芯片恢复正常工作,设计中所选用看门狗芯片为T动电压2.63V,内部定时器每200ms发出一次复位信号。因此当程序运行错误时,在200ms内未能将其内部定时器清零,那么TPS3824将发出RESET信号复位DSP,从而有效的防止死机的情形发生。PS3824,如图3-11所示,TPS3824启图3-11看门狗模块3.3.6低电压复位模块在系统上断电过程中电源局部可能出现过电压过低的情况,此时DSP可能在非正常电压工作时产生错误,为防止类似情形产生,系统中参加低电压压复位模块。因为DSP供电电压为3.3V,所以选用CAT809S作为复位芯片。如图3-12所示。CAT809S的复位电压为2.93V,当DSP供电电压低于此值时,CAT809S将发出RESET信号,复位DSP。图3-12低电压复位模块3.3.7电流检测模块电流检测模块用于检测这个系统运行过程中的电流情况。系统可以根据电流情况调整电机的速度,电梯内风扇的开关,还可以有效的防止过电流的发生,保障系统平安。如图3-13所示。电流检测模块采用正向运算放大器组成的电压放大电路,输入端的电压被滤波并放大11倍后送入DSP的AD采样通道,DSP将实际中的模拟量通过AD模块转换成相应的数字量,最后通过计算,判断获得希望的控制模式。由于DSP的管脚耐压值有限,电压经运算放大器放大后,可能超出正常范围,所以在DSP的管脚输入端接有二极管限幅电路,使得当DSP管脚处电压输入过大时被有效的限制在允许的范围内。图3-13电流检测模块3.3.8故障报警模块当系统出项故障时,DSP在完成系统停机保护的同时,输出GPIO端口将发出高电平,Q2三极管导通,故障灯与响铃同时得电,发出声光报警提示用户。如图3-13所示。图3-14故障报警模块3.3.9编程与仿真接口可以通过串行接口RS232进行通讯及仿真,方便了嵌入式程序的编辑与调试。如图3-15所示。图3-15编程及仿真接口第4章系统程序设计4.1嵌入式实时操作系统1.嵌入式实时操作系统概念嵌入式实时操作系统(EmbeddedRealTimeOperatingSystem)是一种实时的、支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成局部,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的根本特点,如能够有效管理越来越复杂的系统资源。能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来,能够提供库函数、驱动程序、工具集以及应用程序。嵌入式实时操作系统负责嵌入系统的全部软、硬件资源的分配、调度作业,控制、协调并发活动,它必须表达其所在系统的特征,能够通过装卸某些模块来到达系统所要求的功能[13]。2.嵌入式实时操作系统的开发方式由于嵌入式应用软件的特殊性,往往要求应用程序设计者具有一定的实时操作系统的专门知识,能合理地划分任务,合理地配置系统以及目标联机的调试。因此,要设计实现一个高性能的实时应用软件,需有强有力的交叉开发工具系统的支持。开发平台称为宿主机,应用系统称作目标机。宿主机与目标机可采用相同或不相同的机型.。这种不同机型的开发平台又称作交叉式开发系统.显然,在这种独立的实时软件开发系统上,应配备完整的实时软件开发的工具,如高级语言、在线调试器和在线仿真器等。宿主机和目标机之间通过网络、串口或其它方式相连,一般来说这个网络和串口是目标机的一局部,要占用目标机用户的局部资源,用户必须给操作系统提供相应的驱动程序。在进行应用软件调试之前必须要保证目标机的硬件系统能够正常运行,宿主机的应用程序代码可以下载到目标机中去,而且有关设备的驱动程序需调试正确。因此,嵌入式实时软件开发过程较为复杂[14]。RTOS对于开发单位和开发者个人来说也是一种提高。引入RTOS的开发单位,相当于引入了一套行业中广泛采用的嵌入式系统应用程序开发标准,使开发管理更简易、有效。基于RTOS和C语言的开发,具有良好的可继承性,在应用程序、处理器升级以及更换处理器类型时,现存的软件大局部可以不经修改地移植过来(据专家预测,优秀RTOS上跨处理器平台的程序移植只需要修改l-4%的内容)。对于开发人员来说,那么相当于在程序设计中采用一种标准化的思维方式,提高知识创造的效率。同时因为具有类似的思路,可以更快地理解同行其它人员的创造成果[15]。3.嵌入式实时操作系统内核嵌入式实时操作系统中最关键的局部是实时多任务内核。它主要实现任务管理、定时器管理、存储器管理、任务间通信与同步、中断管理等功能。如何实现一个效率高,体积小,移植功能强大,易于定制的实时操作系统内核是开发嵌入式操作系统的关键问题[16]。4.2μC/OS—Ⅱ的根本功能介绍本设计将重点运用μC/OS—Ⅱ嵌入式实时操作系统作为软件开发平台,进行应用系统软件的设计。1.μC/OS—Ⅱ的初始化和启动在调用μC/OS—Ⅱ的其他效劳之前,μC/OS—Ⅱ总要求用户首先调用系统初始化函数OSInit(),完成对μC/OS—Ⅱ中一些变量和数据结构的初始化。μC/OS—Ⅱ还初始化了4个空数据结构缓冲区。每个缓冲区都是单向链表,允许μC/OS—Ⅱ从缓冲区迅速得到或释放一个其中的元素。μC/OS—Ⅱ安排总的系统任务数OS_N_SYS_TASKS,控制块OS-TCB的数目也就自动确定了。当然,包括组合结构的任务控制块分配给空闲任务和统计任务。多任务的启动是用户通过调用OSStart()实现的。然而,启动μC/OS—Ⅱ前,用户至少要建立一个应用任务。当调用OSStart()时,OSStart()从任务就绪表中找出那个用户建立的优先级最高任务的任务控制块。然后,OSStart()调用最高优先级就绪任务启动函数OSStartHighRdy(),这个文件与选择的微处理器有关。实质上,函数OSStartHighRdy()是将任务栈中保存的值弹回到CPU存放器中,然后执行一条中断返回指令,中断返回指令强制执行该任务代码。注意,OSStartHighRdy()将永远不会返回到OSStart()。2.任务管理在μC/OS—Ⅱ中,任务通常是一个无限的循环,任务是绝对不会返回的。故返回参数必须定义成void。协μC/OS—Ⅱ可管理多达64个任务,但μC/OS—Ⅱ保存了优先级为0、1、2的任务。可供用户使用的有多达56个应用任务。必须给每个任务赋以不同的优先级,μC/OS—Ⅱ初始化时,最低优先级总是被赋给空闲任务。为了使μC/OS—Ⅱ能够管理用户任务,用户必须在建立一个任务的时候,将任务的起始地址与其他参数一起传给OSTaskCreate()或OSTaskCreateExt()函数。每个任务的就绪标志都放在就绪表(ready1ist)中,就绪表中有两个变量OSRdyGrp和OSRdyTbl[]。在OSRdyGrp中,任务按优先级分组,8个任务即为一组。OSRdyGrp中的每一位表示8组任务中每一组中是否有进入就绪状态的任务,任务进入就绪态,就绪表OSRdyTbl[]中相应元素的相应位也置位。在μC/OS—Ⅱ中,确定该哪个任务运行的工作是由调度器(scheduler)完成的。任务级的调度是由函数OSSched()完成的。任务切换很简单,将被挂起任务的微处理器存储器推入堆栈,然后将较高优先级的任务的存放器值从栈中恢复到存放器中。OSSched()的所有代码都属于临界区代码。在寻找进入就绪态的最高优先级的任务的过程中,为防止中断效劳程序把一个或几个任务的就绪位置位,中断是被关掉的。3.常用的任务管理函数OSTaskDel()用于将任务返回并处于休眠态,其代码不再被μC/OS—Ⅱ调用,也就是删除任务。删除空闲任务和在中断效劳子程序中(ISR)删除一个任务是不允许的,但可以删除统计任务。可通过指定OS_PRIO--SELF参数来删除自己。OSTaskChangePrio()用来改变建立任务的时候分配给任务的优先级。用户需要指定任务当前的优先级和新的优先级。OSTasksuspend()用来挂起任务。如果被挂起的任务同时也在等待延时的期满,那么挂起操作需要被取消,任务继续等待延时期满,并转入就绪态。任务可挂起自己或其他任务,但必须确保不是在挂起优先级是无效的任务或空闲任务。OSTaskResume()用于恢复被挂起的任务。OSTaskResume()首先要确保被恢复的任务不是空闲任务,这个测试也是在恢复优先级为OS_RIO_SELF的任务。接着,检查要恢复的任务是否存在,是否是被挂起的。OSTaskQuery()用来获得自身或其他应用任务的信息。OSTaskQuery()获得的是对应任务的OS_TCB中内容的拷贝。4.时间管理μC/OS—Ⅱ一日的时钟节拍μC/OS—Ⅱ需要用户提供周期性信号源,用于实现延时和确认超时。时钟节拍的实际频率取决于用户应用程序的精度。时钟节拍源可以采用嵌入式处理器的硬件定时器。μC/OS—Ⅱ中的时钟节拍效劳是通过在中断子程序中调用OSTimeTick()实现的。时钟节拍中断效劳子程序的代码必须用汇编语言编写。OSTimeTiekHook()开始,这个外连函数可以将时钟节拍函数OSTimeTiek()予以扩展。OSTiIneTiok()中大量工作是给每个用户任务控制块OS_TCB中的时间延时项OSTCBDly减1(该项不为零时)。OSTimeTiek()从OSTCBList开始,沿着OS_TCB链表做,一直到空闲任务。当某个任务的任务控制块中的时间延时项OSTCBDly减到了零,这个任务就进入就绪态。被任务挂起函数OSTasksuspend()挂起的任务那么不会进入就绪态。OSTimeTiek()的执行时间直接与应用程序中建立的任务数成正比。5.邮箱邮箱是协μC/OS—Ⅱ中一种通信机制,它可使一个任务或者中断效劳子程向另一个任务发送一个指针型变量。该指针指向一个包含了特定“消息〞的数据结构。要在μC/OS—Ⅱ中使用邮箱,必须将OS_CFG.H文件中的常数BOX_EN置为1。使用邮箱前,必须先建立该邮箱,并指定指针初始值。OS_M如果邮箱用来通知一个事件的发生,就要初始化该邮箱为NULL;如果邮箱用来共享某些资源,就要初始化该邮箱为一个非NULL的指针。6.μC/OS—Ⅱ的中断处理下面我们来了解一下在协μC/OS—Ⅱ中是如何处理中断的。在用户中断效劳子程序中,用户代码应该将全部CPU存放器推入当前任务栈。μC/OS—Ⅱ需要知道用户在做中断效劳,故用户应该调用OSIntEnter(),或者将全局变量OSIntNesting直接加1,这两种方法的选择取决于用户的微处理器。因为,如果用户使用的微处理器有存储器直接加1指令,用将全局变量OSIntNesting直接加1的方法比调用OSIntEnter()快得多。但如果用户使用的微处理器没有这样的指令,就必须先将OSIntNesting读入存放器,再将存放器加l,然后再写回到变量OSIntNesting中去,这种情况下调用OSIntEnter()更简单。要留神的是,有些情况下,从OSIntEnter()返回时,会把中断开了。这时,在调用OS1ntEnter()前要先清中断源,否那么,中断会连续反复发生,程序就会崩溃。μC/OS—Ⅱ允许中断嵌套,因为μC/OS—Ⅱ跟踪嵌套层数OSIntNesting。然而,为了允许中断嵌套,在多数情况下,用户应在开中断前先清中断源。调用脱离中断函数OS1ntExit()标志中断效劳子程序的终结,OSIntExit()将中断嵌套层数计数器减1。当中断嵌套层数计数器减到O时,所有中断就都完成了,此时μC/OS—Ⅱ要判断有没有优先级较高的任务被中断效劳子程序唤醒了。如果有,μC/OS—Ⅱ就返回到那个高优先级的任务,OSIntExit()返回到调用点,此时OSIntExit()将占用较长的运行时间。保存的存放器的值是在这个时候恢复的,然后是执行中断返回指令。注意,如果调度被禁止了,μC/OS—Ⅱ将被返回到被中断了的任务。用户中断效劳中做的要尽可能少,要把大局部工作留给任务做。如果需要做任务切换,OSIntExit()将调用OSIntctxsw()[17]。4.3μC/OS—Ⅱ实现对智能电梯控制系统的管理主控制器在硬件设计上要求嵌入式微处理器及外围逻辑、驱动和接口电路具有快速处理、高度集成和抗干扰的性能。在软件设计上原来采用的“前后台系统〞的编程方式实时性较差,对那些实时性要求高的任务不可能立刻得到处理,最坏情况下的任务的响应时间取决于整个后台循环的执行时间,因为循环一圈的执行时间不是常数,程序经过某一点的准确时间也就不能确定。程序修改了,循环时序也会受影响。而且在流程的任何一处因某种意外不能正常工作,整个系统就会“死机〞[18]。考虑到这些情况,有必要在电梯控制系统中引入嵌入式实时操作系统作为软件开发平台,本文选用的嵌入式实时操作系统是源码公开、成熟的协μC/OS—Ⅱ。在电梯控制系统中使用嵌入式实时操作系统协μC/OS—Ⅱ,可以将应用程序分解成多任务,简化了应用系统软件的设计。使得电梯控制系统的实时性得到保证,而且良好的多任务设计,有助于提高系统的稳定性与可靠性。下面将介绍电梯主控制器各个功能模块及如何采用μC/OS—Ⅱ对各个功能模块的管理[19]。4.3.1电梯控制系统控制策略与方法以流程图表示,如图4-1所示。图4-1电梯控制系统主程序流程图4.3.2初始化模块是电梯控制系统初始运行局部,负责初始化系统的各种参数,根据情况把电梯设置成一种初始上电运行状态。初始化模块包括:(1)DSP系统初始化函数SYS_INIT()。完成DSP系统的配置存放器和接口模块时钟控制。主要包括系统控制和状态存放器、中断优先级和中断向量表、外设中断扩展控制器、中断向量、CPU中断存放器、外设中断存放器等。(2)定时器初始化函数EVB_init()。DSP有四个通用定时器,选择定时器3做为整个软件程序定时的基准。完成定时器内外时钟的选择,设置可编程定标器的初值,选择计数时钟频率,计数模式等,并向操作系统时钟节拍函数OSTimeTick()提供根本计时单位。完成初始化各个定时标志的初始化的工作。(3)光电编码器初始化函数EVA_init()。选择定时器2作为光电编码器输入脉冲处理的根本时钟信号。完成正交编码信号计数模式,计数方向等。(4)I/O初始化函数I几init()。在电梯上电的的初始状态,系统的I/O状态是随机的,这样对电梯造成的极大的危险。I/O初始化主要是根据初始情况设置I/O口的输入输出状态,是电梯到达一个比拟稳定、平安的状态。(5)复杂可编程逻辑器件(CPLD)接口初始化函数Cpld_Init()。数字信号处理器(DSP)通过数据总线向CPLD输出初始状态数据,完成CPLD初始化。(6)CAN控制器的初始化CAN_init()。对DSp320LF2407中的CAN控制段中的存放器进行初始化,设置CAN控制器的波特率、各个邮箱的功,接收屏蔽码等。(7)串行通信接口初始化函数SCI_init()。主控制器与液晶显示模块采用串行通信接口进行通讯。完成串行通信口可编程的数据格式、波特率的设置等。(8)串行外设接口初始化函数SPI_init()。主控制器采用串行外设接口(SPI)对串行EEPR伽管理,用于系统断电后非易失数据保存。初始化函数完成完成串行外设接口可编程的数据格式、波特率的设置等。内存初始化函数Meomory_Init()。完成内存中变量及标志的初始化。(9)嵌入式实时操作系统μC/OS—Ⅱ操作系统初始化函数OSinit()。完成初始μC/OS—Ⅱ所有变量和数据结构[20]。4.3.3电梯控制系统中断模块包括两局部:定时器模块和CAN总线数据接收模块。操作系统在中断效劳程序中所用到函数包括:中断开始函数OSIntEnter(),时钟节拍函数OSTimeTiek(),退出中断函数OSIntExit()。1)定时器模块采用中断3,函数是c_int2()voidc_int2(){if(PIVR==0x002F)//是否认时器10MS{unsignedintTint=0//定义局部变量Tint*OSIntEnter();//通知内核开始中断效劳OSTimeTick();//10MS一个时钟节拍............中断效劳子程序............OSMboxPost(TimerMbox,(void*)&Tint);//发送定时时间消息到软件定时器OSIntExit();//退出中断asm(″CLRCINTM″);//开中断}}2)CAN总线数据接收模块采用中断5,函数是c_int5()。voidc_int5(){if(PIVR==0x0040){unsignedintCANint=0;//定义局部变量OSIntEnter();//通知内核开始中断效劳呼梯或是轿厢发送的数据的ID号判断.....................中断效劳子程序.....................OSMboxPost(CANREMbox,(void*)&CANint);//发送CAN总线接收到的数据消息到CAN接收数据处理函数Can_Receive()OSIntExit();//退出中断asm(″CLRCINTM″);//开中断}}4.3.4开关量输入模块功能是完成读取开关量控制指令及电梯状态值,并进行数据转换,便于其他函数调用。采用操作系统μC/OS—Ⅱ创立开关量输入模块任务如下:OSTaskCreate(IO_RECEIVETask,(void*)O,(void*)&TaskstkIORe[29],3)任务名称:IO-RECEIVE任务堆栈:分配给开关量输入模块IO-RECEIVE()堆栈的栈顶指针&TaskstkIORe[29],操作系统初始化通过设置OS_STK_GROWTH将堆栈设定为是由上往下递减。优先级:3采用μC/OS—Ⅱ对开关量输入模块管理的流程如下:voidIO_Reeeive(){while(1){OSTasksuspend(3);/*采用任务挂起方式先将任务置于挂起态*/读入开关量信号输入值及数据转换用户代码;根据输入信号确定正常、检修和消防那种任务恢复就绪态。if(检修状态有效)OSIntTaskResume(5):/*检修任务恢复就绪态*/}4.3.5电梯控制系统的故障状态处理模块主要完成电梯处于故障状态时的运行控制。采用操作系统μC/OS—Ⅱ创立故障处理模块任务如下:OSTaskCreate(Ctr_TroubleTask,(void*)0,(void*)&TaskstkTrouble[59],4)任务名称:Ctr_Trouble()任务堆栈:分配给电梯控制系统故障状态处理模块Ctr_trouble()堆栈的栈顶指针&TaskstkTrouble[29]。优先级:4采用协μC/OS—Ⅱ对故障工作模块管理的流程如下:voidCtr_trouble(){while(l){MaiITrouble=OSMboxPend(TroubleMbox,0,&error):/*采用消息邮箱与其它任务模块进行信息传递*/troublesign=*Mai1Trouble;/*读取返回值,根据邮箱返回的值执行相应的功能*/if(troublesign==?){故障处理子程序1}.....................故障处理其它子程序.....................}}4.3.6电梯控制系统正常工作模块主要完成:(1)电梯正常运行过程中的呼叫提取、呼叫计算、根据呼叫计算结果确定电梯运行目标楼层.(2)启动电梯运行包括:主继电器控制、给定方向、松闸和给定速度。(3)停止电梯运行包括:主继电器控制、撤速度、抱闸和撤方向。(4)开关门控制逻辑处理。采用操作系统μC/OS—Ⅱ创立电梯正常运行模块任务如下:OSTaskCreate(CtrjormalTask,(void*)0,(void*)&TaskstkNormal[59],9)任务名称:Ctr_Normal()任务堆栈:分配给电梯控制系统正常模块Ctr_Normal()堆栈的栈顶指针&TaskstkNormal[59]。优先级:9恢复就绪态方式:由I/O输入模块函数IO_RECEIvE()根据I/O口状态执行恢复函数进入就绪态。采用μC/OS—Ⅱ对正常工作模块管理的流程如下:Ctr_Normal(){while(1){OSTasksuspend(9);/*采用任务挂起方式将任务先置于挂起态*/}}正常运行各局部子程序4.3.7电梯控制系统的检修模块主要完成工作人员在对电梯调试、维护时的运行控制。采用操作系统协μC/OS—Ⅱ创立开关量输入模块任务如下:OSTaskCreate(Ctr_ExamTask,(void*)O,(void*)&TaskstkExam[29],5)任务名称:Ctr_Exam()任务堆栈:分配给电梯控制系统检修模块Ctr_Exam()堆栈的栈顶指针&TaskstkExam[29]。优先级:5恢复就绪态方式:由I/O输入模块函数IO_RECEIVE()根据I/O口状态执行恢复函数进入就绪态。采用μC/OS—Ⅱ对检修工作模块管理的流程如下:voidCtr_Exam(){while(l)OSTasksuspend(5);/*采用任务挂起方式将任务先置于挂起态*/}检修状态下开、关门和上、下行处理程序4.3.8电梯控制系统的消防状态工作模块主要完成电梯处于消防报警状态时的运行控制[21]。采用操作系统林μC/OS—Ⅱ创立开关量输入模块任务如下:OSTaskCreate(Ctr_FireTask,(void*)O,(void*)&TaskstkFire[59],6)任务名称:Ctr_Fire()任务堆栈:分配给电梯控制系统消防状态处理模块Ctr_Fire()堆栈的栈顶指针&TaskstkFire[29]。优先级:6恢复就绪态方式:由I/O输入模块函数IO_RECEIVE()根据I/O口状态执行恢复函数进入就绪态。采用μC/OS—Ⅱ对消防工作模块管理的流程如下:voidCtr_Fire(){while(l){OSTasksuspend(6);/*采用任务挂起方式将任务先置于挂起态*/消防状态运行控制程序}}4.3.9CAN电梯控制系统的CAN总线接收的数据处理模块主要完成电梯主控制器从轿厢控制器、呼梯控制器接收的数据的处理。采用操作系统μC/OS—Ⅱ创立故障处理模块任务如下:OSTaskCreate(Ctr_CanRxTask,(void*)0,(void*)&TaskstkCanRx[29],7)任务名称:Ctr_CanRx()任务堆栈:分配给电梯控制系统CAN总线接收的数据处理模块Ctr_CanRx()堆栈的栈顶指针&TaskstkCanRx[29]。优先级:7采用μC/OS—Ⅱ对数据处理模块管理的流程如下:voidCtr_CanRx(){while(1){MailCanRx=OSMboxPend(CanRxMbox,30,&error):/*采用消息邮箱与其它任务模块进行信息传递*/eznrxsign=*MailCanRx:/*读取返回值,根据邮箱返回的值执行相应的功能*/if(eznrxsign==轿厢信息){轿厢数据处理子程序}CAN总线接收的数据进行处理的其它子程序4.3.电梯控制系统的系统断电数据保存模块主要完成电梯控制系统在突然断电时数据的非易失保存。采用操作系统μC/OS—Ⅱ创立断电数据保存模块任务如下:OSTaskCreate(Ctr_SaveTask,(void*)0,(vosd*)&Taskstksave[29],8)任务名称:Ctr_Save()任务堆栈:分配给电梯控制系统断电数据保存模块Ctr_Save()堆栈的栈顶指针&Taskstksave[29]。优先级:8恢复就绪态方式:由I/0输入模块函数10_REcEIVEO根据I/0口状态执行恢复函数进入就绪态[21]。采用μC/OS—Ⅱ对断电数据保存模块管理的流程如下:voidCtr_Save(){while(1){OSTasksuspend(S);/*采用任务挂起方式将任务先置于挂起态*/系统断电数据非易失保存程序}}4.3.电梯控制系统的软件定时器模块主要完成电梯主控制器的各个软件定时器的计算和处理。采用操作系统μC/OS—Ⅱ创立软件定时器模块任务如下:OSTaskCreate(CtrjimerTask,(void*)0,(v。id*)&TaskstkTimer[29],10)任务名称:Ctr_TimerO任务堆栈:分配给电梯控制系统软件定时器模块ctr_Timero堆栈的栈顶指针&TaskstkTimer[29]。优先级:10采用μC/OS—Ⅱ对数据处理模块管理的流程如下:voidCtrjimer(){while(l)MaiITimer=OSMboxPend(TimerMbox,10,&error):/*采用消息邮箱与其它任务模块进行信息传递*/timersign=*Mai1Timer:/*读取返回值,根据邮箱返回的值执行相应的功能*/if(timersign==looms到有效){以100ms为根本计数单位的软件定时器处理子程序软件定时器其它子程序;}}结论本设计是以嵌入式实时操作系统在智能电梯控制系统中的应用为背景的,以优化系统结构、合理分配任务和提高系统的可靠性为目的,引入了嵌入式的实时操作系统μC/OS—Ⅱ,实现了μC/OS—Ⅱ作为开发平台的智能电梯单梯控制系统的设计。本设计中电梯主控制器硬件上采用数字信号处理器DSP56F8025MFBE与可器件MAX7128S相结合的一种高性能的结构。同时软件上采用嵌入式实时操作系统抖μC/OS—Ⅱ实现多任务管理、中断管理、定时器管理和任务间的通信与同步,这种设计方案具有的特点如下:1.提高了系统的实时性和可靠性在嵌入式系统中使用RTOS的最主要的原因是提高系统的实时性和可靠性。尤其是系统“不死机〞是根本的要求。在硬件设计上主控制器采用数字信号处理器DSP可以使系统具有高速数据处理能力,有力提高了系统实时性。而系统采用复杂可编程逻辑器件CPLD可以具有静态可重复编程和动态在系统重构的特性,使得硬件设计像软件一样通过编程来修改,这样就极大的提高了电子系统设计的灵活性和通用性,同时也实现了控制系统得微型化。在可靠性方面,硬件设计上尽量提高抗干扰能力,满足电磁兼容性要求只是一方面,另一方面就是在软件上采取得措施。长期以来,国内传统的开发的方式是:针对某一应用,画程序流程图、编制应用程序。这种程序可以称之为线性程序。在遇到强干扰时,程序在任何一处产生死循环或破坏都会引起死机,受到强干扰时只能依靠硬件的最后防线一看门狗复位,重新启动系统。而对于RTOS管理的系统,这种干扰可能只是引起假设干进程中的一个被破坏,可以用另外的进程对其进行修复。不仅可以将应用程序分解成假设干独立的进程,而且可以应用程序分解成假设干独立的进程,而且可以另外启动一个监控进程,监视各进程运行状况,遇到异常情况时采取一些措施,可以将有问题的进程切掉。2.使用RTOS可以提高开发效率,缩短开发周期。一个复杂的应用程序,可以分解成多个任务。每个任务模块的调试、修改几乎不影响其它模块。致谢首先感谢樊老师。在本科毕业设计阶段,樊老师对我的学习,课题研究和毕业论文写作给于了极大的关心,指导和帮助,并为我的整个毕业设计提供了良好的学习环境和实践时机。在他的悉心指导下,我的科研能力和技术水平得到了显著提高,为我走向社会和进行研究工作打下了坚实的根底。樊感谢师哥师姐们,他们在课题研究的过程中给了我极大的帮助。还要感谢我的父母,感谢他们对我的最无私、最深切的关心和支持。在此,向所有给我的学习和生活带来帮助的老师和同学一并表示衷心的感谢。参考文献[1]李小将、樊天晴,嵌入式系统在信息家电中的应用[J],计算机l程,2002年4月,25-26。[2]许俊、许客平,在51系列单片机上实现非抢先式消息驱动机制的RTOS,单片机与嵌入式系统应用,2001年第5期,11-14。[3]彭克荣,电梯技术的现状及开展趋势[J],建筑机械化,2001.2,10-15。[4]何小庆,嵌入式实时操作系统的现状和未来仁[J],单片机与嵌入式系统应用,2001年第3期,5-9。[5]梁合庆,今日的嵌入式系统[J],浙江人学学报(增刊),1998,3-8。[24]雷航,面向实时系统的软件可靠性评价技术的研究(博士学位论文)[J],电子科技大学,1997,5-90。[6]屠祈、屠立德,操作系统根底[M],清华人学出版社,2000,6-56。[7]王涛、张伟良,嵌入式实时系统及其在通信系统中的应用[J],电子技术应用,2002年第6期,5-8。[8]蒋书波、张焕春,实时操作系统用于嵌入式应用系统的设计[J],电测与仪表,2001年第8期,18-22。[9]司栋森,嵌入式控制系统的可靠性设计[J],白动化仪表,第22卷第11期,2001年1月,6-8。[10]蔡建平,关于嵌入式应用开发技术[J],单片机与嵌入式系统应用,2001年第3期,26-31。[11]王洪荣、全书海、昊格、柯跃,DSP的SP工口与串行EEPR伽在电梯控制系统中的应用,中国电梯,2004年第7期,16-19。[12]窦振中,嵌入式系统设计方法的演化—从单片机到单片系统[J],单片机与嵌入式系统应用,2001年第2期,23-26。[13]唐寅,实时操作系统应用开发指南[M],电子[业出版社],2002,8-26。[14]孔祥营柏桂枝编著,嵌入式实时操作系统Vxworks及其开发环境Tornad。[M],中国电力出版社,2001年第11期,7-11。[15]马忠梅,嵌入式应用设计模式[J],单片机与嵌入式系统应用,2001年第1期,6-9。[16]楚育军、刘守印,利用实时内核开发嵌入式多任务程序[J],单片机与嵌入式系统应用,2001年第6期,3-8。[17][美]JEANLABROSSE,邵贝贝译,协μC/OS—Ⅱ:源码公开的嵌入式实时操作系统[M],中国电力出版社,2001,10-46。[18]邓世伟,嵌入式软件的测试方法,单片机与嵌入式系统应用,2001年第4期,18-21。[19]邓勇全、刘玉良、谭文虎、李玲远,实时操作系统μC/OS—Ⅱ在ADSP218x上的移植[J],单片机与嵌入式系统应用,2002年第9期,15-18。[20]陈丽蓉、熊光泽、雷航、郭兵,嵌入式软件系统的实时型设计[J],单片机与嵌入式系统应用,2001年第3期,27-29。[21]梁合庆,今日的嵌入式系统[J],浙江人学学报(增刊),1998,3-8。[24]雷航,面向实时系统的软件可靠性评价技术的研究(博士学位论文)[J],电子科技大学,1997,5-90。附录1变频器作为当代高科技产品,具有高效、节能和智能自动化的特点,长期以来一直受到国内外科技界、产业界的密切关注,已得到高速开展,广泛应用于各行各业。变频器之所以受人瞩目,是因为它能根据负载的变化使电机实现自动、平滑的增速或减速,同时具有效率高、范围宽、精度高及无级调速的优点,是交流电机最理想的调速方法。从20世纪60年代后期开始,电力电子器件从SCR〔晶闸管〕、GTO〔门极可关断晶闸管〕、BJT〔双极型功率晶体管〕、MOSFET〔金属氧化物场效应管〕、SIT〔静电感应晶体管〕、SITH〔静电感应晶闸管〕、MGT〔MOS控制晶体管〕、MCT〔MOS控制晶闸管〕开展到今天的IGBT〔绝缘栅双极型晶体管〕、HVIGBT〔耐高压绝缘栅双极型晶体管〕、IGCT〔集成门极换流晶闸管〕,器件的更新换代促使电力电子技术不断开展[2~4]。从开展趋势来看[5],GTO将逐渐过时,较低功率被IGBT取代,较大功率被IGCT取代。IGBT自1983年问世以后开展的非常快,目前市场化器件已高达3500V,1200A,以IGBT为核心的智能功率模块〔IPM〕内部集成了驱动保护电路,其容量到达1200V,800A。IGBT能够高速开关,载波频率最大可达20KHz,降低了输出电流脉动,可近似于正弦波平滑调速;导通关断时间缩短,使得死区时间减少,提高了电流控制性能;饱和电压和损耗减小,因而可以大幅度缩小变频器的体积。从20世纪70年代开始,脉宽调制变压变频〔PWM-VVVF〕调速研究引起了人们的高度重视。该方法将不可控整流和PWM逆变技术结合,组成交-直-交变频装置:不可控整流器使电网功率因数与逆变器输出电压无关而接近1;逆变器同时实现调压调频,与中间直流环节无关,能够抑制或消除低次谐波、降低电机转矩脉动、扩展调速范围、提高系统性能。20世纪80年代后期,美、日、德等兴旺国家的VVVF变频器已经开始投入市场并广泛应用。但这种控制方式是从交流电机稳态等效电路和稳态转矩公式推导出的稳态控制规律,完全不考虑过渡过程,做出很多假设,忽略较多因素,这就使得理论分析和实际效果相差很大。例如在低频时,由于输出电压较小,受定子电阻压降的影响比拟显著,故造成输出转矩减小;另外,其机械特性终究没有直流电动机硬,动态转矩能力和静态调速性能都还不尽如人意。因此,许多专家学者致力于新的交流调速方案的研究。矢量控制是1971年由德国Blaschke等人提出的,该理论从异步电机多变量、强耦合、非线性的实际特点出发,以转子磁通这一旋转的空间矢量为参考坐标系,利用坐标变化把电机定子电流分解为励磁电流分量和转矩电流分量。通过这种方法建立的交流电机模型可以等效为直流电机进行快速的转矩和磁通控制。随后,德国西门子公司、日本安川及三菱公司、美国罗克韦尔公司纷纷推出了矢量控制变频器。国外变频器之所以能高速开展,主要有如下因素:(1)市场需求;(2)功率器件的开展;(3)控制理论和微电子技术的开展:包括矢量控制、磁通控制、转矩控制、模糊控制等新的控制理论为高性能的变频器提供了理论根底;同时,数字信号处理器〔DSP〕和特定专用集成电路〔ASIC〕技术的高速开展,为实现变频器高精度和多功能化提供了可靠硬件,并进一步扩大了变频器的应用领域;(4)根底工业和各种制造业的高度兴旺,变频器各相关配套部件的社会化、专业化生产,为变频器的整体性能和质量提供了保证。90年代,随着中国国内各行业节能环保意识的加强,变频器的应用越来越普及,在空调、电梯、冶金、机械、电子、石化、造纸、纺织等行业有十分广阔的应用空间。近几年来国内变频器市场每年增长都在15%以上。就功率来区分变频器市场,大致可分为大、中、小三个领域,从产品容量来看,大功率占市场份额的5%~10%,中小功率占90%~95%。其中220kW以上的变频器根本由德国西门子,法国施耐德,美国AB、GE、罗克韦尔,瑞典ABB等企业垄断;而中小容量的85%为日本产品占领,如富士、安川、三垦、日立、东芝、三菱、松下等产品。国内生产厂家开展速度也比拟快,通过几年的努力,在国内变频器市场逐渐占有了一席之地,较知名的有深圳艾默生〔原华为安圣〕、普传、安邦信、四川佳灵、森兰、烟台惠丰、南京耐特等。虽然国内变频器厂家在产品的科研开发、工艺设计、加工制造能力等方面有了长足进步,但与国外大公司比,还有较大差距。目前国产变频器主要是低压〔400V〕小容量〔315kW以内〕产品,而对功能先进〔含矢量控制、直接转矩控制〕、高电压〔3000V以上〕、大容量〔1000kW以上〕变频器,尚处于研制阶段。而且,变频器核心部件——半导体功率器件的生产几乎是空白,不得不依靠进口。随着控制理论和制造工艺的进一步开展,变频器的应用将朝着以下方向开展:(1)矩阵式变频器矩阵式交-交变频省去了中间直流环节,从而省去了体积大、价格贵的电解电容。它能实现功率因数为l,输入电流为正弦且能四象限运行,系统的功率密度大,并能实现轻量化和长寿命运行。矩阵变频器也可以有效地进行输入电源电流控制与输出电压控制。另外在再生制动方式的工作中,矩阵变频器不需要制动电阻或特殊的变换器。(2)网络化配置变频器网络化配置的变频器具有以下显著特点:1)高精度的频率设定;2)远程控制与工厂信息化的根本要素;3)远程诊断系统。通过网络设定频率是一种高精度的频率设定,具有通讯速率高,稳定可靠,接线简单等优点,不需要转换,没有误差。变频器经常被用于系统复杂、工作环境恶劣、高负荷、长时间运行的工况中,有必要对其实现在线工作状态的监测以及常规故障机理的综合分析研究,以便对其故障事先诊断分析。采用通讯方式,可以通过PC机来方便地进行组态和系统维护。(3)无速度传感器矢量控制变频器在矢量控制变频器中,转速闭环控制环节必不可少,通常是采用光电编码器等速度传感器进行转速检测,但因此给调速系统带来一些缺陷:系统硬件本钱大大增加;光电编码器与电机轴之间存在同心度问题,安装不当影响精度;增加转子轴上的转动惯量,加大电机体积,给电机维护带来困难,降低系统鲁棒性;环境适应性不强。因此无速度传感器变频器的研究成为热点。1983年Joetten首次将无速度传感器理论应用于矢量控制,其后国内外掀起了一股研究热潮,提出了很多方法:基于电机电磁关系的动态转速估计器、基于电机特殊特性分析的凸极跟踪法、各种观测器估计法、基于智能控制的估算法。(4)永磁同步电动机变频器同步电动机已成为交流可调传动中的一颗新星,特别是正弦波永磁同步电动机〔PMSM〕。采用同步电机可以大大降低电机尺寸,输出高效率转矩。由于PMSM转子磁场的方向与转子位置一致,所以按转子磁链定向矢量控制实现比异步电机简单,适合矢量控制变频器。在电梯系统中要处理的信号多而复杂,所以在设计上必须仔细考虑对信号快速准确的处理问题,采用许多先进驱动和控制技术就很有必要,其中包括矢量控制技术、DSP技术和采用新型大功率器件BIGT的高性能变频器。变频器对电梯的起动、加速、稳定运行和制动减速起着控制作用,变频器的性能直接影响电梯起动和制动的加减速、平层精度和乘坐的舒适性等指标。电梯专用变频器一般有以下的几点要求:(1)考虑到乘客的舒适性,电梯运行曲

温馨提示

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

评论

0/150

提交评论