1、湖 南 文 理 学 院课 程 设 计 报 告课程名称: 嵌 入 式 系 统 课 程 设 计专业班级: 自动化 11101 班 (37 号) 学生姓名: 何 能 灿 指导教师: 杨 智 完成时间: 2014 年 6 月 4 日 报告成绩: 湖南文理学院评阅意见:评阅教师 日期 目 录一、设计题目 1二、设计要求 1三、设计作用与目的 1四、所用设备及软件 2五、系统设计方案 25.1电梯控制系统总体结构设计 .25.2电梯主控制器的功能设计 .35.2.1 正常运行 45.2.2 检修 45.2.3 消防 45.2.4 故障检测 45.2.5 系统监控 5六、系统硬件设计 56.1 芯片 DSP
2、56F8025MFBE 56.2 控制器组成框图 .66.3 控制器的模块单元功能介绍 .76.3.1 整流滤波单元 .76.3.2 电机速度及转子位置检测单元 .86.3.3 逆变单元 .86.3.4 控制电路电源模块 .96.3.5 低电压复位模块 .106.3.6 电流检测模块 116.3.7 故障报警模块 126.3.8 编程与仿真接口 12七、系统软件设计 .137.1 嵌入式实时操作系统 137.1.1 嵌入式实时操作系统概 念 .137.1.2 嵌入式实时操作系统的开发方式 .137.1.3 嵌入式实时操作系统内核 .147.2 C/OS 实现对智能电梯控制系统的管理 147.2
3、.1 主程序流程 .147.2.2 初始化模块 157.2.3 中断模块 167.2.4 开关量输入模块 177.2.5 故障处理模块 187.2.6 正常工作模块 197.2.7 检修工作模块 207.2.8 消防状态工作模块 207.2.9 CAN总线接收的数据处理模块 .217.2.10 系统断电数据保存模块 .22八、结 论 .23心得体会 .24参考文献 251基于嵌入式微控制器的智能电梯设计一、设计题目嵌入式系统在智能电梯中的应用研究二、设计要求本文设计了一种基于嵌入式系统的智能电梯系统,本系统包硬件设计方案与软件设计方案两大部分,其中硬件设计方案部分包括了各个模块的电路图以及原理
4、介绍,软件部分包括了控制程序流程图,本系统具有以下优点(1) 可以实现无触点逻辑线路,提高系统可靠性,降低维修费用,提高产品质量。(2) 可以实现故障显示,使得维修方便,减少故障时间,提高运行率,而且调速灵活,提高电梯的舒适感。(3) 便于实现电梯群控系统的管理,合理调配电梯,提高电梯运行效率,节约能源,缩短候梯时间。三、设计作用与目的传统的电梯控制系统各楼层与控制器之间采用以 PLC为控制核心的点对点的连接方式,每个呼叫器都有一套数据线与主控器相连,当电梯楼层数比较多时,系统就会有大量的数据线需要连接,使得电梯的安装、维护比较麻烦。特别是不同楼层数的控制系统需要有相应输入输出点数的主控制器相
5、匹配,通用性差,给生产带来许多不便。并且目前国内的电梯控制系统还是以 PLC和 8位单片机为主,软件编程采用的还是以无嵌入式实时操作系统的单任务循环的前后台编程方式,使得电梯控制系统的实时性、稳定性和软件编程的灵活性已不能满足电梯系统功能和速度的要求。本论文设计的智能电梯系统在硬件上采用嵌入式微处理器作为控制核心,以现场总线作为通讯总线,各控制器之间只需一对双绞线通过网络拓扑结构连接即可,安装极为方便,对于不同楼层数的控制系统只需在现场总线中加入相应数目的呼梯控制器即可,主控器硬件软件不需做任何改动。使得电梯控制系统安装更加灵活,方便。而在软件上,2随着各种高速、高集成的嵌入式处理器的飞速发展
6、,包括嵌入式数字信号处理器(DSP)在内的嵌入式处理器广泛应用于工业控制系统,其中 TMS32OCZooo系列 DSP的体系结构专为实时控制和实时信号处理而设计,所配置的片内外设为电梯控制系统应用提供了理想的解决方案。本设计使得电梯控制系统体积减小,成本降低,节省能源,可靠性提高,通用性强,灵活性答,实现了复杂功能。不但可以装配用于新的电梯产品,还可以用来改造旧电梯控制系统,并能取得良好的经济效益和社会效益。四、所用设备及软件本设计除了需要计算机,还会用到作图软件 Protel99SE、仿真软件 Proteus、编程软件 Keil uVision4并重点运用嵌入式实时操作系统 C/OS。五、系
7、统设计方案电梯控制系统是一个相当复杂的逻辑控制系统,系统要在极短的时间内对几百个信号进行检测、处理,加上系统对安全性能要求较高,使得电梯的控制和管理相当复杂,现有国内的电梯控制系统大多数采用 PLC作为电梯的控制核心,对每层楼进行点对点控制,进一步加大了电梯的复杂性,给电梯的安装、调试、以及扩展带来了许多麻烦。随着计算机硬件、软件技术和集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大的进步,突出表现为嵌入式微处理器和嵌入式微控制器技术在控制系统中的大量运用。而电梯控制系统中主控制器不仅要完成复杂的逻辑控制、还要实现数据通讯、数据处理、安全监测及实时
8、响应的功能,根据电梯主控制器的特点,对智能电梯控制系统主控制器进行了设计5.1电梯控制系统总体结构设计电梯控制系统总体结构,如图 2-1所示。3主 梯 控 制 器呼 梯 控 制 器 1呼 梯 控 制 器 M液 晶 显 示 及键 盘 控 制 器轿 厢 控 制 器CAN总线网络呼 梯 控 制 器 N呼 梯 控 制 器 2R S 4 8 5总线网络图 2-1电梯控制系统结构图5.2电梯主控制器的功能设计主控制器是整个电梯的核心。不但要保证整个系统的稳定运行,而且要在极短的时间内对系统所有的任务进行响应。其任务包括:接收、处理电梯的各种状态,并做出相应的动作,控制电梯的总体运行,实施对电梯驱动部分的控
9、制,包括抱闸的松放、门机的开关、变频器低、中、高速的给出等控制。接收轿厢控制器送来的内选信号,执行内选外呼指令,向轿厢控制器、呼梯控制器发送楼层指示信号,实施安全保护等。为了实现电梯状态监控的需要,主控制器还加入了基于 LCD显示的电梯参数设置、监控系统。电梯主控系统,是一个功能繁多,运行复杂的控制系统。电梯每一步运行都要考虑到各种安全问题。总的来说,系统按运行上来说可分为正常运行、非正常运行两大框架结构,按功能上又可分为开关门、上下运行等功能部分。另外,为了保证系统安全正常的运行,及时发现安全隐患,还要对整个系统的各种参数进行自身检测,并且把电梯的一些内部参数、内部状态通过液晶屏显示出来,以
10、便及时发现问题并进行报警。以下对电梯控制系统运行状态进行具体分析。电梯运行时,根据不同的情况,可分为正常运行、检修运行、消防运行等运行状态,要求各状态之间可随时互相转换。45.2.1. 正常运行电梯正常运行部分是电梯运行的主要部分,他占据了整个电梯运行的大部分运行时间,按运行状态来说大致可分为平层区状态和非平层区状态。(1) 平层区状态正常运行时,电梯一旦监测到平层区标志,就要进入平层区状态,根据呼叫计算,分别决定停车、等待还是继续运行。如果电梯到达运行目的楼层,系统进入停车模式。考虑到电梯的顺利停车和启动、乘客安全、机械部分的损坏等问题,系统必须按照一定的规则停车和启动。(2) 非平层区状态
11、非平层区状态相对于平层状态来说相对简单,主要完成电梯在运行途中系统通过 CAN总线与呼梯、轿厢的通信,提出登记楼层呼叫情况,并计算电梯运行目标楼层,决定电梯运行的速度和方向,以及计算即将到达的目的地是否停车等任务。5.2.2 检修检修状态是电梯控制系统中最基本的运行部分,是电梯安装、调试必不可少的状态。检修状态只包括电梯的几个最基本功能:开门、关门、上行、下行,在电梯初次安装、调试或出现故障时,调用最基本、最简单的运行功能,以便解决其它问题。5.2.3 消防电梯在运行时,如果有人把设置在系统基站的消防开关开启,电梯立刻进入消防状态。消防状态是电梯系统在楼层发生火灾的情况下,为了保护乘客的安全以
12、及方便消防人员救火救人而设置的一种功能状态。一般来说,消防状态可以分为消防保护阶段和消防再次运行阶段。(1)消防保护阶段电梯在正常运行时,如果有消防呼叫,系统即处于消防保护阶段。(2)再次运行阶段电梯完成消防保护阶段后,自动进入再次运行阶段,以便消防人员和急救人员紧急使用和临时使用电梯。5.2.4 故障检测对于电梯控制系统来说,其安全问题尤为重要。能够及时发现、解决系统的电子、机械问题,并显示相应的故障代码,指明故障情况,将对电梯故障的预防、故障出现后电梯的检修带了很大的帮助。一般来说,电梯控制系统中的故障包括控制电路的器件故5障,包括元件老化、失灵、损坏等情况,还有变频器运行故障,分布式控制
13、系统的串行通讯故障,门联锁、抱闸接触器、主接触器等机械故障等 9。5.2.5 系统监控为了准确掌握电梯内部参数、了解当前运行状况,本系统采用了基于 LCD液晶屏的电梯监控系统。操作人员可以通过上、下、左、右、ENTER、EXIT、RESET 共有七个操作键对监控系统进行操作,观察自动、检修、消防、电梯运行方向、当前速度、上、下限位等运行状态,还可以进入参数设置窗口,对电梯运行速度、换速脉冲、开关门时间、方向、速度等一系列参数进行设置。六、系统硬件设计本设计中电梯主控制器就是采用 DSP+CPLD的系统结构,基于 DSP技术和 CPLD技术有效结合的主导思想设计的主控制器,成功的应用在智能电梯控
14、制系统。数字信号处理器 DSP采用 DSP56F8025MFBE,如图 3-1所示,而复杂可编程逻辑器件 CPLD采用 Altera公司生产的 MAX7128S。6.1 芯片 DSP56F8025MFBE数字信号处理器(DSP)是一种适合于进行实时数字信号处理运算的微处理器,能够快速实时的完成数字信号处理、运算。全数字控制器以 DSP56F800系统为核心,其具有较好的通用性。本设计中,突出了控制器的高效性、通用性以及实用性。在全数字控制器的研制中,采用核心控制芯片为DSP56F8025MFBE。该 DSP芯片系列混合了 DSP 的高运算能力与 MCU 的控制特性于一体,提供了许多专用于电机控
15、制的外设接口,如 PWM 模块、ADC、 Timer、 SCI、 SPI 和CAN 总线等,非常适合于数字马达控制;同时,它还有通用型的 GPIO口,每条运算指令仅有 25ns的高速运算速度等,所有这些特性,为整个系统的控制提供了良好的外部控制环境。DSP56800内核包括三个并行工作的执行单元,在一个指令周期可以同时执行 6条指令。MCU 编程模式以及优化的指令集允许生成有效、紧凑的 DSP控制代码。DSP56800 的主要特点如下:(1)采用双哈佛结构,16 位 DSP处理器。(2)在内部时钟为 80M时,指令执行速度可达 40MIPS。(3)单周期 16位*16 位并行 MAC。6(4)
16、带扩展位的 2个 36位累加器。(5)16位双向循环移位器。(6)采用 DSP特有寻址模式的并行指令集。(7)硬件实现 DO和 REP循环。(8)三条内部地址总线和一条外部地址总线。(9)四条内部数据总线和一条外部数据总线。(10) 支持 DSP和控制器函数的指令集。(11) 控制器风格的寻址模式和指令。(12) 高效的 C编辑器,支持局部变量。(13) 只限制于存储器大小的子程序和中断堆栈。(14) JTAG/ONCE调试接口。图 6-1 DSP56F8025MFBE原理图6.2 控制器组成框图DSP56F8025MFBE具有数据处理速度快、工作特性稳定、集成化程度高的特性。系统采用了模块化
17、设计理念,组成框图如图 6-2所示。7D S P故 障 报 警 模 块控 制 电 路 电 源 模 块光 电 码 盘电 流 采 样滤 波 整 流 单 元电 机编 程 仿 真 接 口看 门 狗 模 块上 电 复 位 模 块逆 变 单 元P W M 输 出S P W M 驱 动 电 机三 相 交 流3 8 0 V图 6-2主控制器结构框图由上图可知,设计中采用交-直-交型变频电路,包括由不可控二极管和电容矩阵组成的滤波整流单元和逆变单元。控制电路部分以DSP为核心组成全数字控制系统,其中包括控制电路电源模块、上电复位模块、看门狗模块、光电码盘、电流采样及故障报警等模块。本系统是一个有速度反馈的闭环系
18、统,DSP接受电机的转速及转子的位置信号,电机电流信号,通过数字算法输出SPWM,控制电机。同时DSP还负责监控系统运行的状态,当系统出现,过压,过流,短路等故障时,DSP将停止系统工作,发出声光报警 12。6.3 控制器的模块单元功能介绍6.3.1 整流滤波单元380V的交流电压经 6个不可控的二极管全波整流后变为直流后再经电解电容进行滤波,同时为负载的直流电源之间的无功功率进行缓冲。如图 6-3所示。图 6-3 整流滤波单元8当变频器刚合上电源的瞬间由电容组成的滤波电路充电电流较大,过大的冲击电流极易损坏电源的整流模块,因此为保护整流桥在变频器刚接通电源的一段时间里电路串联一个限流电阻,使
19、瞬间的充电电流被限制在允许的范围内。当电源电压达到稳定后,通过电阻分压的方式使光耦导通,继电器线圈得电,闭合短路限流电阻,从而降低系统能量损耗。6.3.2 电机速度及转子位置检测单元系统使用光电码盘检测电机的速度及转子的位置信息反馈给 DSP,DSP 再通过相应的算法控制电机的运行。如图 6-4所示,为光电码盘与 DSP之间的接口电路。图 6-4光电码盘接口电路6.3.3 逆变单元系统选用 freescale公司的 MC33395作为逆变单元的驱动芯片,按 DSP输入的不同模式控制 6个功率开关的导通与关闭,实现对电机的 SPWM调节。如图 6-5所示。在工作过程中,当 MC33395检测到过
20、电流或过电压时可以通过 VT2关闭供电,从而禁止了 SPWM的输出,保护系统安全。9图 6-5 逆变单元6.3.4 控制电路电源模块系统的控制回路电压可以通过外接220V生活电压的方式给定。当电梯启动时,VT1导通,Q1导通,经过变压器变压整流桥整流的输入电压被接入,首先经过78S12后输出稳定的12V电压,接着经过LM2940T-5.0后输出稳定的5V电压,最后经过NCV1117-3.3输出稳定的3.3V电压,连续使用3块串行稳压电源为控制电路提供不同的供电电压,以满足使用要求。如图6-6,6-7,6-8,6-9所示。图 6-6 启动开关及变压整流模块10图 6-7 +12V电源模块图 6-
21、8 +5V电源模块图 6-9 +3.3V电源模块如图6-10所示,在电压接入78L12 +12稳压模块之前,回路中还加入了由R6和D4组成的顺压保护电路,其中R6作为限流电阻防止D4被过强的释能电流烧穿。D4为TVS管即瞬态稳压二极管,当输入的电压过高时,TVS会瞬时导通将过高的能量释放,同时将输出电压限制在安全范围内,从而有效的防止了12V稳压块因瞬间过压烧毁,提高控制器的可靠性。11图 6-10 瞬压保护电路6.3.5 低电压复位模块在系统上断电过程中电源部分可能出现过电压过低的情况,此时DSP可能在非正常电压工作时产生错误,为防止类似情形产生,系统中加入低电压压复位模块。因为DSP供电电
22、压为3.3V,所以选用CAT809S作为复位芯片。如图6-11所示。CAT809S的复位电压为2.93V,当DSP供电电压低于此值时,CAT809S将发出RESET信号,复位DSP。图 3-11 低电压复位模块6.3.6 电流检测模块电流检测模块用于检测这个系统运行过程中的电流情况。系统可以根据电流情况调整电机的速度,电梯内风扇的开关,还可以有效的防止过电流的发生,保障系统安全。如图6-12所示。电流检测模块采用正向运算放大器组成的电压放大电路,输入端的电压被滤波并放大11倍后送入DSP的AD采样通道,DSP将实际中的模拟量通过AD模块转换成相应的数字量,最后通过计算,判断获得希望的控制模式。
23、由于DSP的管脚耐压值有限,电压经运算放大器放大后,可能超出正常范围,所以在DSP的管脚输入端接有二极管限幅电路,使得当DSP管脚处电压输入过大时被有效的限制在允许的范围内。12图 6-12 电流检测模块6.3.7 故障报警模块当系统出项故障时,DSP在完成系统停机保护的同时,输出GPIO端口将发出高电平,Q2三极管导通,故障灯与响铃同时得电,发出声光报警提示用户。如图6-13所示。图 6-13 故障报警模块6.3.8 编程与仿真接口可以通过串行接口RS232进行通讯及仿真,方便了嵌入式程序的编辑与调试。如图6-14所示。13图 6-14 编程及仿真接口七、系统软件设计7.1嵌入式实时操作系统
24、7.1.1. 嵌入式实时操作系统概念嵌入式实时操作系统(Embedded RealTime Operating System)是一种实时的、支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源。能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来,能够提供库函数、驱动程序、工具集以及应用程序。嵌入式实时操作系统负责嵌入系统的全部软、硬件资源的分配、调度作业,控制、协调并发活动,
25、它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。7.1.2 嵌入式实时操作系统的开发方式由于嵌入式应用软件的特殊性,往往要求应用程序设计者具有一定的实时操作系统的专门知识,能合理地划分任务,合理地配置系统以及目标联机的调试。因此,要设计实现一个高性能的实时应用软件,需有强有力的交叉开发工具系统的支持。开发平台称为宿主机,应用系统称作目标机。宿主机与目标机可采用相同或不相同的机型.。这种不同机型的开发平台又称作交叉式开发系统.显然,在这种独立的实时软件开发系统上,应配备完整的实时软件开发的工具,如高级语言、在线调试器和在线仿真器等。宿主机和14目标机之间通过网络、串口或其
26、它方式相连,一般来说这个网络和串口是目标机的一部分,要占用目标机用户的部分资源,用户必须给操作系统提供相应的驱动程序。在进行应用软件调试之前必须要保证目标机的硬件系统能够正常运行,宿主机的应用程序代码可以下载到目标机中去,而且有关设备的驱动程序需调试正确。因此,嵌入式实时软件开发过程较为复杂。RTOS对于开发单位和开发者个人来说也是一种提高。引入 RTOS的开发单位,相当于引入了一套行业中广泛采用的嵌入式系统应用程序开发标准,使开发管理更简易、有效。基于 RTOS和 C语言的开发,具有良好的可继承性,在应用程序、处理器升级以及更换处理器类型时,现存的软件大部分可以不经修改地移植过来(据专家预测
27、,优秀 RTOS上跨处理器平台的程序移植只需要修改 l-4%的内容)。对于开发人员来说,则相当于在程序设计中采用一种标准化的思维方式,提高知识创造的效率。同时因为具有类似的思路,可以更快地理解同行其它人员的创造成果。7.1.3 嵌入式实时操作系统内核嵌入式实时操作系统中最关键的部分是实时多任务内核。它主要实现任务管理、定时器管理、存储器管理、任务间通信与同步、中断管理等功能。如何实现一个效率高,体积小,移植功能强大,易于定制的实时操作系统内核是开发嵌入式操作系统的关键问题7.2 C/OS实现对智能电梯控制系统的管理主控制器在硬件设计上要求嵌入式微处理器及外围逻辑、驱动和接口电路具有快速处理、高
28、度集成和抗干扰的性能。在软件设计上原来采用的“前后台系统”的编程方式实时性较差,对那些实时性要求高的任务不可能立刻得到处理,最坏情况下的任务的响应时间取决于整个后台循环的执行时间,因为循环一圈的执行时间不是常数,程序经过某一点的准确时间也就不能确定。程序修改了,循环时序也会受影响。而且在流程的任何一处因某种意外不能正常工作,整个系统就会“死机”。考虑到这些情况,有必要在电梯控制系统中引入嵌入式实时操作系统作为软件开发平台,本文选用的嵌入式实时操作系统是源码公开、成熟的协 C/OS。在电梯控制系统中使用嵌入式实时操作系统协 C/OS,可以将应用程序分解成多任务,简化了应用系统软件的设计。使得电梯
29、控制系统的实时性得到保证,而且良好的多任务设计,有助于提高系统的稳定性与可靠性。下面将介绍电梯主控制器各个功能模块15及如何采用 C/OS对各个功能模块的管理。7.2.1 主程序流程电梯控制系统控制策略与方法以流程图表示,如图 7-1所示。开 始控 制 器 内 部 功 能 和 操 作 系 统 初始 化任 务 间 及 任 务 与 中 断 间 信 息 的传 递 的 消 息 邮 箱 的 建 立开 关 量 输 入 及 处 理 任 务 的 建 立正 常 工 作 任 务 的 建 立检 修 任 务 的 建 立故 障 处 理 任 务 的 建 立S C I 总 线 数 据 处 理 任 务 的 建 立系 统 断
30、电 数 据 保 存 任 务 的 建 立软 件 定 时 器 任 务 的 建 立电 梯 控 制 模 块 启 动图 7-1电梯控制系统主程序流程图7.2.2 初始化模块初始化模块是电梯控制系统初始运行部分,负责初始化系统的各种参数,根据情况把电梯设置成一种初始上电运行状态。初始化模块包括:(1) DSP系统初始化函数 SYS_INIT()。完成 DSP系统的配置寄存器和接口模块时钟控制。主要包括系统控制和状态寄存器、中断优先级和中断向量表、外设中断扩展控制器、中断向量、CPU 中断寄存器、外设中断寄存器等。(2) 定时器初始化函数 EVB_init()。DSP 有四个通用定时器,选择定时器 3做为整
31、个软件程序定时的基准。完成定时器内外时钟的选择,设置可编程定标器的初值,选择计数时钟频率,计数模式等,并向操作系统时钟节拍函数 OSTimeTick()提供基本计时单位。完成初始化各个定时标志的初始化的工作。(3) 光电编码器初始化函数 EVA_init()。选择定时器 2作为光电编码器输入脉冲处理的基本时钟信号。完成正交编码信号计数模式,计数方向等。16(4) I/O初始化函数 I几 init()。在电梯上电的的初始状态,系统的 I/O状态是随机的,这样对电梯造成的极大的危险。I/O 初始化主要是根据初始情况设置 I/O口的输入输出状态,是电梯达到一个比较稳定、安全的状态。(5) 复杂可编程
32、逻辑器件(CPLD)接口初始化函数 Cpld_Init()。数字信号处理器(DSP)通过数据总线向 CPLD输出初始状态数据,完成 CPLD初始化。(6) CAN控制器的初始化 CAN_init()。对 DSp320LF2407中的 CAN控制段中的寄存器进行初始化,设置 CAN控制器的波特率、各个邮箱的功,接收屏蔽码等。(7) 串行通信接口初始化函数 SCI_init()。主控制器与液晶显示模块采用串行通信接口进行通讯。完成串行通信口可编程的数据格式、波特率的设置等。(8) 串行外设接口初始化函数 SPI_init()。主控制器采用串行外设接口 (SPI)对串行 EEPR伽管理,用于系统断电
33、后非易失数据保存。初始化函数完成完成串行外设接口可编程的数据格式、波特率的设置等。内存初始化函数 Meomory_Init()。完成内存中变量及标志的初始化。(9) 嵌入式实时操作系统 C/OS操作系统初始化函数 OSinit()。完成初始C/OS所有变量和数据结构 20。7.2.3 中断模块电梯控制系统中断模块包括两部分:定时器模块和 CAN总线数据接收模块。操作系统在中断服务程序中所用到函数包括:中断开始函数 OSIntEnter(),时钟节拍函数 OSTimeTiek(),退出中断函数 OSIntExit()。1) 定时器模块采用中断3, 函数是c_int2()void c_int2()
34、if(PIVR=0x002F) / 是否定时器10MS unsigned int Tint = 0 / 定义局部变量Tint*OSIntEnter(); / 通知内核开始中断服务OSTimeTick(); /10MS 一个时钟节拍中断服务子程序17OSMboxPos t(TimerMbox,(void*) / 发送定时时间消息到软件定时器OSIntExit(); / 退出中断 asm(CLRC INTM); / 开中断2)CAN 总线数据接收模块采用中断5, 函数是c_int5()。void c_int5()if(PIVR=0x0040)unsigned int CANint =0; /定义局
35、部变量OSIntEnter ();/ 通知内核开始中断服务呼梯或是轿厢发送的数据的ID 号判断.中断服务子程序.OSMboxPos t (CANREMbox,(void*)/ 发送CAN 总线接收到的数据消息到CAN 接收数据处理函数Can_Receive ()OSIntExit (); / 退出中断asm ( CLRC INTM);/开中断7.2.4 开关量输入模块开关量输入模块功能是完成读取开关量控制指令及电梯状态值,并进行数据转换,便于其他函数调用。采用操作系统 C/OS创建开关量输入模块任务如下:OSTaskCreate(IO_RECEIVETask,(void*)O,(void*)
36、/*采用任务挂起方式先将任务置于挂起态*/读入开关量信号输入值及数据转换用户代码;根据输入信号确定正常、检修和消防那种任务恢复就绪态。if(检修状态有效)OSIntTaskResume(5):/*检修任务恢复就绪态*/7.2.5 故障处理模块电梯控制系统的故障状态处理模块主要完成电梯处于故障状态时的运行控制。采用操作系统 C/OS创建故障处理模块任务如下:OSTaskCreate(Ctr_TroubleTask,(void*)0,(void*)19/*读取返回值,根据邮箱返回的值执行相应的功能*/if(troublesign=?)故障处理子程序 1.故障处理其它子程序.7.2.6 正常工作模块
37、电梯控制系统正常工作模块主要完成:(1) 电梯正常运行过程中的呼叫提取、呼叫计算、根据呼叫计算结果确定电梯运行目标楼层.(2) 启动电梯运行包括:主继电器控制、给定方向、松闸和给定速度。(3) 停止电梯运行包括:主继电器控制、撤速度、抱闸和撤方向。(4) 开关门控制逻辑处理。采用操作系统 C/OS创建电梯正常运行模块任务如下:OSTaskCreate(CtrjormalTask,(void*)0,(void*)/*采用任务挂起方式将任务先置于挂起态*/正常运行各部分子程序7.2.7 检修工作模块电梯控制系统的检修模块主要完成工作人员在对电梯调试、维护时的运行控制。采用操作系统协 C/OS创建开
38、关量输入模块任务如下:OSTaskCreate(Ctr_ExamTask,(void*)O,(void*)/*采用任务挂起方式将任务先置于挂起态*/检修状态下开、关门和上、下行处理程序7.2.8 消防状态工作模块电梯控制系统的消防状态工作模块主要完成电梯处于消防报警状态时的运行控制21。采用操作系统林 C/OS创建开关量输入模块任务如下:OSTaskCreate(Ctr_FireTask,(void*)O,(void*)/*采用任务挂起方式将任务先置于挂起态*/消防状态运行控制程序7.2.9 CAN总线接收的数据处理模块电梯控制系统的 CAN总线接收的数据处理模块主要完成电梯主控制器从轿厢控制
39、器、呼梯控制器接收的数据的处理。采用操作系统 C/OS创建故障处理模块任务如下:OSTaskCreate(Ctr_CanRxTask,(void*)0,(void*)/*采用任务挂起方式将任务先置于挂起态*/系统断电数据非易失保存程序23八、结 论本设计是以嵌入式实时操作系统在智能电梯控制系统中的应用为背景的,以优化系统结构、合理分配任务和提高系统的可靠性为目的,引入了嵌入式的实时操作系统C/OS,实现了 C/OS作为开发平台的智能电梯单梯控制系统的设计。本设计中电梯主控制器硬件上采用数字信号处理器 DSP56 F8025MFBE与可编程器件 MAX7128S相结合的一种高性能的结构。同时软件
40、上采用嵌入式实时操作系统抖 C/OS实现多任务管理、中断管理、定时器管理和任务间的通信与同步,这种设计方案具有的特点如下:1提高了系统的实时性和可靠性在嵌入式系统中使用 RTOS的最主要的原因是提高系统的实时性和可靠性。尤其是系统“不死机”是基本的要求。在硬件设计上主控制器采用数字信号处理器 DSP可以使系统具有高速数据处理能力,有力提高了系统实时性。而系统采用复杂可编程逻辑器件 CPLD可以具有静态可重复编程和动态在系统重构的特性,使得硬件设计像软件一样通过编程来修改,这样就极大的提高了电子系统设计的灵活性和通用性,同时也实现了控制系统得微型化。在可靠性方面,硬件设计上尽量提高抗干扰能力,满
41、足电磁兼容性要求只是一方面,另一方面就是在软件上采取得措施。长期以来,国内传统的开发的方式是:针对某一应用,画程序流程图、编制应用程序。这种程序可以称之为线性程序。在遇到强干扰时,程序在任何一处产生死循环或破坏都会引起死机,受到强干扰时只能依靠硬件的最后防线一看门狗复位,重新启动系统。而对于 RTOS管理的系统,这种干扰可能只是引起若干进程中的一个被破坏,可以用另外的进程对其进行修复。不仅可以将应用程序分解成若干独立的进程,而且可以应用程序分解成若干独立的进程,而且可以另外启动一个监控进程,监视各进程运行状况,遇到异常情况时采取一些措施,可以将有问题的进程切掉。2使用 RTOS可以提高开发效率
42、,缩短开发周期。一个复杂的应用程序,可以分解成多个任务。每个任务模块的调试、修改几乎不影响其它模块24心得体会首先感谢杨老师。在课程设计阶段,杨老师对我的学习,课题研究和设计论文写作给于了极大的关心,指导和帮助,并为我的整个课程设计提供了良好的学习环境和实践机会。然后通过这次课程设计使我明白了自己专业知识还很欠缺。自己要学习的东西还很多,以前老是觉得自己什么东西都会,什么东西都容易懂,有点眼高手低。通过这次课程设计,我才明白有些东西自己想与自己去做事两码事。不过这也,这也激发了我学习的动力和兴趣,当然学习无止境,这些知识、这些收获还是远远不够的,在今后的学习与课余中我将继续努力学习专业知识,为
43、以后工作打下坚实的基础。25参考文献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。11 王洪荣、全书海、昊格、柯跃,DSP 的 SP工口与串行 EEPR伽在电梯控制系统中的应用,中国电梯,2004 年第 7期,16-19。