基于μC/OS-II的电力参数监测仪设计
扫描二维码
随时随地手机看文章
电力参数的测量与监控对于电能管理的科学化水平有着至关重要的影响,于是研制了各种电力监测仪器。随着电子技术的发展,微型机、单片机以及DSP处理器的处理速度大大提高,为电力参数测量方法提供了有利的硬件支持Ⅲ。因此,提出了一种基于DSP嵌入式实时操作系统的电力参数测量仪器及硬、软件设计方案。
2 系统硬件设计
2.1 系统硬件架构
电力参数测量仪器系统的硬件部分是以TI公司的TMS320LF2407A为核心,其软件部分是以μC/OS-II为执行软件,在此基础上开发了一种具有电力参数测量、显示和通讯功能的智能化检测仪,给出了比较完整的外设扩展,包括电源电路、监控电路、时钟电路、JTAG端口电路、模拟量输入电路、频率采集电路及通讯电路等,同时该系统还具有实时时间显示和看门狗功能,且可通过RS232或CAN总线与外部(微机)通信,其原理框图如图1所示。
一般情况下,根据系统所需实现的功能、处理速度和存储器寻址能力选择合适的处理器及外围器件。由于系统涉及信号处理和数学计算,因此选择定点的DSP作为处理器,根据所选的处理器确定所需的外部设备。包括定态RAM,E一PROM,闪存,串行和并行通信接口,网络接口,可编程定时器/计数器,状态LED指示和应用的专门硬件电路。
系统中选用了TI公司的TMS320LF2470A DSP作为主控制器,它是TMS320LF2407的增强型,其内部总线采用哈佛结构,指令执行速度为40 MI/s,绝大部分指令可以在单周期内执行完毕。在TI的240x系列的DSP中,TMS320LF2407A无论内部结构和外围控制接口,都具有优异性能,考虑到该型号的DSP内部集成有A/D转换器,CAN模块,高达32 K的Flash程序存储器。应用这些资源可大大简化该系统的硬件结构,并且其高速处理特性可实现很多先进的控制算法。
2.2 信号预处理电路
交流模拟量输入电路由隔离电路和调理电路组成,隔离电路的作用是将交流电压或电流转换为直流信号,并把这些信号送给模拟量调理电路。由于TMS320LF2407A的模拟电压输入范围为O~3.3 V,因此应首先通过传感器或运算放大器将测量电压转换至合适的电压范围,同时在模拟电压进入DSP之前设计合理的电压跟随器,使电压增益趋近于1。
2.3 电力参数测量算法
通常需监测的电力参数包括电压、电流、频率、有功功率等。对于电压、电流参数的测量,常用的方法有直流采样法和交流采样法。对于频率参数的监测方法采用DSP中的捕获单元来监测。
电压电流的直流采样法,是指采集经整流后的直流量。采用直流采样算法测量电压、电流时,均是通过测量平均绝对值来测量电参量有效值。此方法软件设计简单,计算方便,对采样值只需作比例变换即可得到被测量的数值。直流采样法的缺点是:测量准确度直接受整流电路的准确度和稳定性的影响;整流电路参数调整困难,而且受波形因数的影响较大等。交流采样法是按一定规律对被测信号的瞬时值进行采样,用一定的数值算法求得被测量。它与直流采样的差别是用软件功能代替硬件功能。是否采用交流采样取决于两个条件:测量准确度和测量速度。交流采样法包括同步采样法、准同步采样法、非整周期采样法和非同步采样法等。通常,采样点数的选择和采样频率的选择很重要。如果采样频率选择过高,即采样间隔小,则一个周期里采样点数过多,造成数据存储量过大和计算时间太长:但如果采样频率过低,FFT运算在频域将会出现混淆现象,造成频谱失真,使之不能真实反映原来的信号。
电力参数的频率测量方法采用过零比较器产生方波,然后利用DSP中的捕获单元CAP,捕获上升沿或下降沿,通过计数器计数,计算频率。TMS320LF2407A的事件管理器共有6个捕获单元。对于EVA模块,与它相关的捕获单元引脚有3个,分别是CAPl、CAP2和CAP3,可以选择通用定时器l或2作为其时基,然而CAPl和CAP2一定要选择相同的定时器作为时基。对于EVB模块,与它相关的捕获单元引脚也有3个,分别为CAP4、CAP5和CAP6,可以选择通用定时器3或4作为其时基,然而CAP4和CAP5也一定要选择相同的定时器作为时基。在捕获单元使能后,输入引脚上的指令跳变,将所选通用定时器的计数值装入到相应的FIFO堆栈。与此同时,相应的中断标志位被置位,如果该中断标志没有被屏蔽,则外设中断将产生一个中断请求信号。
每当将捕获到的新计数值存入到FIFO堆栈时,捕获FIFO状态寄存器(CAPFIFOx)的相应位就进行调整以反映FIFO堆栈新的状态。从捕获单元输入引脚处发生跳变到所选通用定时器的计数值被锁存之间的延时需要2个CPU时钟周期。通过以上方法计算频率。
3 系统软件设计
系统软件分为执行软件和应用软件,执行软件采用实时多任务操作系统μC/OS-II。μC/OS-II是一种源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统,并且已经通过了联邦航空局(FAA)商用航行器认证,符合RTCA(航空无线电技术委员会)D0一l78B标准(该标准是为航空电子设备所使用软件的性能要求而制定的)。由于μC/OS—II采用多任务机制,采用优先级调度算法完成任务间的调度,并支持抢占式调度,通过任务调度和任务监视,系统具有较好的实时性和安全性。同时μC/OS—II具有可裁减的体系结构,并具有内存管理、中断管理和任务控制块(TCB)扩展的功能,该软件具有较好的可扩展性,因此选择μC/OS—II作为系统执行软件。
将系统任务分为模拟量采集任务、电力参数计算任务、通讯任务和显示任务等,并分配不同的任务优先级。
当确定μC/OS—II中的任务,并给任务赋予优先级,系统即可按照μC/OS-II的调度机理进行任务调度,具体由哪个任务工作是由调度器(scheduler)完成。任务调度分为中断级调度和任务级调度,中断级调度由μC/OS—II中的OSIntExt()函数完成;任务级调度由μC/0S—II中的OSSched()函数来完成。系统中,时间片的产生,通讯接收中断,A/D转换器采集中断都是属中断级调度,其余的任务均属任务级调度。
μC/OS—II的任务调度机制:属于基于优先级的占先式任务调度算法,系统中的任务都有一个固定的优先级,在任意时刻内核总是将CPU的控制权分配给就绪状态的最高优先级的任务,如果系统内核在某刻发现有比当前任务优先级更高的任务处于就绪状态,内核立即保存上下文,并切换到优先级更高任务的上下文执行。
在实际应用中,首先将实时多任务操作系统μC/OS—II移植到TMS320LF2407A中,现在关于μC/OS—II移植到该处理器的源代码较多,此处不作分析,只将移植时需用户自己编写几个函数列出:①编写OS_CPU_A.ASM;包括4个子程序 _OSStartHighRdy();_OSCtrxSw();_OSIntCtxsw()和0STickISR();这需对处理器的寄存器进行操作,所以必须用汇编语言编写。②编写0S_CPU_C.C;本文件仅包括OSTaskStkInit()子程序,该函数模仿TI公司的I$$SAVE库函数对任务堆栈初始化。③编写OS_CPU.H;包括了用#define定义的与处理器相关的常量、宏和类型定义。有系统数据类型定义,栈增长方向定义,关中断和开中断定义,系统软中断的定义等等。④按需配置OS_CFG.H,按需修改CPU中断向量表和外设向量表。在成功移植μC/OS一Ⅱ后,就可添加相应的应用任务子程序,然后逐个任务调试,最后完成系统的软件设计。
4 应用
系统在实际应用中除了实时获得和显示操作系统的电力参数以外,可实现必要的保护功能。例如在实现电力线路微机保护中,评价系统性能好坏很重要的一项指标就是跳闸出口时间,即从故障发生时刻到装置动作输出跳闸信号所用的时间。下面以过电压保护为例分析采用μC/OS—II的保护装置对故障的响应速度。
对于速断保护,跳闸出口时间一般包括等待A/D采样中断时间、A/D采样时间、等待保护中断时间、保护任务运行时间及保护继电器动作时间。其中继电器动作时间和等待保护中断时间占整个响应时间的90%,其他几个时间可以忽略。在保护装置中采用的继电器动作时间约为10 ms,等待保护任务需5 ms,故理论上讲出口时间为15 ms,表1为实际测量中得到的数据,结果表明2类数据基本相符。
5 结语
系统是基于实时嵌入式操作系统μC/OS—II设计的电力参数监测仪器,具有结构简单,成本低廉等优点。实验表明,该系统在数据处理、转换、通讯等方面,具有实时性高,系统抗干扰能力强,可扩展性好,易于在类似的工业及民用的测控系统使用。