摘要:介绍使用MSP430F149在电力测控保护产品研制中实现基本参数测量的软硬件设计方法,及该芯片在使用中应用注意的问题和相应的处理措施。
MSP430F149(以下简称“F149”)是德州仪器(TI)公司推出超低功耗Flash型16位RISC指令集单片机。F149有丰富的内部硬件资源,是一款性价比极高的工业级芯片。在应用中,F149不需做过多的扩展,适合要求快速处理的实时系统,故可在电力系统微机测量和保护方面得以应用。详细的F149资料可参阅有关文献,本文主要对电力系统中基本参数测量的实现方法和开发中一些应注意的问题进行论述。
1 F149外围模拟信号调理
在电力系统微机测量中,通常将一次额定电流和电压通过电流互感器(TA)、电压互感器(TV)分别转换为0~5A的电流信号和0~100V的电压信号,该信号再经一级互感器转换为数百mV~几V的电压信号,具体输出电压的幅值,可根据实际电路的情况来定制。
F149内置的模数转换器(ADC)的单极性ADC,其输入范围0~2.5V。对于双极性的输入信号,必须转换为单极性输入信号,即对信号进行直流偏置。实现直流偏置可采用电阻分矿井或运放升压的方式。电阻分压方式的电路形式如图1所示,这种电路实际上采用的是单电源供电,可双极性输入的ADC芯片内部结构,+2.5V的基准可由F149提供。运放升压的方式是利用运放的特性将零点进行偏置,如图2所示,输入与输出的关系有:V0=1.25V-Vi。可见,输入与输出在相位上是反相的,在使用多级运放对信号进行放大或缩小处理时,应保证各路输出信号相位的一致。当然,相位的处理也可通过软件的数据处理来实现。
电阻分压方式具有结构简单,成本低的优点,且允许幅值较大的双极性模拟信号在板内传输,在外界干扰一定的时候,提高了信噪比。对于F149内部的积分型ADC而言,电阻分压方式的输入阻抗较大,为保证片内电容的充电时间,以达到应有的测量精度,需相应延长采样的时间。
运放升压方式需要精密运放的配合,成本较高,且低阻抗输出的+0.625V基准源也不易得到,但电路的输出阻抗低,可提高ADC的采样速度。
电力系统中电流测量的范围很大,在额定值1.2倍范围内,要求测量精度为0.5级;在1.2~20倍保护范围内,要求精度较低,为3级。在电路设计中,通常使用可编程PGA(增益放大器)来解决大范围信号测量的问题。考虑PGA方式判断、切换所需的时间较长和保护范围内对测量的高实时性要求,在本系统中,采取对电流的两段范围同时采样的方法,即将电流信号一分为二,保护范围内的信号进行压缩处理,使用两路A/D口同时进行采样。
对于三相电路,此时有3路电流测量信号、3路电流保护信号和3路电压信号,共9路信号,而F149仅提供8路外部信号采样通道。为此,将F149的负参考电平VeREF测量通道用于信号测量。
2 F149内置ADC采样时序控制
内置ADC工作于序列通道单次转换模式,通过控制采样/转换位ADC12SC来触发ADC。ADC12SC可由一定时器来置位,该定时器的定时时间根据当前工频的实际周期和每周期的采样点来确定,使得采样时间间隔能跟踪工频的变化,减小了测量的非同步误差。
当ADC数据转换完成时,ADC12SC自动复位,同时会产生一个中断,对各通道的当前读数据读取,并可对数据缓冲区进行数据更新。
3 交流采样算法
交流采样算法有多种选择,考虑F149的运算速度和采样速度,在每周期采样24点或36点和不需做谐波分析的情况下,在测量范围内计算,推荐使用真有效值算法,这样方法具有高的严谨和相对较小的运算量。在保护范围内计算,此时精度要求不高,而对实时性要求高,要使用基于正弦波模型的半周期积分法进行计算,这种方法仅须半个周期的数据窗,计算量小。半周期积分法的精度与采样点数和计算的首点有关,当计算首点最接近其有效值时,误差最小。以下给出两种方法离散化后的计算公式。
真有效值算法:
式中N为每周期等间隔采样点数,u(k)、i(k)分别为第k次采样的电压、电流瞬时值。
4 快速开平方算法
计算有效值离不开开平方运算,开平方运算是非常耗时的算法。常见的定点数开平方运算有牛顿选代法、快速查表法、直流逼近法和试根法等。对于查表法,当被开方数变化范围较大时,提高运算精度和减少内存占用量是相矛盾的;直线逼近法需要存贮各段线性逼近函数的斜率和截距值,当要求的运算精度增加时,线性段的划分越密,运算处理时间随着增加;试根法的缺点是运算时间与被开放数的大小有关,并被开方数据很大时,试根次数增加,运算执行时间将变长;牛顿迭代法是一种一致收敛的开平方算法,若初始值选取得当,只需很少次甚至是一次迭代算法,即可得到满足给定精度要求的运算结果,但如果初值选择不当,将须多次迭代,在微机测量保护中电流、电压的动态变化范围很大,从而增加了选择初值的难度。
开平方函数f(x)=x2-c=0的根的牛顿迭代公式为:
可证明上述迭代算法是收敛的,收敛的速度完全取决于X0的选择,x0越接近真值根号c,收敛速度越快。
为选择适当的初值x0,可使用查表法。根据开方函数f(x)=x2-c=0的特点(当待开方数较小时,曲率大,插值误差也就较大,故要保证误差一致,则应取不待步长,低端步长小,高端时步长大),用不等步长存储表格可减少表格的存储量,提高查表时间。实际应用中,将不等步长查表法与牛顿迭代法相结合,形成一种混合开平方算法,查表用于给出牛顿迭代初值,经3次的迭代运算即可达到精度要求。
5 工频频率测量
工频频率是电力系统中基本的参数之一,利用F149内部的硬件资源可方便的实现频率测量。取一路电压信号,如A相电压信号+1.25V的直流电平信号进行比较,比较器输出的方波信号送至工作于捕获模式的定时器。定时器的时钟源泉为8MHz主频经8分频的1MHz信号。定时器在方波的上升沿开始计数,在下一上升沿到来时将计数值锁存,该计数值对应于工频的周期,经转换后即可得到工频频率。
在实际开发过程中遇到的问题是,虽然在F149内部可实现比较器与定时器的连接,但因该比较器无迟滞比较的功能,当比较器两输入端的电平接近时,比较器的输出端会产生振荡,因此必须将比较器的输出信号加以整形,方能输入到定时器上。F149内部比较器模块的内部滤波单元滤波效果不理想,故将比较器的输出引出,经RC滤波后再送到定时器上,其结构如图3所示。
以下给出定时器捕获中断的处理程序,由于工频频率的变化范围小,采样这种方式不需处理计数溢出中断,结构较为简单。
interrupt[TIMERA1_VECTOR]void TImer_A1(void){switch(TAIV){
case 2:
{First_Cnt=CCR1;
if(First_Cnt>Last_Cnt)
Period=First_Cnt-Last_Cnt;
//计数无溢出
else
Period=65535-Last_Cnt+First_Cnt;
//计数溢出
Last_Cnt=First_Cnt;
Break;}
}
}
6 系统可靠性措施
微机系统抗干扰方面的文献已有许多,在这里对实际使用F149应注意的问题及处理方法进行论述。
①确保输入信号的幅值不超过规定范围。过大的输入或冲击可能导致程序运行不正常。在恶劣的电磁干扰干扰下工作时,应采用吸收、滤波和隔离等技术对输入的信号进行处理,对于难于确定输入范围的模拟信号也应有相应的限幅措施。
②F149的输出功率较小,在有较多信号需要驱动时,应考虑在其外围增加驱动芯片,以减小F149的输出电流,这对于F149的稳定运算是很有意义的。同时,对于与外部有较长引线的接口(如键盘、LCD),驱动(缓冲)芯片,此时还能起到隔离电磁辐射干扰的作用。
③F149未使用的引脚,应将其设置为输入模式,并将该引脚做接地处理,这些措施有利于抗电磁辐射和静电干扰。
④使用复位芯片来控制F149的复位;在成本允许的条件下,可外置-“看门狗”,构成双“看门狗”结构,提高系统运行的可靠性。
⑤如能使用商业化的交流电源滤波器、LDO电源芯片、直流扼流圈等措施,将使系统的电源抗瞬态干扰能力大幅增强。
MSP430F149是一款性价比极高的工业级芯片,适当的电路设计,可使其可靠地工作在恶劣的电磁干扰环境下。笔者使用F149设计的系统已通过国家相关标准EMCIII级测试。