分类:
2008-10-15 16:28:22
引 言
目前,我国对于大部分供电电力设备的监控和管理上基本还停留在人工巡查这种比较原始的管理方式下(例如铁路道口的信号电源),不但管理效率低下,而且供电质量和水平都得不到有效的保证。
本文以实时操作系统small RTOS51为基础,主要探讨了一个用于电力系统现场监控终端单元的设计过程,希望能够为提高配电自动化水平提供一些思路,尽一点微薄之力。
1.Small RTOS51多任务实时操作系统
Small RTOS51是一个源代码公开的多任务实时操作系统,它可以简化那些复杂而且对时间要求严格的工程软件设计工作。它具有公开源代码、可移植、可固化、占先式、中断管理及RAM 需求小等特点。
2.系统功能描述
本故障诊断终端主要应用在铁路道口信号灯电源的监控与管理,针对该故障诊断终端应用的具体场合,在设计时主要考虑以下几个方面:实用性,由于本故障诊断终端主要用于监控铁路道口信号电源的工作情况,所以以实用性为原则,一般情况下只要具有以下功能即可满足需要:远程检测、分合控制、远程开合控制、越限报警及故障录波;实时性,本故障诊断终端要求在信号电源的每个工频周期内(20毫秒)不间断的、均匀采集20个点离散数据,及时运算,发生故障时能够及时报警,以便及时进行处理,故对实时性有一定要求;可靠性,本故障诊断终端主要应用于各铁路道口,工作地点多为野外,工作环境十分恶劣,必须有足够的可靠性才能保证系统稳定运行。
3.系统硬件模块
系统从总体上分成主控模块,交流电信号输入及调理模块,人机接口模块,CAN总线通信模块以及开关量输入输出通道5大模块。系统的主控CPU选用Cygnal公司的C8051F040 SoC型单片机(以下简称040单片机)。系统液晶显示LCD采用长沙太阳人公司生产20×04字符型液晶显示模块。实时时钟模块经过综合比较,考虑到在设计中同时需要采用NVRAM和实时时钟,我们设计中选用了非易失性的时间管理RAM-DS1743,以提高系统的集成度,增加系统的可靠性。系统CAN总线驱动器在本设计中选用PHILIP公司生产的TJA1050T总线驱动器。
4. 实时操作系统的软件设计
根据系统实现的功能以及CygnalF040微处理器的特性,对系统进行任务分割,确定每个任务的优先级,并修改SmallRTOS51与硬件相关的部分内核代码。
4.1任务的划分
根据上述故障诊断终端所需实现的功能,划分系统为故障检测、采样计算、CAN总线通信、人机交互界面、容错设计等六个任务。实时内核SmallRTOS51提供任务调度、任务管理、任务间的通信、中断管理和内存管理等功能。
4.2任务的创建及调度
SmallRTOS51使用静态方法建立任务,节省RAM的开销,使得SmallRTOS51可以在小RAM的CPU中运行,而每一个任务必须是一个无限的循环。当系统启动多任务环境时,通过调用OSStart()以初始化所有任务的堆栈,并将堆栈指针指向ID为0的任务堆栈空间;每个任务的堆栈结构如图1所示。在任务调度方面,SmallRTOS51采用固定优先级(亦称静态优先级)的分配策略,任何两个任务的优先级不能相同,允许用户改变任务的优先级。
[1]