0 引 言
通信电源系统运行质量的好坏将直接关系到通信网络运行的可靠性及稳定性。通信电源监控系统具有“三遥”、数据的存储及处理、告警的查询分析和统计等功能。通信电源设备运行参数多,实时效果强,所以在监控系统当中选择功能强大的控制芯片,应用嵌入式操作系统,采用嵌入式软件开发技术使其尽可能地发挥出强大的控制管理功能是当前通信电源监控系统的发展趋势。
与传统的51单片机开发的通信电源监控系统相比,通过μC/OS-Ⅱ与TMS470R1A288结合开发的通信电源系统有足够的实时性、可靠性和可扩展性,同时成本更低。
1 μC/OS-Ⅱ在TMS470R1A288的移植
ARM7(Advanced RISC Machines)是目前在嵌入式领域里应用非常广泛的RISC微处理器系列,以其低成本、低功耗、高性能的优点占据了嵌入式系统应用领域的领先地位。μC/OS-Ⅱ可以看作是一个功能强大完善的多任务调度器,具有很好的可移植性。将μC/OS-II移植到ARM系列的TMS470R1A288处理器上,需要修改三个和ARM体系结构相关的文件,下面一一介绍。
1.1 OS_CPU.H
数据类型定义部分的修改是和所用的编译器相关的,不同的编译器会使用不同的字节长度来表示同一数据类型;由于处理器现场的寄存器在任务切换时都将会保存在当前运行任务的堆栈中,所以OS_STK数据类型必须和处理器的寄存器长度保持一致;定义堆栈的增长方向;宏定义包括开关中断的宏定义,以及进行任务切换的宏定义。
1. 2 OS_CPU_A.ASM
用ARM的汇编指令实现了下面四个函数:OS-StartHighRdy(),OSCtxSw(),OSIntCtxSw(),OS-TickISR()
1.3 OS_CPU_C.C
μC/OS-II的移植要求用户编写以下10个简单的C函数:
ostaskstkinit(),ostaskcreatehook(),ostaskdel-hook(),ostaskswhook(),ostaskstathook(),ostime-tickhook(),ostaskidlehook(),osinithookbegin(),os-inithookend(),ostcbinithook()。但惟一必要的函数是ostaskstkinit(),其他9个函数必须声明,但是如果没有特殊需求,则只需要简单地将它们都实现为空函数即可。
2 通信电源监控系统的硬件结构
本方案设计的通信电源监控系统主要实现后台通讯、模块通信、开关量及模拟量的测量、告警管理、电池管理、液晶显示和键盘处理的功能,同时还可通过以太网、RS 485或.Modem方式将系统的当前运行信息上传后台集中监控中心。此通信电源监控系统的硬件结构框图如图1所示。开关量输入部分主要实现对交流输入空开、交流输出空开、防雷器状态的监控;模拟量信号采集部分实现对交流电压、母排电压、电池电压、电池电流、负载电流、电池温度的测量;告警干结点输出部分主要实现整流模块故障、负载下电、电池保护、交流SPD故障、交流停电等的故障通过声光的形式输出,以便用户能及时处理系统故障。
3 通信电源监控系统的软件设计
根据通信电源监控系统要实现的主要功能及嵌入式实时操作系统μC/OS-II的任务调度,可将软件部分划分为如下11个相对独立的任务,按优先级从高到低分别是:RTC任务、界面菜单显示任务、CAN协议通讯任务、I2C协议通讯任务、后台通信协议任务、模拟量测量任务、告警任务、电池管理任务、网络通讯任务、自检任务、系统配置参数存储任务。每个任务都是一个无限的循环,在任意时刻,都只能处于以下5种状态之一:休眠态、就绪态、运行态、挂起态(等待某一事件发生)及被中断态。多任务运行的实现实际上是靠CPU(中央处理单元)及μC/OS-Ⅱ在许多任务之间转换和调度来实现的。本系统任务间的通信和同步用到的系统服务是互斥型信号量,信号量用于控制共享资源的使用权。综上所述,本监控系统的软件框架如图2所示。
4 结 语
本文介绍了在ARM7系列微处理器TMS470R1A288上移植多任务实时操作系统μC/OS-Ⅱ开发通信电源监控系统的方案,详细介绍了其硬件设计和软件设计。该设计改善了传统通信电源监控系统实时性差、成本高、部分软件故障导致整个监控单元故障的缺点,使通信电源监控系统具有足够的灵活性、健壮性、实时性。
关键字:通信电源监控 嵌入式操作系统 TMS470R1A288 多任务
引用地址:
基于μC/OS-Ⅱ的通信电源监控系统的设计
推荐阅读最新更新时间:2024-05-02 20:55
一种基于C51的多任务机制及应用
引言 传统的单片机程序一般采用单任务机制,单任务系统具有简单直观、易于控制的优点。然而由于程序只能按顺序依次执行,缺乏灵活性,只能使用中断函数实时地处理一些较短的任务,在较复杂的应用中使用极为不便。嵌入式多任务操作系统的出现解决了这个问题。在多任务系统中,可以同时执行多个并行任务,任务之间可以相互跳转。但是嵌入式操作系统在提供强大功能的同时,也带来了代码量大、结构复杂、对硬件要求较高、开发难度大且成本高等问题。而很多时候只需要实现简单的多任务操作就可以满足实际需要,本文设计的这种简单的多任务机制,在只增加极少量C语言代码的前提下,不需使用汇编,无需对原本的程序进行大改动,就可以实现多任务操作。 实时操作系统RTOS的核心
[单片机]
多任务系统看门狗的实现
看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。 看门狗本身不是用来解决系统出现的问题,在调试过程中发现的故障应该
[工业控制]
点对多点的多任务无线通信
摘要:详细介绍无线通信在各种通信系统中的应用,单片机MCU与无线收发模块的硬件接口设计,点对多点无线通信协议的编写,点对多点无线通信系统打包与解包的软件设计。为无线通信系统的软硬件设计提供了可靠的解决方案。
关键词:无线通信 协议 通用串行总线 中央监控 远程终端
引言
现代世界是一个高速自动化的世界,各种各样的设备除了可以与计算机联机外,还可以互联机,而最简单的自动化联机方式就是使用串行通信。随着时代的进步,它并没有被取代,后倒是逐渐被广泛应用。如今,在许多场合有线连接的方式已经不能满足科技的高速发展。无线技术正以一种快速的速度进入许多产品,它与线相比主要有成本低,携带方便,省去有线布线的烦恼;特别适用于手持设备的通信、电
[工业控制]
嵌入式操作系统的通用硬件抽象层设计
摘要 基于嵌入式操作系统硬件抽象层理论,设计一种用于嵌入式操作系统内核开发的通用硬件抽象层平台。通用硬件抽象层能够为嵌入式操作系统内核的设计开发屏蔽硬件平台的特性,提供统一的硬件相关的服务接口,可以使嵌入式操作系统内核的设计开发不依赖于特定的硬件平台,同时开发的嵌入式操作系统内核具有更强的可移植性。
关键词 嵌入式操作系统 通用硬件抽象层(HAL) BSP V开发模式
引言
为了便于操作系统在不同硬件结构上进行移植,美国微软公司首先提出了将底层与硬件相关的部分单独设计成硬件抽象层美国微软公司提出了将操作系统底层与硬件相关的部分单独设计成硬件抽象层HAL(Hardware Abstraction Layer)的思想。硬件抽象层
[嵌入式]
多任务TDCS车站分机通信协议的设计
为了处理TDCS车站分机从铁路局调度中心、车务终端和计算机联锁设备接收的各种信息,在此基于Windows操作系统设计了实时多任务程序。在多任务程序中,使用消息机制和消息缓冲区实现多线程之间的通信,使用信号量和互斥量实现多线程之间的同步;针对以太网通信任务和串口通信任务,建立了相应的数据结构,并设计了一个数据包分析算法来解析自定义协议。实践证明,该设计具有响应速度快、适应性强的特点。 列车调度指挥系统(TDCS)是实现铁路各级运输调度对列车进行透明指挥、实时调整、集中控制的现代化信息系统,它由铁道部、铁路局中心局域网及车站基层网组成。TDCS车站分机是车站基层网的设备,起到信息的采集、上传及下发的作用,在整个系统中占有非常重要的地位
[网络通信]
实时嵌入式操作系统VxWorks设备驱动程序的设计
摘要:在嵌入式实时系统中进行软硬件开发的关键是编写高效可靠的设备驱动程序,而VxWorks下END网口驱动程序是设备驱动程序中较为复杂的一类。首先从整体上分析了VxWorks操作系统的特点与结构,然后介绍了VxWorks中设备驱动程序的功能、结构和开发方法,并给出了END网口驱动程序的设计实例。该文时VxWorks设备驱动程序开发者具有参考价值,通过本文可以方便的进行END驱动的配置和使用。 关键词:实时操作系统;板级支持包;设备驱动程序;END网口驱动 VxWorks是WindRiver公司开发的一种高性能的嵌入式实时操作系统(RTOS),以其优良的可靠性、开放性、实时性和易用性赢得了大量的客户。VxWorks是目前嵌入
[工业控制]
嵌入式操作系统在高速实时信号处理系统中的应用
嵌入式实时操作系统和多片DSP在高速实时信号处理系统中的软硬件设计及实现。该方案采用VxWorks操作系统和Power PC处理器,通过串口、以太网和VME总线进行数据传输,并实现控制和显示功能。 现今的信号处理设备越来越复杂,不仅要求高速的处理能力,而且要求功能多样化,仅仅追求速度已经不能满足需求。尤其在复杂多变的环境中,要求信号处理机能够完成多种处理功能,并能方便灵活地切换工作模式。因此有必要发展一种可重构和可扩展的通用信号处理系统,能将信号处理机多功能化、模块化、标准化和通用化。将嵌入式操作系统与高速实时信号处理机结合,可以很好地实现这些要求。在雷达火控系统中,信号处理不仅需要很高的处理速度,而且要满
[嵌入式]
利用实时内核开发嵌入式多任务程序
摘要:嵌入式系统应用日益复杂化,传统的前台/后台程序开发机制已经不能满足需求,目前更多地采用抢占式实时内核开发嵌入式多任务系统。实时内核为多任务应用程序提供最基本和最重要的服务。本文介绍实时内核和多任务,并提出利用实时内核进行系统开发时,根据系统功能合理构成任务的方法。
关键词:实时内核 多任务 任务构造 嵌入式系统
随着嵌入式系统的广泛使用,传统的前台/后台程序开发机制已经不能满足日益复杂和多样化的嵌入式应用需求,因而常常采用嵌入式实时操作系统内核(简称实时内核)开发实时多任务程序。嵌入式实时内核提供多任务、任务管理、时间管理、任务间通信和同步、内存管理等重要服务,使嵌入式应用程序容易设计和扩展。内核是管理微处理器或者微控制
[嵌入式]