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

下载本文档

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

文档简介

摘 要嵌入式实时系统作为计算机应用的一个崭新领域,以其简洁、高效等特点越来越多地受到人们的广泛关注。本文以嵌入式实时操作系统在一种基于CAN总线的分布式智能电梯控制系统中的应用为背景,以高性能的嵌入式微处理器为核心,采用嵌入式实时操作系统C/OS在各任务间优化地分配CPU时间和系统资源,简化了软件编程,保证了系统的实时性,提高了系统的可靠性。电梯控制系统硬件上采用嵌入式微处理器作为控制核心,以现场总线作为通讯总线,各控制器之间只需一对绞线通过网络拓扑结构连接即可,安装极为方便,对于不同的楼层数的控制系统只需在现场总线中加入相应数目的呼梯控制器即可,主控器硬件软件不需做任何改动。使得电梯控制系统安装更加灵活、方便。本设计重点讨论了电梯变频驱动部分的电路设计,及应用嵌入式实时操作系统C/OS的系统程序设计。关键词 智能电梯控制系统 DSP 嵌入式系统AbstractReal-time embedded systems, as computer application of a new area, with its simple, efficient, and other characteristics are more and more peoples attention. This paper embedded in a real-time operating system based on CAN bus distributed intelligent elevator control system of the background, to high-performance embedded microprocessors as the core, using real-time operating system embedded in the C/OS Optimize the allocation of tasks between the CPU time and system resources, simplified software programming, and ensure the systems real-time and increase the reliability of the system.Lift control is adopt to implant the dyadic microprocessor on system hardware as controlling core, the highway is the communication highway with the scene, every requires a pair of stranded conductor to go to the lavatory extremely by the fact that network topology structure connection being ok , assembling between the controller , the ladder controller is ok, the master control implement hardware software bu xu makes any to breathing out that be unlike storey number navar requires to add the corresponding number in scene highway change. Feasible lift control system installation is more nimble , convenient.Design that the wiring design concentrating on having discussed that electric elevator frequency conversion drives a part moves originally, and apply real-time operating system embedded in the C/OSof system programming.Key words smart elevator control system DSP embedded systems目 录摘 要Abstract第1章 绪论11.1 引言11.2 智能电梯在国内外发展现状11.3 嵌入式系统2第2章 系统整体方案设计52.1 电梯控制系统控制策略、方法及总体结构设计52.1.1 电梯控制系统控制策略、方法52.1.2 电梯控制系统总体结构设计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.9 CAN总线接收的数据处理模块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 嵌入式系统嵌入式系统通常是面向特定应用的。然而,由于嵌入式系统的软件越来越复杂,需要一个高效率、高可靠性的、实时的底层操作系统软件来管理系统中的各个设备及任务。嵌入式系统(Bmbedded System)是以应用为中心和以计算机技术为基础的,并且软硬件是可裁减的,能满足应用系统对功能、成本、体积、功耗等指标的严格要求的专用计算机系统。它可以实现对其他设备的控制、监视和管理等功能。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于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公司生产的MAX7128S16。本章将以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的主要特点如下:(1) 采用双哈佛结构,16位DSP处理器。(2) 在内部时钟为80M时,指令执行速度可达40MIPS。(3) 单周期16位*16位并行MAC。(4) 带扩展位的2个36位累加器。(5) 16位双向循环移位器。(6) 采用DSP特有寻址模式的并行指令集。(7) 硬件实现DO和REP循环。(8) 三条内部地址总线和一条外部地址总线。(9) 四条内部数据总线和一条外部数据总线。(10) 支持DSP和控制器函数的指令集。(11) 控制器风格的寻址模式和指令。(12) 高效的C编辑器,支持局部变量。(13) 只限制于存储器大小的子程序和中断堆栈。(14) JTAG/ONCE调试接口。图3-1 DSP56F8025MFBE原理图3.2 控制器组成框图DSP56F8025MFBE具有数据处理速度快、工作特性稳定、集成化程度高的特性。系统采用了模块化设计理念,组成框图如图3-2所示。图3-2主控制器结构框图由上图可知,设计中采用交-直-交型变频电路,包括由不可控二极管和电容矩阵组成的滤波整流单元和逆变单元。控制电路部分以DSP为核心组成全数字控制系统,其中包括控制电路电源模块、上电复位模块、看门狗模块、光电码盘、电流采样及故障报警等模块。本系统是一个有速度反馈的闭环系统,DSP接受电机的转速及转子的位置信号,电机电流信号,通过数字算法输出SPWM,控制电机。同时DSP还负责监控系统运行的状态,当系统出现,过压,过流,短路等故障时,DSP将停止系统工作,发出声光报警12。3.3 控制器的模块单元功能介绍3.3.1 整流滤波单元380V的交流电压经6个不可控的二极管全波整流后变为直流后再经电解电容进行滤波,同时为负载的直流电源之间的无功功率进行缓冲。如图3-3所示。图 3-3 整流滤波单元当变频器刚合上电源的瞬间由电容组成的滤波电路充电电流较大,过大的冲击电流极易损坏电源的整流模块,因此为保护整流桥在变频器刚接通电源的一段时间里电路串联一个限流电阻,使瞬间的充电电流被限制在允许的范围内。当电源电压达到稳定后,通过电阻分压的方式使光耦导通,继电器线圈得电,闭合短路限流电阻,从而降低系统能量损耗。3.3.2 电机速度及转子位置检测单元系统使用光电码盘检测电机的速度及转子的位置信息反馈给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. 嵌入式实时操作系统概念嵌入式实时操作系统(Embedded RealTime Operating System)是一种实时的、支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源。能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来,能够提供库函数、驱动程序、工具集以及应用程序。嵌入式实时操作系统负责嵌入系统的全部软、硬件资源的分配、调度作业,控制、协调并发活动,它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能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有四个通用定时

温馨提示

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

评论

0/150

提交评论