基于fpga的网口高精度时间标定方法

文档序号:9633612阅读:815来源:国知局
基于fpga的网口高精度时间标定方法
【技术领域】
[0001]本发明涉及电力自动化通信测试技术领域,特别涉及一种基于FPGA的网口高精度时间标定方法。
【背景技术】
[0002]目前,智能变电站是智能电网建设的重要组成部分,是实现能源转化和控制的核心平台之一,根据《2013-2017年中国智能电网行业分析及发展前景预测报告》,智能变电站在我国拥有广阔的发展前景。智能变电站特点是合并单元、智能终端等数字化智能设备的应用及基于IEC61850标准的网络通信与数据共享。智能变电站对于站中的智能设备网络数据通讯的时间准确性以及响应实时性提出了较高的要求,比如对于合并单元的采样值帧发布离散性性能来说,要求不大于±5 μ s ;对于智能变电站的组网交换机,其帧存储转发时延不应大于±10 μ s ;而对于智能终端及站控后台其通信响应要求也在ms级。为了能对变电站设备的这些测试项进行准确的衡量,就必需有一种对网络信息帧进行准确时间标定的方法。
[0003]现有设备中网络帧时间标定功能的实现大部分是由网卡接收以太网帧产生中断给CPU,由CPU进行时间标定。这样标定时间的精度除了时标的精度还取决于中断产生的准确性,以及CPU对中断的响应时间。由于CPU对中断处理存在不确定性,导致了这种方法的时间标定精度不能够适应新的测试需要。
[0004]此外,时标精度取决于时间的均分算法,该算法可以决定秒以下时间时标累积误差的大小;由于网络上的数据帧纷繁多样,可能并不都是需要系统处理的数据帧,而如果这些帧在硬件层面不进行靶向过滤处理(即具有针对性的过滤处理),会增加软件处理的工作,降低系统效率。

【发明内容】

[0005]针对上述情况,本发明提供了一种可对数据帧进行靶向过滤,只对系统需要的数据帧进行高精度时间标定并以标准以太网帧格式上报给软件分析的基于FPGA的网口高精度时间标定方法。
[0006]为解决上述问题,本发明采取的技术方案为:基于FPGA的网口高精度时间标定方法,包括如下步骤:
[0007]基于FPGA的网口高精度时间标定方法,包括如下步骤:
[0008]步骤一、FPGA的通讯网口接收模块接收系统软件发送的配置命令并由配置报文接收处理模块进行解析,更新测试网口接收模块的过滤条件,配置时间标定方式并设置PHY芯片的工作模式;
[0009]步骤二、FPGA接收外部标准时钟源的标准时间信号,采用跟踪策略与标准时间信号进行同步;
[0010]步骤三、对与标准时间信号同步后的内部时间信号采用均分算法,对每一秒内部时间信号进行处理,产生标定时间源;
[0011]步骤四、一类报文由外界传入测试网口接收模块,符合过滤条件的报文按照配置的时间标定方式进行时间标定后直接经接收及测试帧发送模块转发至通讯网口发送缓冲区由上位机进行统计分析;另一类报文,例如电力系统合并单元发送的采样值,由接收及测试帧发送模块自行产生并发送至测试网口发送缓冲区,测试网口发送缓冲区显示非空时,测试网口发送模块读取测试网口发送缓冲区中的报文进行发送并在发送时对报文进行时间标定,然后由被测设备转发至测试网口接收模块对符合过滤条件的报文按照配置的时间标定方式再次进行时间标定后写入测试网口接收缓冲区,接收及测试帧发送模块对测试报文的时间信息直接进行统计分析,算出同一标号报文的时间差并将统计结果通过通讯网口发送缓冲区进行上报,通讯网口发送缓冲区的报文用于上位机软件统计分析,可以分析电力系统中转发报文的被测设备的延时、抖动等性能参数。
[0012]步骤一中配置命令经通讯网口接收模块写入通讯网口接收缓冲区,然后传入配置命令接收处理模块进行解析,解析后将PHY工作模式信息下发给PHY初始化及设置模块,将配置过滤数据和时间戳方式信息下发给测试网口接收模块,将配置统计接收报文与发送测试报文参数下发给接收及测试帧发送模块。
[0013]所述的网络报文过滤条件包括源MAC地址、目的MAC地址、网络类型号、应用标识号、源IP地址、目的IP地址、IP类型号、IP端口号,对于采样值报文还可以对其SvID、DataSet字段进行过滤,对于G00SE报文还可以对其G0ID字段进行过滤,网口的单个靶向过滤条件可以是以上数据其中一种或多种的组合,每个网口可以存放16个靶向过滤条件。配置命令还可以对时间标定方式进行设置,主要有有以下三种方式:一、将时间标定在命令设定的以太网帧中的偏移位置,更改原以太网帧中数据,帧长度不发生变化;二、将时间标定信息以及帧接收计数等信息与接收帧数据重新封装成新的以太网帧,帧长度发生变化,原帧被封装在重构帧里,内容不变;三、将时间信息插入接收帧帧尾,这种方式帧长度发生变化,原帧内容保留。测试网口接收模块根据设置方式对过滤后的帧进行重构,如需对发送测试帧进行时间标定时,标定方式只采用上述第一种方式。
[0014]步骤二中外部标准时钟源的时钟信号通过GPS或北斗系统授时后时钟信号可以以IRIG-B码或秒脉冲的形式通过光信号或485电信号方式接入系统,系统内部通过转换接Λ FPGA, FPGA内部时间与外部标准时钟源的时钟信号进行同步。
[0015]为确保标定时间的准确性,同步前信号需要进行绝对与相对稳定性的判断,利用高稳恒温晶振经过PLL倍频后对输入信号的周期进行计数,相对稳定性判断三次前后秒之间的偏差不应大于±2 μ s,绝对稳定性判断输入信号的每周期计数值理论转换后的时间与Is偏差不大于lms。两者都满足的情况下,FPGA时间去同步外部输入时间信号。由于外部GPS/北斗时钟源的信号具有长期稳定性高,而短期抖动偏差大的特点,为了保证同步的稳定性,对标准时钟源输出的正常时钟信号进行限幅消抖滤波去抖动,秒沿同步精度可达到
+ 0.1 μ S。
[0016]步骤三中同步后的内部时间信号的“秒”信号由高稳恒温晶振经过PLL倍频后的时钟计数器产生,对内部“秒”计数值采用均分算法,产生分辨率为0.1 μ s的时间源。
[0017]通过改进算法,使其引进的误差不大于1个计数时钟周期,这样整个系统时标的误差典型值不大于0.2 μ s。
[0018]步骤四中测试网口接收模块进行时间标定的具体实现过程:FPGA的测试网口接收模块通过MII/RMII总线接收网络报文,当检测到网络报文的同步前导码符合要求时,测试网口接收模块同步产生锁存信号给时间戳产生模块,锁存当前时间,将锁存的时间存入时间戳寄存器形成时间戳;接收过程中,根据配置的过滤条件与接收的网络报文进行比对,如果符合过滤条件且接收报文格式与校验都无误,从时间戳产生模块取出时间戳插入网络报文,按配置方式重构报文,并将该网络报文写入测试网口接收缓冲区。
[0019]步骤四中测试网口发送模块进行时间标定的具体实现过程:FPGA的测试网口发送模块通过MII/RMII总线发送测试报文,当发送完测试报文的同步前导码后,测试网口发送模块同步产生锁存信号给时间戳产生模块,锁存当前发送时间,将锁存的时间戳插入正在发送测试报文的相应位置。
[0020]本发明通过FPGA对网络报文过滤后进行时间标定,具有如下特点:
[0021](1)报文标定时间精度高,精度达到亚微秒级,可以对合并单元采样值发布离散性、智能终端G00SE变位时间、丽S通讯等网络通讯时间相关性能进行测试;
[0022](2)可以对接收和发送报文都进行时间标定,对智能变电站交换机存储转发时延等相关性能进行测试;
[0023](3)接收网络报文可以灵活的针对各个特征进行靶向过滤,自动将报文分类,减轻软件压力,提高系统效率;
[0024](4)时间标定方式灵活,可以通过设置选择时标的位置和报文的重构形式,接口通用,方便软件开发;
[0025](5)采用高稳恒温晶振,对环境温度变化不敏感,时标可以保持较高的准确度。由于可以对智能变电站以及所有需要对网络通讯有时间要求(大于ys级)的场合进行测试,有很好的经济性和兼容性。
【附图说明】
[0026]图1是本发明的系统架构框图;
[0027]图2是FPGA模块框图;
[0028]图3是时间戳产生模块工作流程图;
[0029]图4是本发明网络报文接收流程图。
【具体实施方式】
[0030]基于FPGA的网口高精度时间标定方法,包括如下步骤:
[0031]步骤一、FPGA的通讯网口接收模块接收系统软件发送的配置命令并由配置报文接收处理模块进行解析,更新测试网口接收模块的过滤条件,配置时间标定方式并设置PHY芯片的工作模式;
[0032]步骤二、FPGA接收外部标准时钟源的标准时间信号,采用跟踪策略与标准时间信号进行同步;
[0033]步骤三、对与标准时间信号同步后的内部时间信号采用均分算法,对每一秒内部时间信号进行处理,产生标定时间源;
[0034]步骤四、一类报文由外界传入测试网口接收模块,符合过滤条件的报文按照配置的时间标定方式进行时间标定后直接经接收及测试帧发送模块转发至通讯网口发送缓冲区由上位机进行统计分析;另一类报文由接收及测试帧发送模块自行产生并发送至测试网口发送缓冲区,测试网口发送缓冲区显示非空时,测试网口发送模块读取测试网口发送缓冲区中的报文进行发送并在发送时对报文进行时间标定,然后由被测设备转发至测试网口接收模块对符合过滤条件的报文按照配置的时间标定方式再次进行时间标定后写入测试网口接收缓冲区,接收及测试帧发送模块对测试报文的时间信息直接进行统计分析,算出同一标号报文的时间差并将统计结果通过通讯网口发送缓冲区进行上报。
[0035]FPGA配置报文接收处理的工作流程:
[0036](1)通讯网口接收模块和通讯网口接收缓冲区负责接收系统软件的配置命令;
[0037](2)配置报文接收处理模块解析上位软件下发的配置命令,并根据具体命令配置相关模块,基本的配置命令包括:对PHY芯片的工作模式进行配置、对测试网口接收模块的数据过滤条件进行配置、对接收及发送测试帧模
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1