一种基于实时操作系统μC/OS-II的嵌入式UPS系统控制方案

最新更新时间:2014-06-28来源: 互联网关键字:UPS电源  数字化UPS 手机看文章 扫描二维码
随时随地手机看文章

  针对数字化UPS,给出了系统总体设计框图,为提高系统控制程序的实时性,提出一种基于实时操作系统μC/OS-II的嵌入式UPS 系统控制方案。通过对UPS控制系统结构与功能的分析,实现了μC/OS-II在TMS320LF2407A上的移植,对UPS系统控制项目以任务的形式进行设计并实现调度,给出了部分参数设定和主程序清单。实验结果证明,本文的设计有效的增强了系统控制软件的模块性、实时性,提高了系统运行的可靠性与稳定性。

  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)逆变控制、锁相控制、保护控制、键盘及液晶显示、通信接口、实时时钟等功能模块。

图 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的硬件和软件体系结构图

  要使μ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():时钟节拍中断服务子程序。  4 数字化UPS任务设计及调度

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

图 3 主程序流程图

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

表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 任务调度流程图。

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

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

  (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) 空载

(b) 满载

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

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

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

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

表2 逆变运行温升测试

  6 结论

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

关键字:UPS电源  数字化UPS 编辑:探路者 引用地址:一种基于实时操作系统μC/OS-II的嵌入式UPS系统控制方案

上一篇:UPS不间断电源是如何控制温度及维护保养的?
下一篇:如何确定UPS不间断电源功率?

推荐阅读最新更新时间:2023-10-12 22:42

UPS电源系统及通信端口的雷电防护
  UPS 电源 的雷电防护   对 UPS电源 系统及通信端口的雷电防护,应根据国家规定的有关规范,并根据应用环境的具体情况,因地制宜制定出切实可行的解决方案,建立有效的、科学的、经济的防雷系统。针对UPS系统的特点,其雷电防护应重点把握以下几点:   要完善外部防雷设施,做好机房接地,根据《电子计算机房设计规范》,交流、直流工作地、保护地、防雷接地宜共用一组接地装置,其接地电阻按其中最小值要求确定,如必须分设接地,则必须于两地之间加装等电位共地联结器。UPS保护的往往都是大型的数据系统,对雷电反击更为敏感,即使很小的电位反击,也往往造成不必要的损失。   要采取多级雷电防护措施。IEC61312-1都有明确的防雷分区的概念,
[电源管理]
深圳山特UPS电源针对电机类负载的适应性设计
  在一些需要保证负载不断电的应用场合里面,有时客户会发现UPS频繁出现DC BUS高保护,或者负功保护等。一些客户会据此认为是UPS的质量问题。实际上多数情况下这都是由于后面带有电机类负载产生的现象。在工业场合中,电机是 一种主要的负载形式。当工业应用中的关键环节必需有足够高的电源保护等级时,UPS与电机类负载的配合问题就是一个要重点考虑的因素。   通常UPS的设计初衷是保护关键IT类设备,在电路结构上就主要基于IT类设备的特点进行设计。比如目前IT设备的主要是使用开关电源,而且欧盟法规 规定75W以上的设备都要具备功率因数校正。因此UPS主要面对的就是带有功率因数校正的负载,在通常情况下其特性是一个功率因数接近于
[新能源]
UPS电源防雷误区
误区之一:“防雷器”只是防雷   在UPS不间断电源的实际应用中,经常会遇到这种情况:明明是晴空万里,感觉不到任何雷电的现象,UPS内置的“防雷器”却损坏了。有些用户认为这是UPS机器质量有问题,可UPS本身却仍然可以继续正常工作。这种情况下,如果附近没有重型的动力设备,要想用“操作过电压”来说服用户,恐怕也不太容易。   事实上,国外对此类普通低压配电线路上的各种电压浪涌情况,也有不少统计和报道。例如美国的一则统计表明:在10000小时内,在线间发生的各种电压值浪涌的次数,超出原工作电压一倍以上的浪涌电压次数达到800余次,其中超过1000V的就有300余次。   可想而知,根本不需要雷电作用,要让“防雷器”
[电源管理]
UPS电源的稳态和动态测试方法
UPS电源的测试一般包括稳态测试和动态测试两类。稳态测试是在空载、50%额定负载以及100%额定负载条件下,测试输入、输出端的各相电压、线电压、空载损耗、功率因数、效率、输出电压波形、失真度及输出电压的频率等。动态测试一般是在负载突变(一般选择负载由0-100%和由100%-0)时,测试UPS输出电压波形的变化,以检验UPS的动态特性和能量反馈通路。 1 波形 一般是在空载和满载状态时,观测波形是否正常,用失真度测量仪,测量输出电压波形的失真度。在正常工作条件下,接电阻负载,用失真度测量仪测量输出电压总谐波相对含量,应符合产品规定的要求,一般小于5%。 2 稳态测试 所谓稳态测试是
[电源管理]
ups电源产生极板硫酸化的一些特殊原因
对于目前ups电源会产生极板硫酸化,为什么会形成这种现象了,可以说这个问题的形成有几个方面的原因:电池内部电解液液面低,使极板裸露部分硫酸化。电池初充电不足或初充电中断时间较长;具体会出现的现象: 1.电池长期充电不足; 2.放电后未能及时充电; 3.经常过量充电或小电流深放电; 4.电解液密度过高或者温度过高,硫酸铅将深入形成不易恢复; 5.电池搁置时间较长,长期不使用而未定期充电; 6.电解液不纯,自放电大;内部短路局部作用或电池表面水多造成漏电。
[电源管理]
可提高UPS电源供电可靠性的三种技术方案
改革开放以来,我国电力系统的建设存在无法满足各行业快速发展的要求,尤其是近年来出现的全国性电力供应不足,导致大面积的拉闸限电,严重限制了数字化建设的步伐和质量。例如,很多工厂由于限电无法全速运转,户外的无线通信业务由于停电无法正常运行,金融信息网络系统由于电网质量导致数据传输变慢、异常或部分停业,政府的信息化建设工作由于停电不得不延期等等,这一切说明电力系统的供电质量和可靠性对于数字化建设起到至关重要的作用。 因此,系统工程师在做数字化系统设计时必须充分考虑电源系统的可靠性。目前比较可靠的方法就是采用高质量的不间断电源UPS。 UPS在电网正常时能够给各类信息化设备提供高质量的交流电源,在电网异常时能够将后备电池组的直流能量转
[电源管理]
可提高<font color='red'>UPS电源</font>供电可靠性的三种技术方案
UPS电源科学使用方法还应配合正确维护方式
UPS 电源 的科学使用 任何电源在使用过程中都有它独特的一套规章制度和方法,供我们大家使用,科学的使用方法可以让ups电源的寿命更长,今天我们就来详细说说关于UPS电源的使用,而且ups电源有一套严格科学的作规程,以方便大家可以更加深入的了解 第一:定期对UPS电源进行维护工作:清除机内的积尘,测量蓄电池组的 电压 ,更换不合格的电池,检查风扇运转情况及检测调节UPS的系统参数等。 第二:(5)禁止超负载使用,厂家建议:UPS电源的最大启动负载最好控制在80%之内,如果超载使用,在逆变状态下,时常会击穿逆变 三极管 。实践证明:对于绝大多数UPS电源而言,将其负载控制在30%~60%额定输出功率范
[电源管理]
UPS电源科学使用才做规程
UPS是不间断电源(uninterruptiblepowersystem)的英文简称,是能够提供持续、稳定、不间断的电源供应的重要外部设备。 UPS电源的使用须有一套严格科学的操作规程: (1)UPS电源的场所摆放应避免阳光直射,并留有足够的通风空间,同时,禁止在UPS输出端口接带有感性的负载。 (2)使用UPS电源时,应务必遵守厂家的产品说明书有关规定,保证所接的火线、零线、地线符合要求,用户不得随意改变其相互的顺序。比如,美国某品牌UPS电源的交流输入接线与我国的交流电输入插座的连接方式正好相反。还有例如EAST〈东方〉的三相UPS需要注意相序问题,否则会出现相序错误报警,其他品牌也是如此。 3)严格按
[电源管理]
小广播
热门活动
换一批
更多
最新电源管理文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved