基于μC/OS-II的数字化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)逆变控制、锁相控制、保护控制、键盘及液晶显示、通信接口、实时时钟等功能模块。
4 数字化UPS任务设计及调度
控制软件主程序流程图如图3 所示。通过对UPS控制系统结构与功能的分析,各部分控制功能划分为不同优先级的任务,由μC/OS-II实时内核进行调度,实现多任务并行执行。
![图 3 主程序流程图](../img/eep/emb/emb-32097bvri3yrbnqv.jpg)
图 3 主程序流程图
(1)数字化UPS 任务设计:如表1 所示,采用层次化、模块化的设计思想,根据各个任务的重要性和实时性,把用户程序分成9 个不同优先级的任务,包括数据采集及PWM 波计算、锁相同步、通信处理、系统参数计算、系统状态检测及处理、键盘扫描、键盘处理、液晶显示、空闲任务。任务越重要,实时性越强,任务优先级越高。空闲任务不执行任何功能,一直处于就绪状态,只有其他任务空闲时才执行。
表1 数字化UPS任务功能及其描述
![表1 数字化UPS任务功能及其描述](../img/eep/emb/emb-320985ebj443m00j.jpg)
(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 任务调度流程图。](../img/eep/emb/emb-320993knoioztay0.jpg)
图4 任务调度流程图。
通信信号量OSComSem,用于任务3 和通信中断子程序进行通信。一旦接收到上位机发过来的信号,中断子程序就发出这个信号量,告诉任务4对接收数据进行处理。
键盘信号量OSKeySem,用于任务6 和任务7 通信,一旦扫描到有键按下则发出该信号量告诉任务7做键盘处理。
![](../img/eep/emb/emb-32100qavulpy54ls.jpg)
图 1 数字化UPS系统总体框图
(1)A/D转换:完成对市电输入的交流电压、电流信号、逆变输出的交流电压、电流信号、电池电压和电流信号的采样,是系统数字化控制实现以及UPS远程监控功能的基础。根据LF2407A A/D转换电平要求,被采样信号必须通过信号检测模块变换为0~3V直流电平。为提高系统性能,对输入/输出电压、电流进行瞬时值采样,采样频率为10kHz.
(2) PWM 逆变控制:PWM 逆变控制算法是UPS系统控制的核心算法,它决定了UPS系统输出性能。
逆变算法利用LF2407A 强大的数值运算性能以及高速计算能力实时在线计算出PWM信号脉宽,然后由A事件管理
实现 方案 设计 UPS C OS-II 数字化 基于 相关文章:
- 3DES算法的FPGA高速实现(06-21)
- 基于DSP的Max-Log-MAP算法实现与优化(05-27)
- DSP中DMA操作的无阻塞请求实现(06-18)
- 二维DCT编码的DSP实现与优化(09-08)
- 基于DSP处理器上并行实现ATR算法(01-29)
- 基于DSP的H.324终端设计(05-27)