找回密码
 注册
搜索
查看: 12583|回复: 1

[讨论] 基于RTOS51嵌入式的电力系统故障诊断终端系统的设计

[复制链接]
发表于 2012-3-27 10:33:03 | 显示全部楼层 |阅读模式
  基于RTOS51嵌入式的电力系统故障诊断终端系统的设计

  0.引 言

  目前,我国对于大部分供电电力设备的监控和管理上基本还停留在人工巡查这种比较原始的管理方式下(例如铁路道口的信号电源),不但管理效率低下,而且供电质量和水平都得不到有效的保证。

  本文以实时操作系统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所示。

  图1 堆栈结构

  在任务调度方面,SmallRTOS51采用固定优先级(亦称静态优先级)的分配策略,任何两个任务的优先级不能相同,允许用户改变任务的优先级。

  4.3 系统软件需求

  根据系统功能要求,在SmallRTOS51平台下需要实现下列API函数,并且需要使用SmallRTOS51提供的系统服务,例如时间延时功能、信号量等。

  4.3.1 人机界面

  (1)键盘驱动。

  本系统采用独立式键盘设计,菜单驱动程序设计的实质就是对键盘进行周期性处理,使用消息队列传递键盘消息来处理按键问题;解析键值,执行功能模块同时刷新画面。键盘流程图如图2 所示。

  图2 键盘流程图

  在中断发生后,首先获取键值void getkey (void);应用系统函数完成去抖延时;当确认有键按下时,发送DOWNKEY消息;松开时发送UPKEY消息,并依据键值的不同来进行解析:未按键:在没有按键的情况下,直接跳过键盘解析模块,其键值为0x79;方向键:依照当前系统所处的工作状态分成两种情况,如果当前显示画面为菜单选择状态,则上下方向键用来移动游标,达到改变选项的目的。如果是设定画面,则左右方向键用来移动游标,改变设定选项,而上下键用来改变对应选项设定值,其键值为 0xe9、0xd9,0xb9、0xf1;确认键:这里也分成两种情况,如果当前显示画面为菜单选择状态,则确认键用来进入下一级子菜单或者功能模块。而当前画面为设定画面时,确认键用来确认存储所更改的设定值,其键值为0xf1;返回键:返回键用来返回上一级菜单,返回键值为0xf8。人机界面软件框图如图3所示

  本文来自: 赛微电子网-电子工程师社区 原文地址:http://www.srvee.com/embed/apply/jyRTOS51qrsddlxtgzzdzdxtdsj_67748.html
发表于 2017-9-19 16:38:16 | 显示全部楼层
路过看看
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-4-19 13:27 , Processed in 0.047776 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表