首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于us/OS-II操作系统的断路器控制器研制
来源:本站整理  作者:佚名  2009-05-18 14:02:15



  *ptos++ = (OS_STK)0; /* AR6 */

  *ptos++ = (OS_STK)0; /* AR7 */

  … … …

  return ptos;

  }

  其余9个C语言函数只进行了声明,没有包含代码或者为了防止C编译器误发警告只编写了简单的指针自我赋值程序。

  对OS_CPU_A.ASM文件的编写包括编写以下4个汇编语言函数:

  ① OSStartHighRdy()② OSCtxSw()③ OSIntCtxSw()④ OSTickISR()

  其中,调用OSStartHighRdy()是用来使就绪态任务中优先级最高的任务开始运行。OSCtxSw()是用来实现任务切换,中断服务子程序、陷阱或异常处理的向量地址必须指向OSCtxSw()。OSIntCtxSw()也是用来实现任务切换的,所不同的是OSIntCtxSw()是在中断服务程序中实现任务切换。OSTickISR()是用来实现时钟节拍功能。

  将以上这些函数编写好以后,如果能编译通过并且装载入2407或外部RAM中,则说明us/OS-II在2407上移植成功。移植成功以后就要进行测试,可以编写例如点亮指示灯这样的小程序作为任务,装载入DSP运行,如果运行成功,就在此程序基础上进行嵌入式系统的软件开发。

  3.2 智能控制器软件设计

  本文在进行软件设计时根据需要,编写了以下几个功能程序,主要包括液晶显示程序、A/D采样转换程序、保护算法、瞬动判断保护程序、滤波算法及有效值计算、CAN通信的发送和接受等[4]。在各个功能程序编写好以后,创建多个任务,每个任务包含一个功能程序。对各个任务要根据不同的实际情况赋予不同的优先级,其中A/D采样转换和瞬动判断保护由于对实时性的要求比较高,应赋予较高的优先权,液晶显示由于为了人们读取的视觉需要,延时时间比较长,赋予的优先权最低。任务优先级的安排如下:

  A/D采样转换程序 > 瞬动判断保护程序 > 滤波算法及有效值计算 > 保护算法> CAN通信的发送和接受 > 液晶显示

  任务通过函数OSTaskCreateExt()来创建,创建一个任务的示例代码如下:

  //创建任务:

  INT8U OSTaskCreate (void (*task) (void *pd), void *pdata, OS_STK *ptos, INT8U prio)

  其中task是指向任务代码的指针;pdata是任务开始执行时,传递给任务的参数指针;ptos是分配给任务的堆栈的栈顶指针;prio是分配给任务的优先级。

  //任务示例代码:

  void Task (void *pdata)

  { While (1)

  {/***根据实际功能编写的代码**/

  OSTimeDly(INT16U ticks); //任务延时

  }

  }

  当任务被剥夺CPU的使用后,us/OS-II用任务控制块OS_TCB来保存该任务的状态。

4. 实验

  本文设计的实验样机首先在实验室进行调试,然后再到企业试验站进行现场调试。主要试验项目包括液晶显示、测量、保护特性测试、上位机和控制器之间的CAN总线通信等。试验结果表明:本文设计的智能控制器实现了测量、保护、通信和监控等功能,实时性好,指标达到预期要求。

5. 结束语

  本文为了实现低压断路器的可通信与智能化,研制了一种基于DSP和嵌入式实时操作系统us/OS-II的新型智能控制器,不仅实现了断路器的基本功能,而且由于采用了us/OS-II嵌入式实时操作系统,提高了DSP的运行效率和控制器的可靠性。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:55,074.22000 毫秒