基于FPGA 时间同步技术的实现
2010-09-22周国平
周国平
(南京林业大学信息科学技术学院,南京 210037)
1 引言
随着电力系统自动控制水平的不断提高,发电厂、变电站和电力调度等各种自动化设备的运行离不开时间的统一。
目前在实际应用中,电力设备的多样性使得对时间同步的要求也各种各样,应用较多的时间源为GPS、BD(北斗)和IRIG-B,由此提供高精度的时间基准,通过解码转换形成秒(分或时)脉冲信号、IRIG-B交直流码、NTP、IEEE 1588(PTP)、RS232和 RS485(RS422)串口报文等输出方式,完成对全站受时装置的对时。
本文结合变电站时间同步技术的现状和发展,探讨基于FPGA实现多时钟源冗余输入和多格式输出的技术应用,以期满足变电站对时间同步的需要。
2 问题的提出
2.1 基准时间的选择
根据电力系统对时间同步技术要求,在考虑时间系统的安全性和可靠性,选择GPS和BD作为空基卫星授时无线时间基准信号输入,同时选择IRIG-B作为外部授时有线时间基准信号输入。
另外系统配置外部高稳定的恒温晶振输入,经FPGA锁相处理,提供高精度、稳定的频率信号,经外部时基信号同步,形成内部时钟,实现时间的同步和统一。
2.2 同步时间输出的选择
电力系统自动化设备种类繁多,对时间同步的要求也各种各样。FPGA的实时性和多输入输出端口,使得实现多种时间信号输出成为可能。
目前时间同步信号主要包含为:脉冲校时(秒脉冲、分脉冲和时脉冲)、串口校时、交直流IRIG-B码校时、NTP或PTP网络校时,以及光纤接口校时等。
3 基于FPGA系统方案的实现
根据变电站对时间同步的要求,选择FPGA为核心,实现多时钟源输入和多授时方式输出接口的时钟装置,系统组成原理框图如图1所示。
3.1 同步信号的处理
图1 时间同步系统组成
时钟系统的时间同步信号主要来自外部时钟源,对外部时钟源发送的数据和脉冲信号进行处理,获得时间信息和准时间沿信息,通过解调出的时间信息校正系统内的时分秒和日期,并对解调出的准确时间沿脉冲(通常是秒脉冲信号)同步系统的脉冲输出及各输出信息的发送时刻。
空基时基信号的获取:将GPS和BD的NMEA 0183[1-2]输出语句统一设置为4800波特率、异步传输方式,经转换为TTL电平输入到FPGA。GPS的输出语句选择$GPZDA[3],<1>,<2>,<3>*hh<CR><LF>语句;BD的输出语句选择$CPZDA,<1>,<2>,<3>,<4>,<5>,<6>*hh<CR><LF>,通过对该语句按格式译码,以获得时间和日期等。
异步传输是按字符传输的,一个字符的信息由起始位、数据位、奇偶校验位和停止位组成[2],1位起始位、8位数据位、2位停止位和无校验位异步数据帧格式见图2所示。
通过检测输入数据的下降沿获得起始位,按波特率生成接收时钟,采集串行输入数据并移位操作。
判断标志信息,提取数据位数据,进行串转并处理,获得时间信息和有效/无效状态信息,并将两者的信息转换成相对应的年月日时分秒的时间信息以便比对。
图2 异步通信的帧格式
有线时基信号的获取:IRIG-B码是一种常用的授时方式,含有时间信息和准确的脉冲沿信息。输出是一种串行时间码,帧长1S,共计100个码元,码元宽度为10ms,采用脉宽编码形式,2ms脉宽表示“0”、5ms脉宽表示“1”、8ms脉宽表示“P”[4],格式见图3所示。
图3 一帧B码示意波形图
采用10kHz时钟信号对B码的输入信号进行计数处理,设定误差范围(如±5个单位相当于0.5ms误差),识别“0”、“1”、“P”码,获得时分秒、天数和年数据[4],并转换成相对应的年月日时分秒的时间信息以便比对。
IRIG-B脉冲信号的获取:连续出现2个P标志位是IRIG-B码准确的帧头,其中第2个标志位的前沿与秒脉冲信号同步。在PR码头前1ms输出秒控制信号B与IRIG-B码的信号A进行与运算,输出的C信号即为解调出来的同步秒脉冲信号,确保了秒脉冲前沿的精度,见图4所示。
图4 IRIG-B解调秒脉冲的形成
基准信号的比对:分别对时间信息和秒脉冲信息进行比对。在时间数据比较相同时认为时间信息一致,而脉冲前沿在允许的误差范围内(如±0.5µs)认为一致。
基准信息的选择:系统通过参数设置健设置基准时间输入的优先级,通常按BD-GPS-IRIG-B设置优先级,也可以按GPS-BD-IRIG-B设置优先级等。当三个或两个时基源比对结果完全一致时,选择结果一致的时基源优先级最高的冗余时间信号和脉冲信号输出,当比对结果不一致时不进行时间同步。
选择冗余输出的时间信息同步内部时间(需要进行加1s处理),脉冲信号同步分频电路和全局时间。
3.2 输出信号的处理
经同步驯服的频率信号在 FPGA内部分频计数,输出标准的1PPS、1PPM和1PPH信号。
将参考码元、识别标志、秒、分、时、天、年和当天的总秒数,按图3所示的时序格式编码,进行并转串处理,数据输出选择响应的计数脉宽输出,参考码元和识别标志选择 8ms的脉宽输出,数据“0”和“1”分别选择2ms和5ms的脉宽输出,由此获得IRIG-B直流码信号。
IRIG-B直流码信号经正弦调制,经DA转换、驱动和变压器隔离输出交流B码。
根据UART协议,将发送数据锁存为并行数据,由数据传输波特率产生的发送时钟发送移位输出,即完成数据的异步发送。
3.3 输出信号的接口电路
根据电力系统对时间同步信号及数量的不同需求[5],通过参数设置选择脉冲信号(1PPH、1PPM和1PPS)、B码、串行信号进行二次分配,通过本系统设计的4路TTL、4路RS232、4路RS485(或RS422)、4路高速光电隔离器6N137或4路850nm的光纤发送器HFBR1412输出。
网络时间同步是数字变电站和数字化设备普遍采用的一种重要的同步方式,目前分为NTP和PTP两种授时[6-7]。NTP精度在局域网内可达毫秒级,用以太网控制芯片RTL8019AS实现,而PTP的精度可达纳秒级,主要用以太网控制芯片DP83640T实现,通过串行时间信息和同步的脉冲信号输入获得专用NTP或PTP模块的同步时间,经处理按相应的网络协议组成网络对时输出,同时可以服务于多台对时设备的时间请求。
4 结论
系统以BD、GPS为主和IRIG-B为辅接入时基信号源,提高了系统的授时精度和可靠性,同时对高稳晶振进行同步锁相处理,增强了时间间隙的准确性和系统的守时精度;针对多个设备时间同步方式的不同需求,可以经FPGA将各种授时信号进行灵活的分配获得。经过系统测试实现了预期的设计要求。
[1]王柏武,杨子杰,龙志,陈飞.GPS在双(多)基地高频地波雷达中的应用[J].现代雷达,2005,27(5): 65-68
[2]刘源,李萌,谢通,董利民,吴武臣.基于 IP的异步通信接口 UART设计及其 FPGA实现方法[J].电子工程师,2005,31(3):66-68.
[3]GPS 15H&15L Technical Specification. Garm in International,Inc.2002.
[4]王智平,佟刚,曹永刚,潘轶群.FPGA 在 IRIG-B 码源设计中的应用[J].微计算机信息,2009,25(2):167-169.
[5]张岚,张斌.电力时间同步系统的建设方案[J].电力系统通信.2007,28(171):23-27.
[6]欧阳家淦,岑宗浩,周健.PTP时钟同步协议分析及应用探讨[J].华东电力,2008,36(8):62-65.
[7]杨亮,马党梅.IEEE1588 PTP协议在数字化变电站中的应用[J].机电信息,2009(30):102-104.