北极星

搜索历史清空

  • 水处理
您的位置:电力发电信息化技术正文

嵌入式系统在微机继电保护中的应用

2013-08-15 10:54来源:万方数据关键词:嵌入式继电保护电力系统收藏点赞

投稿

我要投稿

3.2.2 μC/OS-Ⅱ在AT91RM9200中的移植实现

μC/OS-Ⅱ的移植条件是:该处理器有堆栈,有CPU内部寄存器入栈、出栈指令;使用的C编译器支持内嵌汇编(inline asseInbly)或者该C语言可扩展,可连接汇编模块,使得关中断、开中断能在C语言程序中实现。

AT91 RM9200符合其移植条件。μC/OS-Ⅱ的移植集中在3个文件,头文件os_cpu.h,汇编文件os_cup_a.s,C代码文件os_cpu_c.c。其中os_cpu.h主要包含编译器相关的数据类型的定义、堆栈类型的定义以及几个宏定义和函数说明。而os_cpu_c.c中则包含与移植有关的c函数,包括堆栈的初始化函数和一些钩子(hook)函数的实现。os_cpu-a.s中则包含与移植有关的汇编语言函数,包括开/关中断、上下文切换、时钟中断服务程序等。移植中关键的功能模块实现如以下所述。

移植工作包括以下几个内容:①用绷efine设置一个常量的值(OS-CPU.H);②声明数据类型(OS-CPU.H);③用#define声明三个宏(OS.CPU.H);④用c语言编写六个简单的函数(OS—CPIJ-C.C);⑤编写四个汇编语言函数(OS-CPU_ASM)。

3.3 软件结构设计

在软件设计时,尽量使软件和硬件脱离,改变传统的嵌入式软件过多依赖硬件的模式。针对保护装置的实际情况,把整个系统分成保护、A/D采样、自检、显示、通信等几个任务,划分原则是在考虑系统实时性和软件效率的前提下尽量减少任务间的耦合,使功能清晰。任务确定以后,赋予每个任务唯一的ID号,并按照实时性要求对各个任务指定i其优先级,本设计中把保护任务设置成较高优先级。进入运行状态后,在主任务中启动其他任务,例如显示、A/D采样、通信等。在这些任务中又可启动另外的任务。下面给出了主程序的任务创建和资源分配的部分代码。

设计中的任务调度机制采用优先级调度模式:CPU被分配给最高优先级任务,如果几个任务优先级相同,CPU就被分配给最先进入就绪队列的任务。如果一个任务在执行过程中,另外一个优先级更高的任务进入就绪状态,则原来正在进行的任务进入就绪状态,新任务进入运行状态。

μC/OS-Ⅱ最多可支持56个任务。实现各种功能的保护程序按照功能划分成了一个个的任务,每一种任务实现一种功能,任务之间相互独立,只通过实时操作系统R1DS(Real—Time Operating System)机制交换信息。这从根本上保证了软件的可靠性和实时性。

4 结束语

随着ARM处理器技术的不断发展和应用的不断推广,ARM处理器在电力系统中必将得到更广泛的应用。而嵌入式实时操作系统RTOS在微机保护的应用,为实现复杂的保护功能提供了可能。文中讨论的基于嵌入式AT9lRM9200微处理器的微机保护装置已完成现场调试,初步试运行效果表明,该设计是成功的,受到用户方的认可,有望得到大力推广。

投稿与新闻线索:陈女士 微信/手机:13693626116 邮箱:chenchen#bjxmail.com(请将#改成@)

特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。

凡来源注明北极星*网的内容为北极星原创,转载需获授权。

嵌入式查看更多>继电保护查看更多>电力系统查看更多>