基于μC/OS-II的数字化UPS设计与实现

发布者:DazzlingGaze最新更新时间:2014-11-27 来源: 21ic关键字:μCOS-II  UPS  TMS320LF2407A 手机看文章 扫描二维码
随时随地手机看文章
1 引言

随着信息技术的发展,不间断应急电源(UPS)向着数字化、智能化、网络化、大容量多机冗余化和绿色化的方向发展。高性能专用DSP芯片为UPS的数字化提供了良好的硬件基础,而嵌入式实时软件操作系统是数字化产品的核心。

针对数字化UPS,本文给出了一种基于实时多任务操作系统μC/OS-II 的系统控制设计。设计采用μC/OS-II为内核,实现其在TMS320LF2407A上的移植,通过对UPS控制系统结构与功能的分析,各部分控制功能划分为不同优先级的任务来调度实现,给出了部分参数设定和主程序清单。实践证明,基于μC/OS-II 的数字化UPS 系统提高了控制系统的实时性以及系统运行的可靠性及稳定性。

2 数字化UPS控制系统结构

TMS320LF2407A 是TI 推出的专门针对工业控制领域的16 位高性能微控制器,其运算速度高、片内资源丰富,能够很好的满足数字化UPS电源控制系统功能的需要。数字化UPS 系统总体设计框图如图1 所示,虚线框内为主控制模块,按功能划分为A/D转换、PWM(Pulse Wide Modulate)逆变控制、锁相控制、保护控制、键盘及液晶显示、通信接口、实时时钟等功能模块。

4 数字化UPS任务设计及调度

控制软件主程序流程图如图3 所示。通过对UPS控制系统结构与功能的分析,各部分控制功能划分为不同优先级的任务,由μC/OS-II实时内核进行调度,实现多任务并行执行。

 

图 3 主程序流程图

图 3 主程序流程图

(1)数字化UPS 任务设计:如表1 所示,采用层次化、模块化的设计思想,根据各个任务的重要性和实时性,把用户程序分成9 个不同优先级的任务,包括数据采集及PWM 波计算、锁相同步、通信处理、系统参数计算、系统状态检测及处理、键盘扫描、键盘处理、液晶显示、空闲任务。任务越重要,实时性越强,任务优先级越高。空闲任务不执行任何功能,一直处于就绪状态,只有其他任务空闲时才执行。

表1 数字化UPS任务功能及其描述

 

表1 数字化UPS任务功能及其描述

(2) μC/OS-II 任务调度:完成任务在运行态、就绪态、挂起态、休眠态以及中断态之间的转换,是实时多任务操作系统运作的核心功能,流程如图4所示。μC/OS-II 的任务调度是基于优先级的抢占式调度算法,系统共有9个任务和3个中断。系统在任务控制块(OS_TCB)中分配一个字(OSTCBPrio)来表示每个任务的优先级,数值越小优先级越高。当发生任务调度时,系统通过任务就绪表查找到优先级最高的任务后,调用函数OS_TASK_SW()完成任务切换。

(3) 数字化UPS 中断:设计3 个硬件中断,一个是AD 采样中断,优先级最高,采用自适应频率方式每周期采样32 个点;另一个是系统时钟节拍中断,优先级次之,每10ms中断一次作为系统时钟;最后是通信中断,优先级低,当接收到外部数据时,便发生中断并对接收的数据进行处理。

(4)任务间通信与同步:采用访问共享数据资源的方式实现多任务间的通信,采用信号量进行任务间的同步。为实现任务间的同步,本软件系统建立了3个信号量:

数据计算信号量OSPWMCntSem,用于任务1和数据采集PWM 波计算子程序通信。每完成一次中断采样便发出这个信号量,告诉任务1对 采集数据和PWM波进行计算处理。

 

图4 任务调度流程图。

图4 任务调度流程图。

通信信号量OSComSem,用于任务3 和通信中断子程序进行通信。一旦接收到上位机发过来的信号,中断子程序就发出这个信号量,告诉任务4对接收数据进行处理。[page]

键盘信号量OSKeySem,用于任务6 和任务7 通信,一旦扫描到有键按下则发出该信号量告诉任务7做键盘处理。

 

图 1 数字化UPS系统总体框图

图 1 数字化UPS系统总体框图

(1)A/D转换:完成对市电输入的交流电压、电流信号、逆变输出的交流电压、电流信号、电池电压和电流信号的采样,是系统数字化控制实现以及UPS远程监控功能的基础。根据LF2407A A/D转换电平要求,被采样信号必须通过信号检测模块变换为0~3V直流电平。为提高系统性能,对输入/输出电压、电流进行瞬时值采样,采样频率为10kHz.

(2) PWM 逆变控制:PWM 逆变控制算法是UPS系统控制的核心算法,它决定了UPS系统输出性能。

逆变算法利用LF2407A 强大的数值运算性能以及高速计算能力实时在线计算出PWM信号脉宽,然后由A事件管理模块(EVA)的全比较单元输出4 路带死区控制的PWM 信号(PWM1~4),这4 路PWM 信号经隔离驱动模块驱动逆变器。

(3) 锁相控制接口:利用LF2407A的事件捕获端口CAP1 和CAP2,将市电输入和逆变输出经降压及波形变换后送入CAP1 和CAP2,由LF2407A 通过软件锁相环算法实现逆变输出电压与市电电压的同频同相。

(4) 通信接口:为实现对UPS 的实时监控功能,主机需对UPS电源的各模拟参量采样数据及表示工作状态的开关量数据进行实时高速采集。利用LF2407A的SCI 异步通讯接口,采用RS-485 物理标准协议,实现UPS与主机的远程通讯,以便对UPS设备状态、各项参数及故障信息进行查询。

(5) 键盘操作及液晶显示:提供人机对话平台,用户通过键盘操作可设置运行模式、设备通信地址等信息;液晶显示屏以图文方式显示工作状态和参数信息,提供可视化菜单。

(6) 实时时钟:利用串行外设接口SPI 实现与LF2407A控制器的通信,为整个系统提供统一、标准的时钟基准,另外,利用时钟芯片的存储器来存储系统掉电保护参数。

3 μC/OS-II在LF2407A上的移植

μC/OS-II的硬件和软件体系结构如图2所示。

 

图2 μC/OS-II的硬件和软件体系结构图

图2 μC/OS-II的硬件和软件体系结构图

要使μC/OS-II正常运行,LF2407A满足以下要求:处理器的C编译器能产生可重入代码,支持可扩展和可链接汇编语言模块;用C语言就可打开和关闭中断;处理器支持中断,并能产生定时中断;处理器有将堆栈指针以及其他CPU寄存器的内容读出、并存储到堆栈或内存中去的指令。

由于μC/OS-II 是源码公开的操作系统,且其结构化设计便于把与处理器相关的部分分离出来,因此μC/OS-II在LF2407A处理器上移植的主要工作是修改与处理器相关部分的代码。由图2 可以看出,它们主要集中在三个文件中:头文件OS_CPU.H、C 文件OS_CPU_C.C、汇编文件OS_CPU_A.ASM.

(1) 修改OS_CPU.H:其中包含两部分的代码,数据类型定义代码和与处理器相关的代码。LF2407A的堆栈数据类型定义为:typedef unsigned intOS_STK;所有的堆栈用OS_STK 声明,地址由高向低递减,OS_STK_GROWTH设置为1.

OS_CPU.H 剩下部分是移植必须定义底层函数的声明,为使低层接口函数与处理器状态无关,同时使任务调用相应的函数不需知道函数位置,采用软中断指令SWI作为底层接口,使用不同的功能号来区分各函数。其定义格式如下:

__swi (0x00) void OS_TASK_SW(void);//任务切换函数

其中,swi 为软中断标志,0x00 是分配的中断号,OS_TASK_SW 是函数名,两个void 分别表示返回类型和参数类型。其它的底层函数接口定义与此相似。

(2)修改OS_CPU_C.C:初始化任务堆栈函数和软中断函数的实现。修改OSTaskStkInit()函数,代码如下:

OS_STK *OSTaskStkInit (void (*task)(void*pd), void *pdata, OS_STK *ptos, INT16U opt)

{ 模拟带参数(pdata)的函数调用;定义任务堆栈;使用满栈递减方式初始化任务堆栈结构;返回堆栈结构;}

软中断函数的实现:

void SWI_Exception(int SWI_Num, int *Regs)

{ /*根据不同Num 值(功能号)跳转到不同的底层服务函数地址,如:*/ case 0x00:任务切换函数OS_TASK_SW;}

(3)修改OS_CPU_A.S:包括4 个简单的汇编语言函数:OSStartHighRdy():使就绪态任务中优先级最高的任务开始运行;OSCtxSw():实现任务级的任务切换功能;OSIntCtxSw():在中断级实现任务间的切换;OSTickISR():时钟节拍中断服务子程序。[page]

(5) μC/OS-II主程序框架:调用任何服务之前,μC/OS-II 要求首先调用系统函数OSInit()初始化所有变量和数据结构,同时建立一个空闲任务。多任务的启动通过OSStart()实现,但启动前至少需建立一个应用任务。当调用OSStart()时,OSStart()从任务就绪表中找出用户建立的优先级最高任务的任务控制块,然后调用任务启动函数,接下来就完全交给实时操作系统来管理,实时内核不断地对任务进行切换调度,管理各个应用任务和系统资源。系统主程序清单如下:

 

 

5 实验结果

根据前述控制系统设计,成功研制了一台3.75KVAUPS 样机。以下为该样机实时性、可靠性、稳定性测试运行情况,测试设备与仪表包括:泰克TDS3043B 数字示波器、Gad-2016 失真度测试仪、FLUKE189 数字万用表、FLUKE36 钳型电流表、红外线温度计、负载三相3KW 灯泡(约3.75KW炉丝)。

(1)市电输入380V,负载变化:输出相电压稳定度220V±1%,U 相频率稳定度50Hz±0.4%,波形失真度<2%,其他两相与U 相基本相同,任何两相相位差120°±1°。图5 为空载与满载逆变输出波形。

 

(a) 空载

(a) 空载

 

(b) 满载

(b) 满载

图5 U相输出逆变电压波形。

(2)市电逆变互切,切换时间及可靠性测试:市电输入384V,电池电压490V,3.75KW额定负载运行,市电断电或按下"强起"按钮,逆变器带负载正常启动,启动时间约60ms.市电、逆变切换时间经多次反复试验,均小于120ms.图6 所示为市电到逆变的切换波形,切换时间约60ms,图中波形经检测变压器隔离降压;市电来电,逆变器立即停止工作。

 

图6 市电到逆变的切换波形

图6 市电到逆变的切换波形

(3)逆变应急长时间工作,输出电压情况测试与系统稳定性验证:电池513V开始放电,带3.75KW炉丝额定负载,运行约80分钟,IGBT及散热器温度始终低于32℃,系统工作正常且稳定,测试参数如表2所示。

表2 逆变运行温升测试

 

表2 逆变运行温升测试

6 结论

本文针对数字化UPS,给出了基于LF2407A 的系统总体设计结构,实现了实时操作系统μC/OS-II在LF2407A 上的移植,对UPS系统任务进行设计和实现调度,给出了部分参数设定和主程序清单。该设计方案已经成功应用于青岛创统3.75KVA 数字化UPS 的设计项目中。实践证明,μC/OS-II 在嵌入式UPS 控制系统中的应用有效地提高了系统控制的实时性以及系统整体可靠性与稳定性。

关键字:μCOS-II  UPS  TMS320LF2407A 引用地址:基于μC/OS-II的数字化UPS设计与实现

上一篇:基于CORBA平台的嵌入式控制器
下一篇:瑞萨电子推出RZ/T1实时处理器解决方案

推荐阅读最新更新时间:2024-03-16 13:47

在线式UPS软件锁相
1引言 为保证无环流切换,不仅在控制上要保证市电旁路电压和UPS逆变器输出电压同频率同幅值,而且还要保证两电压的瞬时值相同,即同相位。数字锁相环,即软件锁相的实现是全数字化UPS实现的难点之一。 2软件锁相分析 2.1坐标系的的建立 为便于分析,建立以下坐标系: 横轴为频率差,F_D=F_INV-F_LN,以周期差来表示,即单周期内定时器对逆变的计数值-对市电的计数值(这里每1个计数值的时间为50ns×16=0.8μs); 纵轴为相位差,P_D=P_LN_P_INV,也用定时器的计数值来表示。如图1所示。 2.2第1象限中状况分析 由上述坐标定义,则第1象限所表示的状态如图2所示。 即F_INV F_LN。 此
[电源管理]
在线式<font color='red'>UPS</font>软件锁相
基于SPWM控制全数字单相变频器的设计及实现
  本文介绍了基于DSPTMS320LF2407A并使用SPWM控制技术的全数字单相变频器的设计及实现方法,最后给出了实验波形。   常见的AC/DC/AC变频器,是对输出部分进行变频、变压调节,而且在多种逆变控制技术中,应用最广泛的一种逆变控制技术是正弦脉宽调制 (SPWM)技术。在变频调速系统中,应用DSP作为控制芯片以实现数字化控制,它既提高了系统可靠性,又使系统的控制精度高、实时性强、硬件简单、软件编程容易,是变频调速系统中最有发展前景的研究方向之一。    TMS320LF2407A芯片简介   TMS320LF2407A是TI公司专为电机控制而设计的单片DSP控制器。它具有高性能的C2XLP内核,采用改进的哈佛结
[电源管理]
基于SPWM控制全数字单相变频器的设计及实现
对电池进行监测改善UPS的可靠性
在我们的工作和生活中,我们已经有很多方面依赖电子设备。从移动通信到数据中心等多种设备都必须实现最短停机时间的运行,这使得电源供应的可靠性成为一个关键性的问题。不间断电源 ( UPS ) 可在停电时提供备用电力,因此被广泛用于在电网停电时确保关键的电子设备正常运行。   尽管可以应用其他的科学技术(比如飞轮储能),但是大多数的UPS还是采用各种电池来存储能量。电池可提供相当数量的能量,几乎能够在瞬时间提供电力。如果UPS需要可靠运行,最重要的是电池不仅要充满电,而且要状况良好。信息来源:http://www.tede.cn   电池的使用寿命有限。如果环境条件(尤其温度)超出最适宜的范围,那么电池的使用寿命会大大缩短。大多数设备
[电源管理]
对电池进行监测改善<font color='red'>UPS</font>的可靠性
TMS320LF2407A在混合电压系统中的设计
  随着便携式数字电子产品、数字式移动电话、手持式测试仪表等的迅速发展,要求使用体积小、功耗低、电池耗电小的器件,从而使得集成电路的工作电压已经从5V降到3.3V甚至更低,例如2.5V和1.8V。但是目前仍有许多5V电源的逻辑器件和数字器件可用,因此在许多设计中将会有3.3V逻辑器件和5V逻辑器件共存,而且不同的电源电压在同一电路板中混用。随着更低电压标准的引进,混合电压的系统将会代替单电压系统,并会在很长时间内存在。   1 TMS320LF2407A概述   TMS320LF2407A是TI公司推出的一款定点DSP控制器,它采用了高性能静态CMOS技术,使得供电电压降为3.3V,减小了控制器的功耗;40MIPS的执行速
[嵌入式]
<font color='red'>TMS320LF2407A</font>在混合电压系统中的设计
将变频器改造成UPS的可行性
0 引言 随着科学技术的高速发展,人民生活水平的不断提高,人们对建筑物内的环境、使用功能、消防安全等提出了更高的要求。越现代化的建筑对电的依赖越高,但电力故障是不以人的意志为转移,一旦发生灾害事故将导致电力中断或电力中断后发生灾害事故,人民的生命财产安全将直接受到威胁。因此,《高层民用建筑设计防火规范》和《民用建筑电气设计规范》中严格规定:一级负荷中特别重要的设备必须增设二路电源。目前,市场上常用的备用电源有发电机组、UPS、EPS等产品,至于它们三种供电方案以及衍生方案并不能保证电源100%不间断。本文的内容是笔者根据工作几年来从事EPS及UPS项目总结出来的。 1、 解决问题的方法 变频器无论是频率控制型还是矢量控制型或
[电源管理]
将变频器改造成<font color='red'>UPS</font>的可行性
数据中心如何优化UPS的可用性
那么,数据中心运营商如何优化UPS的可用性?UPS的可靠性是UPS整体动力系统设计功能中最终少不了的设计比。无论在您在您的UPS还是电源保护方案,增加UPS的可用性最可靠的方法是把重点放在减少维修时间,并最大限度地提高全冗余。 平均无故障时间MTBF UPS电源产品的可用性从低到高可分为四类,其中可用性的最高级别就是系统在故障后的修复过程不影响应用,即MTTR=0。而最高级别可用性的实现形式就是通过模块化UPS与冗余配置相结合来实现。模块化UPS可以实现故障的快速修复,冗余设计则实现了故障期间的系统能够照常运行。 随着IT系统应用的不断深入,人们已经意识到系统故障难以避免,因而不再单纯追求系统可靠性,转而寻求最高可用性的IT
[电源管理]
UPS电源急需信息化协助克服难题
UPS电源行业已经发展了很多年了,随着社会的发展,现在社会高科技的广泛应用,UPS电源也迎来了巨大的发展。 UPS电源系统按其应用领域可分为:信息设备用UPS电源系统、工业动力用UPS电源系统二大类别:信息设备用UPS电源系统设备。近几年来UPS电源系统在IT行业发挥着越来越重要的作用, 作为所有电力自动化工业系统设备、远方执行系统设备、高压断路器的分合闸、继电保护、自动装置、信号装置等的交、直流不间断电源设备, 工业动力用UPS电源系统设备。工业动力UPS电源系统设备主要应用于:工业动力设备行业电力、钢铁、有色金属、煤炭、石油化工、建筑、汽车、食品等领域。保证工业自动化动力供给的可靠性。 涉及大功率能量变换的电力电子技术、数字化
[电源管理]
宝士达模块化UPS简介
  传统UPS在应用上有很多局限性,为了实现供电的不间断,进行了那么么多的功率变换,代价太大,显然浪费了太多的能源、资源和人力,这种浪费已经持续了几十年,我们不能再容忍这种浪费继续下去。   与传统的UPS相比,宝士达模块化UPS最大的优点是可靠性和可用性,任何模块发生故障,其余模块均会自动分担其负载,保障系统正常运行,而且通过热拔插的特性极大的缩短了系统的修复时间。   除此之外,宝士达模块化UPS能够给用户带来更好的可扩展性。随着用户的增多,原设计的UPS容量可能无法满足使用的需要,对传统UPS电源来说,必须更换一台更大的UPS电源,但对于模块化UPS则不需要更换整机,只需要增加模块数量即可轻松扩容。   在满
[电源管理]
宝士达模块化<font color='red'>UPS</font>简介
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved