一种多路数据高速采集合并方法及装置制造方法

文档序号:7795524阅读:232来源:国知局
一种多路数据高速采集合并方法及装置制造方法
【专利摘要】本发明提供了一种多路数据高速采集合并方法及装置,采用FPGA控制器与多路一次设备相连,再将合并后的数据发送给二次设备,FPGA控制器内部设有光串口通信模块、数据同步处理模块和数据发送模块,光串口通信模块内部又包括线路空闲检测模块、光串口数据接收模块、串口数据缓存模块和数据整理模块,数据同步处理模块内部又包括时标及通道数据检测模块、线性插值运算模块和同步数据缓存模块。本发明能够有效实现一次设备和二次设备之间的数据同步,并且成本较低、可靠性强、实时性好,能够完全符合一次设备和二次设备之间的接口要求。
【专利说明】一种多路数据高速采集合并方法及装置
【技术领域】
[0001]本发明涉及一种多路数据高速采集合并方法及装置,尤其是一种用于数字化变电站中一次设备和二次设备之间的多路数据高速采集合并方法及装置。
【背景技术】
[0002]近几年来,随着计算机,通信,自动化等技术在电力工业的应用,电网的智能化水平得到了极大地提升,全数字化变电站自动化系统即将得到广泛的应用。数字化变电站是以标准的通信规约为基础,通过电子式互感器(ECT/EVT)、智能化一次设备、网络化二次设备分层构建,建立全站统一的数据模型和数据通信平台,实现变电站内设备数字化通信和互操作、以及信息全网共享的现代化变电站。数字化变电站的关键点在于一次设备同步采集多路(最多12路)信号的幅值和相位数据后按照规定的格式发送给二次设备,这些数据一般都是来自不同间隔,而又必须保证这些数据是同步的。所以需要设计了一个具有多任务处理、通信流量大、高可靠性和强实时性等特点数据采集合并装置,使其满足对电子式互感器的接口要求。
[0003]现有的数据采集合并系统的实现方法主要有两种:一种是基于FPGA+DSP结构的同步采样方法;另一种是基于FPGA+ARM结构的同步采样方法。这两种方法都是利用FPGA进行采样数据的接收和处理,利用DSP或ARM芯片实现通信的功能,将一次设备的采样数据按格式打包发送给二次设备。为了保证数据的同步,两种方法都采用了同步采样法,即按设定的采样速率由FPGA产生采样脉冲发送给一次设备,一次设备接收到采样信号后开始进行采样动作并将数据发送给FPGA,再由FPGA将数据整理后才传送至主控芯片。这两种方法实现的合并单元有一定的局限性:(I)由FPGA+DSP或FPGA+ARM组成的系统虽然资源丰富,但与外围接口电路很复杂,设备开发成本高、经济性差;(2)由于采样方式是同步采样,一次设备和采集合并系统之间需要上行和下行两条通信线路,增加了线路的架设成本;
[3]同步采样的可靠性不能保证,由于线路的延时不同,即使是FPGA向多个一次设备同时发送了同步采样信号,但一次设备的采样不能保证绝对的同步,为后面测量和保护数据的计算带来了误差。

【发明内容】

[0004]本发明要解决的是技术问题的提供一种同步性较好且成本较低的多路数据高速采集合并方法及装置。
[0005]为了解决上述问题,本发明提供了一种多路数据高速采集合并方法,采用FPGA控制器与多路一次设备相连,再将合并后的数据发送给二次设备,FPGA控制器内部设有光串口通信模块、数据同步处理模块和数据发送模块,光串口通信模块内部又包括线路空闲检测模块、光串口数据接收模块、串口数据缓存模块和数据整理模块,数据同步处理模块内部又包括时标及通道数据检测模块、线性插值运算模块和同步数据缓存模块,多路数据高速采集合并方法包括如下步骤:[0006]步骤1,由多路一次设备分别将采集的数据帧发送给线路空闲检测模块的不同输入端,线路空闲检测模块对每个输入端的状态进行监测,如果某个输入端的状态为数据传送态,表明与这个输入端相连的一次设备有数据帧发送过来,于是将这路一次设备对应的数据帧转发给光串口数据接收模块,光串口数据接收模块再将这路一次设备对应的数据帧存入串口数据缓存模块;
[0007]步骤2,由数据整理模块读取串口数据缓存模块中的每路一次设备对应的数据帧,并将每路一次设备对应的数据帧以I个状态数据段、8个通道数据段和I个校验数据段依次排列,每个数据段的位数相同,状态数据段用于判断每路一次设备对应的数据帧的有效性,校验数据段用于判断每路一次设备对应的数据帧的正确性,若判断某路一次设备对应的数据帧有效且正确,则将这路一次设备对应的8个通道数据段作为通道数据发送给时标及通道数据检测模块,若判断某路一次设备对应的数据帧无效或错误,则将预设的恒定值作为通道数据发送给时标及通道数据检测模块;
[0008]步骤3,由时标及通道数据检测模块设定每路一次设备对应的左时标数据缓存区和右时标数据缓存区,并接收同步时钟信号,在同步时钟信号未到前,将接收到的每路一次设备对应的通道数据覆盖存入对应的左时标数据缓冲区,作为每路一次设备对应的左通道值yk,在同步时钟信号到来后,将接收到的每路一次设备对应的第一个通道数据存入对应的右时标数据缓冲区,作为每路一次设备对应的右通道值yk+1,同时记录对应于每路一次设备在同步时钟信号到来后的第一个通道数据到来时刻xk+1,并将第一个通道数据到来时刻Xk+1与同步时钟到来时刻X作差,得到每路一次设备对应的右时间差为xk+1-x,每路一次设备对应的数据帧采集周期为xk+1-xk,将每路一次设备对应的数据帧采集周期Xk+1-Xk减去右时间差xk+1-x,得到每路一次设备对应的左时间差X-Xk,再将每路一次设备对应的左通道值yk、右通道值yk+1、 左时间差X-Xk和右时间差xk+1-x发送给线性插值运算模块;
[0009]步骤4,由线性插值运算模块将每路一次设备对应的左通道值yk、右通道值yk+1、左


X1,, -XX-X-.时间差X-Xk和右时间差xk+1-x带入公式1“) =+]T^r>Wl,计算出在同一同步时


XA+1 XkXk+\ Xk
钟信号下每路一次设备对应的线性插值,并将每路一次设备对应的线性插值存入同步数据缓存模块,完成多路数据的采集与合并;
[0010]步骤5,由二次设备读取同步数据缓存模块内缓存的每路一次设备对应的线性插值。
[0011]采用在FPGA控制器内部建立光串口通信模块、数据同步处理模块和数据发送模块,分别完成数据采集、数据同步整理以及数据转发功能,这种模块化设计使得系统运行效率比较高;采用线性插值运算模块对数据进行同步处理,不仅数据的同步效果比较好,而且运算简单快捷;采用FPGA控制器这样的单芯片构成的系统,不仅节省了系统成本,而且系统利用率较高,避免了资源浪费。
[0012]作为本发明的进一步限定方案,数据段以I位起始位、8位数据位、I位停止位和I位空闲位依次排列。该种数据段的结构不仅能够有效传输数据,而且能够有效提高数据传输的可靠性。
[0013]本发明还提供了一种用于实现多路数据高速采集合并方法的装置,包括一个用于接收多路一次设备采集的数据帧再合并发送给二次设备的FPGA控制器,FPGA控制器内部设有光串口通信模块、数据同步处理模块和数据发送模块,光串口通信模块内部又包括线路空闲检测模块、光串口数据接收模块、串口数据缓存模块和数据整理模块,数据同步处理模块内部又包括时标及通道数据检测模块、线性插值运算模块和同步数据缓存模块;
[0014]线路空闲检测模块的各个输入端分别与多路一次设备相连,用于监测各路一次设备是否处于数据传送态,如果某个输入端的状态为数据传送态,表明与这个输入端相连的一次设备有数据帧发送过来,则将这路一次设备对应的数据帧转发给光串口数据接收模块;
[0015]光串口数据接收模块用于接收线路空闲检测模块转发的各路一次设备对应的数据帧,并将各路一次设备对应的数据帧存入串口数据缓存模块;
[0016]数据整理模块用于读取串口数据缓存模块中每路一次设备对应的数据帧,并将每路一次设备对应的数据帧以I个状态数据段、8个通道数据段和I个校验数据段依次排列,每个数据段的位数相同,状态数据段用于判断每路一次设备对应的数据帧的有效性,校验数据段用于判断每路一次设备对应的数据帧的正确性,若判断某路一次设备对应的数据帧有效且正确,则将这路一次设备对应的8个通道数据段作为通道数据发送给时标及通道数据检测模块,若判断某路一次设备对应的数据帧无效或错误,则将恒定值作为通道数据发送给时标及通道数据检测模块;
[0017]时标及通道数据检测模块用于设定每路一次设备对应的左时标数据缓存区和右时标数据缓存区,并在同步时钟信号未到前,将接收到的每个端口对应的通道数据覆盖存入对应的左时标数据缓冲区,作为每路一次设备对应的左通道值yk,在同步时钟信号到来后,将接收到的每路一次设备对应的第一个通道数据存入对应的右时标数据缓冲区,作为每路一次设备对应的右通道值yk+1,同时记录对应于每路一次设备在同步时钟信号到来后的第一个通道数据到来时刻xk+1 ,并将第一个通道数据到来时刻xk+1与同步时钟到来时刻X作差,得到每路一次设备对应的右时间差为xk+1-x,每路一次设备对应的数据帧采集周期为xk+1_xk,将每路一次设备对应的数据帧采集周期xk+1-xk减去右时间差xk+1-x,得到每路一次设备对应的左时间差x-xk,再将每路一次设备对应的左通道值yk、右通道值yk+1、左时间差X-Xk和右时间差Xk+1-X发送给线性插值运算模块;
[0018]线性插值运算模块将每路一次设备对应的左通道值yk、右通道值yk+1、左时间差

jca+1 -Xx_xk
X-Xk和右时间差xk+1-x带入公式=计算出在同一同步时钟信号
下每路一次设备对应的线性插值,并将每路一次设备对应的线性插值存入同步数据缓存模块。
[0019]本发明的有益效果在于:(I)采用FPGA控制器这样的单芯片构成的系统,来完成采样数据的接收和合并处理,并能实现通信功能,不仅节省了系统成本,提高了系统的同步性能,而且系统利用率较高,避免了资源浪费;(2)采用线性插值运算法对数据进行同步处理,不仅数据的同步效果比较好,而且运算简单快捷;(3)采用在一次设备接口上设有多个端口,能够满足多通道并行处理的要求。
【专利附图】

【附图说明】
[0020]图1为本发明的系统工作流程图;[0021]图2为本发明的系统结构示意图;
[0022]图3为本发明的光串口通信模块内部结构示意图;
[0023]图4为本发明的数据同步处理模块内部结构示意图;
[0024]图5为本发明的数据段组成示意图。
【具体实施方式】
[0025]如图1所示,一种多路数据高速采集合并方法,采用FPGA控制器与多路一次设备相连,再将合并后的数据发送给二次设备,FPGA控制器内部设有光串口通信模块、数据同步处理模块和数据发送模块,光串口通信模块内部又包括线路空闲检测模块、光串口数据接收模块、串口数据缓存模块和数据整理模块,数据同步处理模块内部又包括时标及通道数据检测模块、线性插值运算模块和同步数据缓存模块,多路数据高速采集合并方法包括如下步骤:
[0026]步骤1,由多路一次设备分别将采集的数据帧发送给线路空闲检测模块的不同输入端,线路空闲检测模块对每个输入端的状态进行监测,如果某个输入端的状态为数据传送态,表明与这个输入端相连的一次设备有数据帧发送过来,于是将这路一次设备对应的数据帧转发给光串口数据接收模块,光串口数据接收模块再将这路一次设备对应的数据帧存入串口数据缓存模块;
[0027]步骤2,由数据整理模块读取串口数据缓存模块中的每路一次设备对应的数据帧,并将每路一次设备对应的数据帧以I个状态数据段、8个通道数据段和I个校验数据段依次排列,每个数据段的位数相同,状态数据段用于判断每路一次设备对应的数据帧的有效性,校验数据段用于判断每路一次设备对应的数据帧的正确性,若判断某路一次设备对应的数据帧有效且正确,则将这路一次设备对应的8个通道数据段作为通道数据发送给时标及通道数据检测模块,若判断某路一次设备对应的数据帧无效或错误,则将预设的恒定值作为通道数据发送给时标及通道数据检测模块;
[0028]步骤3,由时标及通道数据检测模块设定每路一次设备对应的左时标数据缓存区和右时标数据缓存区,并接收同步时钟信号,在同步时钟信号未到前,将接收到的每路一次设备对应的通道数据覆盖存入对应的左时标数据缓冲区,作为每路一次设备对应的左通道值yk,在同步时钟信号到来后,将接收到的每路一次设备对应的第一个通道数据存入对应的右时标数据缓冲区,作为每路一次设备对应的右通道值yk+1,同时记录对应于每路一次设备在同步时钟信号到来后的第一个通道数据到来时刻xk+1,并将第一个通道数据到来时刻Xk+1与同步时钟到来时刻X作差,得到每路一次设备对应的右时间差为xk+1-x,每路一次设备对应的数据帧采集周期为xk+1-xk,将每路一次设备对应的数据帧采集周期Xk+1-Xk减去右时间差xk+1-x,得到每路一次设备对应的左时间差X-Xk,再将每路一次设备对应的左通道值yk、右通道值yk+1、左时间差X-Xk和右时间差xk+1-x发送给线性插值运算模块;
[0029]步骤4,由线性插值运算模块将每路一次设备对应的左通道值yk、右通道值7,+1、左
时间差x-xk和右时间差xk+1-x带入公式
【权利要求】
1.一种多路数据高速采集合并方法,采用FPGA控制器与多路一次设备相连,再将合并后的数据发送给二次设备,其特征在于:所述FPGA控制器内部设有光串口通信模块、数据同步处理模块和数据发送模块,所述光串口通信模块内部又包括线路空闲检测模块、光串口数据接收模块、串口数据缓存模块和数据整理模块,所述数据同步处理模块内部又包括时标及通道数据检测模块、线性插值运算模块和同步数据缓存模块,所述多路数据高速采集合并方法包括如下步骤: 步骤1,由多路一次设备分别将采集的数据帧发送给线路空闲检测模块的不同输入端,线路空闲检测模块对每个输入端的状态进行监测,如果某个输入端的状态为数据传送态,表明与这个输入端相连的一次设备有数据帧发送过来,于是将这路一次设备对应的数据帧转发给光串口数据接收模块,光串口数据接收模块再将这路一次设备对应的数据帧存入串口数据缓存模块; 步骤2,由数据整理模块读取串口数据缓存模块中的每路一次设备对应的数据帧,并将每路一次设备对应的数据帧以I个状态数据段、8个通道数据段和I个校验数据段依次排列,每个数据段的位数相同,状态数据段用于判断每路一次设备对应的数据帧的有效性,校验数据段用于判断每路一次设备对应的数据帧的正确性,若判断某路一次设备对应的数据帧有效且正确,则将这路一次设备对应的8个通道数据段作为通道数据发送给时标及通道数据检测模块,若判断某路一次设备对应的数据帧无效或错误,则将预设的恒定值作为通道数据发送给时标及通道数据检测模块; 步骤3,由时标及通道数据检测模块设定每路一次设备对应的左时标数据缓存区和右时标数据缓存区,并接收同步时钟信号,在同步时钟信号未到前,将接收到的每路一次设备对应的通道数据覆盖存入对应的左时标数据缓冲区,作为每路一次设备对应的左通道值yk,在同步时钟信号到来后,将接收到的每路一次设备对应的第一个通道数据存入对应的右时标数据缓冲区,作为每路一次设备对应的右通道值yk+1,同时记录对应于每路一次设备在同步时钟信号到来后的第一个通道数据到来时刻xk+1,并将第一个通道数据到来时刻xk+1与同步时钟到来时刻X作差,得到每路一次设备对应的右时间差为xk+1-x,每路一次设备对应的数据帧采集周期为xk+1-xk,将每路一次设备对应的数据帧采集周期xk+1-xk减去右时间差xk+1_x,得到每路一次设备对应的左时间差x-xk,再将每路一次设备对应的左通道值yk、右通道值yk+1、左时间差X-Xk和右时间差xk+1-x发送给线性插值运算模块; 步骤4,由线性插值运算模块将每路一次设备对应的左通道值yk、右通道值yk+1、左时间.' Xkm —.Λ:χ-χ,差X-Xk和右时间差xk+1-x带入公式
2.根据权利要求1所述的多路数据高速采集合并方法,其特征在于:所述数据段以I位起始位、8位数据位、I位停止位和I位空闲位依次排列。
3.一种用于实现权利要求1所述的多路数据高速采集合并方法的装置,其特征在于:包括一个用于接收多路一次设备采集的数据帧再合并发送给二次设备的FPGA控制器,所述FPGA控制器内部设有光串口通信模块、数据同步处理模块和数据发送模块,所述光串口通信模块内部又包括线路空闲检测模块、光串口数据接收模块、串口数据缓存模块和数据整理模块,所述数据同步处理模块内部又包括时标及通道数据检测模块、线性插值运算模块和同步数据缓存模块; 所述线路空闲检测模块的各个输入端分别与多路一次设备相连,用于监测各路一次设备是否处于数据传送态,如果某个输入端的状态为数据传送态,表明与这个输入端相连的一次设备有数据帧发送过来,则将这路一次设备对应的数据帧转发给光串口数据接收模块; 所述光串口数据接收模块用于接收线路空闲检测模块转发的各路一次设备对应的数据帧,并将各路一次设备对应的数据帧存入串口数据缓存模块; 所述数据整理模块用于读取串口数据缓存模块中每路一次设备对应的数据帧,并将每路一次设备对应的数据帧以I个状态数据段、8个通道数据段和I个校验数据段依次排列,每个数据段的位数相同,所述状态数据段用于判断每路一次设备对应的数据帧的有效性,所述校验数据段用于判断每路一次设备对应的数据帧的正确性,若判断某路一次设备对应的数据帧有效且正确,则将这路一次设备对应的8个通道数据段作为通道数据发送给时标及通道数据检测模块,若判断某路一次设备对应的数据帧无效或错误,则将恒定值作为通道数据发送给时标及通道数据检测模块; 所述时标及通道数据检测模块用于设定每路一次设备对应的左时标数据缓存区和右时标数据缓存区,并在同步时钟信号未到前,将接收到的每个端口对应的通道数据覆盖存入对应的左时标数据缓冲区,作为每路一次设备对应的左通道值yk,在同步时钟信号到来后,将接收到的每路一次设备对应的第一个通道数据存入对应的右时标数据缓冲区,作为每路一次设备对应的右通道值yk+1,同时记录对应于每路一次设备在同步时钟信号到来后的第一个通道数据到来时刻xk+1,并将第一个通道数据到来时刻xk+1与同步时钟到来时刻X作差,得到每路一次设备对应的右时间差为xk+1-x,每路一次设备对应的数据帧采集周期为xk+1_xk,将每路一次设备对应的数据帧采集周期xk+1-xk减去右时间差xk+1-x,得到每路一次设备对应的左时间差x-xk,再将每路一次设备对应的左通道值yk、右通道值yk+1、左时间差X-Xk和右时间差Xk+1-X发送给线性插值运算模块; 所述线性插值运算模块将每路一次设备对应的左通道值yk、右通道值yk+1、左时间差x-xk和右时间差xk+1-x带入公式
【文档编号】H04L7/00GK103763085SQ201410023519
【公开日】2014年4月30日 申请日期:2014年1月17日 优先权日:2014年1月17日
【发明者】魏欣, 孙玥, 尹玉军, 陈国平, 陈凡 申请人:南京信息职业技术学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1