微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 分布式录波器高精度同步时钟信号的实现

分布式录波器高精度同步时钟信号的实现

时间:11-06 来源:3721RD 点击:

随着智能电网技术大踏步地向前发展,电力部门对故障录波装置的分布式应用要求越来越高,对在分布式系统中的录波同步的要求也越来越严格,仅采用单一的GPS对时系统已不能完全满足电网运行的要求。因此,需要引入更多的启动逻辑作为系统同步录波的判据。

目前智能变电站的时间同步系统的主时钟多采用GPS和北斗的双系统对时,对于作为从时钟的二次装置(如保护、测控、故障录波、合并单元等)一般采用IRIG-B码对时方式。长期以来,IRIG-B码对时也一直是电力部门较为青睐的一种时钟源,而且大多二次设备多采用CPU的方式进行编解码。但由于CPU在受到干扰的情况下容易出现死机、崩溃、复位等现象,尽管时间短暂,在故障录波的情况下是绝对不允许的。针对以上情况,本文提出了一种基于Altera公司的MAXII570来实现IRIG-B解码器的设计思想,利用CPLD基于硬件逻辑、对环境的抗干扰性能强等优势来避免产生类似的情况,以提高设备运行的可靠性与安全性。

故障录波器是电力系统发生故障及振荡时能自动记录故障前、后过程的各种电气量变化的一种装置。它可以记录因短路故障、系统振荡、频率崩溃、电压崩溃等大扰动引起的系统电流、电压及其导出量(如有功、无功以及系统频率)的全过程变化。主要用于检测继电保护与安全自动装置的动作行为,了解系统暂态过程中系统中各电参量的变化规律,以及校核电力系统计算程序及模型参数的正确性等。目前,故障录波装置的录波结果是分析电力系统故障的重要依据。

在分布式的录波系统中,各子单元之间需要在同一节拍下完成模数转换工作,以达到同步采样的功能。因此需要一个"同步节拍器"来完成各子单元之间的信号同步,当出现故障的时候,由监测到故障的单元向本同步器发出录波启动信号,由本同步器向其他子单元发出同步录波的命令,从而达到同步录波的功能。
本文介绍的一种采用MAXII570实现分布式录波系统同步的设计思想,为充分利用MAXII570芯片资源,将上述所有同步启动信号的启动逻辑均集成在芯片中。

1 系统结构

采用MAXII570实现分布式录波系统的IRIG-B(DC)解码器的框图如图1所示。在变电站中由主时钟或扩展钟送出的IRIG-B码到达故障录波装置后,经过MAXII570解码后产生秒脉冲、串行时标等TTL信号。由于TTL传输距离比较短,很容易受到干扰,所以将其转换为RS485电平后发送给各子单元。这样不仅可以做到长距离传输,而且可以大大提高抗干扰性能。在实际的应用环境中,若主时钟系统送过来的IRIG-B码源为本身就为RS485信号,则在该系统中同样可以工作,只需调整光耦前端的限流电阻大小即可实现解码。

为提高系统同步时钟的精度和稳定性,设计时采用一片12.8 MHz的温度补偿晶振的输出作为主振频率。温度补偿晶振的精度为0.5 ppm,经过分频后可以产生稳定可靠的12.8 kHz作为模数转换的工作频率。

故障信号为各子单元发送过来的信号,作为系统的同步判据。当系统收到故障信号后,发出录波启动信号,通知各子单元启动录波,经过一段时间后(该时间可以由整定值设定),发出录波结束信号,完成本次录波工作。当出现连续故障时,只要对应的子单元发出故障信号即可,其余的同步工作由本系统完成。

2 IRIG-B解码器的实现

图2为IRIG-B(DC)码的示意图[1]。它是每秒一帧的时间串码,每个码元宽度为10 ms,一个时帧周期包括100个码元,为脉宽编码。码元的"准时"参考点是其脉冲前沿,时帧的参考标志由一个位置识别标志和相邻的参考码元组成,其宽度为8 ms。每10个码元有一个位置识别标志:P1、P2、P3,…,P9、P0,均为8 ms宽度;PR为帧参考点,二进制"1"和"0"的脉宽分别为5 ms和2 ms。

一个时间格式帧从帧参考标志开始。因此连续两个8 ms宽脉冲表明秒的开始,如果从第二个8 ms开始对码元进行编码,则分别为第0,1,2,…,99个码元。在B码时间格式中含有天、时、分、秒,顺序为秒-分-时-天,所占信息位为秒7位、分7位、时6位、天10位,其位置在P0~P5之间。P6~P0包含其他控制信息。其中"秒"信息为第1~8个码元;"分"信息为第10~17个码元;"时"信息为第20~27个码元;第5、14、24码元为索引标志,宽度为2 ms。时、分、秒均用BCD码表示,低位在前,高位在后;个位在前,十位在后。

IRIG-B的解码过程采用最简单的脉宽测量方法实现,经过编译比较,该方法所耗用的CPLD资源最少。IRIG-B码元信号的高低电平均为1 ms的整数倍,所以测量该信号的基本时钟采用1 kHz的时钟信号作为解码时钟。该时钟由系统输入的12.8 MHz时钟经过12 800次分频后产生。脉宽测量部分VHDL源代码描述如下:

measureBwide:process(inputHClk)
begin
if rising_edge(inputHClk) then
if pwmMeasureEnable=′1′ then
--上升沿开始计数
regCountH<=regCountH+1;
--计数器++
regOutputReadEnable<=′0′;
--此时数据不可读
else null;
end if;
if (regBLast=′1′)and( regBCurrent=′0′) then
--降沿判断脉宽
case (regCountH) is
when 5000 to 14000 =>
regOutputData<="0010";
- regOutputPwm0Or1<=′0′;
when 20000 to 30000=>
regOutputData<="0101";
regOutputPwm0Or1<=′1′;
when 35000 to 48000=>
regOutputData<="1000";
regOutputPwm0Or1<=′0′;
when others=>NULL;
regOutputPwm0Or1<=′0′;
end case;
regCountH<=0;
regOutputReadEnable<=′1′;
--此时数据可读
else null;
end if;
else NULL;
end if;
end process measureBwide;

IRIG-B解码的主要任务是找到码元起始报头,也就是2个连续的占空比为8 ms:2 ms的脉冲。找到报头后,根据码元的分布情况逐一解出相应的数据即可。找到起始报头后,输出秒脉冲,同时根据解码数据输出串行数据。本文利用12.8 MHz进行1 333次分频产生9 600 b/s的串行数据波特率,虽然不是整数,但是可满足串行数据的误码率要求。

分脉冲由秒脉冲计数器产生,即计数器计满1 min时,输出一个脉冲。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top