新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 如何基于RTOS与DSPs设计微机保护装置?

如何基于RTOS与DSPs设计微机保护装置?

作者:时间:2018-08-08来源:网络收藏

1 引言

本文引用地址:http://www.amcfsurvey.com/article/201808/385856.htm

我国电力系统的型保护得到迅速发展,已在电力系统得到了广泛应用。从早期的8位机,到现在16/32位机,性能得到了提高,运算能力也大大加强了。

保护的性能及其可靠性取决于软、硬件,因此软件的编写和硬件的选择是一项关键性的工作。我们在编写软件时,通常先画好流程图,然后按着流程图来编程,一般是一个无限循环,循环中调用相应的函数(子程序)完成相应的操作(称为后台行为或任务级);用中断来处理随机事件(称为前台行为或中断级)。程序流程如图1所示。任务的响应时间取决于后台循环执行的时间(在不同的状态或运行方式下,执行时间不同),程序经过某一点的时间不能确定,程序修改了,循环时序就受到影响。这种编程方法,使得程序开发周期长,修改困难,任何一处受到破坏,就会死机。在8位机时代,还不算明显,随着16/32位机的使用及系统复杂性的增加,表现的越来越明显了。这种传统的前台/后台程序开发机制已不能满足日益复杂和多样化的保护的应用需求,采用来开发微机保护应用程序,现已成为开发人员的发展方向。

目前运行的微机大多数为16位单片机,对于常规的保护其性能基本能满足。但16位单片机往往受到运算速度等因素的影响,不易实现更复杂的算法和更高采样速率。随着微电子和半导体技术的发展,已运用在了众多领域。由于的强大数字信号处理能力,越来越受到开发人员的青睐。

2 关于(Real Time Operating System)实时操作系统

实时操作系统是一段在系统启动后,首先执行的背景程序。用户的应用程序是运行于之上的各个任务,RTOS根据各个任务的要求,进行资源管理、消息管理、任务调度,异常处理等工作。实时多任务内核是RTOS的关键部分,基本功能包括任务管理、定时器管理、存储管理、资源管理、事件管理、系统管理、消息管理等。RTOS与其它OS相比主要特征是规模小、可裁剪、微内核。

在RTOS机制下开发多任务程序,CPU的运行时间被划分为许多小的时间片,RTOS按照某种调度算法分别分配给不同的任务,多个任务分别在自己的时间片内访问CPU,达到微观上轮流运行,宏观上并发运行的多任务效果。程序流程如图2所示。


任务是单线程序列指令形成的一个无限循环,它有五种状态:休眠、就绪、运行、等待和中断。实时内核是通过任务控制块(TCB)来管理任务的。程序调用内核服务创建任务,并在任务中分配一个任务控制块,进行初始化,使任务进入就绪状态。实时内核以事件为基础,根据任务执行的状态,对任务进行切换,状态也随之变化。在实时任务中,内存中存在多个任务控制模块,以及各个任务独立的私有堆栈。

任务进行切换,首先要保存CPU寄存器内容到当前任务的任务控制块中,然后从新任务的任务控制块装载堆栈指针,并将新任务的上下文装载到CPU寄存器中,这样就从一个任务切换到另一个任务运行。

我们将要开发的系统功能进行分解,构造成几个不同的任务,每个任务负责完成系统应用要求的一部分功能,并根据其重要性,决定它的优先级,它们彼此独立运行。

RTOS的使用,可以提高系统的可靠性。传统的线性程序,在遇到强烈的干扰时,程序任何一处产生死循环或破坏,都会引起死机,只有靠硬件(看门狗),进行复位、重新启动系统。在这种情况下,对于RTOS管理的系统,只会引起若干个进程中的一个破坏,并可用另外的进程对其进行修复。还可以提高产品的开发效率,缩短开发周期。一个复杂的应用程序,可以分解成若干个任务,每个任务的调试、修改几乎不影响其它模块。

使用RTOS,使得应用程序的设计、扩展变得容易,不需要大的改动,就可以增加新的功能;且能使系统资源能得到更好的管理。但需增加额外的ROM/RAM的开销,增加2~5个百分点的CPU额外负荷,以及开发成本的增加(RTOS的价格)。

当今市场上有许多RTOS商家生产面向8位、16位、32位,甚至64位的CPU的RTOS产品。如:VRTX、QNX、VxWorks、 Nucleus PLUS、OS—9、PSOSys-tem、LynxOS、WindowsCE及国内的Hopen等。RTOS除包含实时多任务内核外,还包括输入输出管理、视窗系统、文件系统、网络语言接口库、调试软件,以及交叉编译平台等。RTOS已在各行各业应用,如:航空、军事、电力、通信及工业控制等领域。

3 关于(DiginalSignalProcessors)数字信号处理芯片

传统上,微控制器MCU和微处理器MPU是微机发展的两大分支,而DSPs是MCU的一种特殊变

形。它是一种具有哈佛结构,精简指令(RISC)的CPU。

DSPs片内有多条地址、数据和控制总线,可进行流水线操作,提高了CPU的处理能力;有硬件乘法器,乘法计算可由一条指令来完成;有专门的指令,进行数据处理;有DMA传输通道。其外部硬件部分和MCU相同,由地址、数据和控制三总线组成。在软件开发上,能更好地支持模块化编程。

市场上有多种DSPs可供我们选择。如:TI公司的TMS320系列、ADI公司的ADS系列、MOTOROLA公司的DSP系列等。

DSPs的使用,可极大地缩短数据处理的计算时间,不但可以完成数据采集、信号处理功能,还可完成运算、控制等功能。

4 RTOS与DSPs在微机中的应用

我们采用美国ATI公司的Nucleus Plus实时操作系统,DSPs选用美国TI公司的TMS320C32,开发了一系列的中低压

Nucleus Plus是实时、抢先、多任务的内核。大约95%的Nucleus Plus程序是用ANSIC编写的,容易移值。我们以Nucleus Plus为开发平台,采用C语言和汇编语言混合编程,进行软件开发。

我们针对保护装置的实际情况,把整个系统分成保护、自检、显示、通信等几个任务,并把保护任务设置成最高优先级。各任务间彼此独立运行,任务间的通信通过全局数据或发送消息来实现,任何一个任务出现运行异常,其它任务正常运行。任务程序的结构如下代码所示:


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭