您的位置 首页 基础

一种根据实时操作系统μC/OS-II的嵌入式UPS系统控制计划

针对数字化UPS,给出了系统总体设计框图,为提高系统控制程序的实时性,提出一种基于实时操作系统μC/OS-II的嵌入式UPS系统控制方案。通过对UPS控制系统结构与功能的分析,实现了μC/OS-II在

  针对数字化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 相

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/242653.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部