一种基于FPGA的电子式互感器采样数据接口电路
技术领域
本发明属于电力系统自动化领域,具体涉及电子式互感器采样数据的接收解码和存储。
背景技术
随着计算机技术和电力系统二次设备数字化发展,传统的电磁式电流电压互感器已经难以直接完成对电流电压完整信息进行数字化处理的要求。而电子式电流电压互感器,二次输出为小电压信号,无需二次转换,可方便地与数字式仪表、微机保护控制设备接口,实现计量、控制、测量、保护和数据传输的功能,且消除了传统电磁式电流互感器因二次开路、电压互感器二次短路给电力系统设备和人身安全带来的故障隐患。作为传统电磁式互感器的换代产品,电子式互感器正在越来越多的投入使用。而随着电力系统数字化和智能化建设的逐步进行,电子式互感器必然会全面取代传统电磁式互感器。
对于传统的电磁式互感器,由于输出的是经过变换的电压电流模拟量,所以二次设备需要首先将模拟量按固定的采样率进行A/D转换,然后将转换后的数字量进行分析和处理。电子式互感器由于已经将采样的数据转换为了数字量,所以只需要将该数字量按照一定的波特率通过串行方式传送给二次设备即可,但是传统的二次设备的MCU或DSP处理单元由于处理器速度和实时性等原因,无法完成这样高速波特率的串行数据的接收。
发明内容
为解决现有技术中电子式互感器的MCU或DSP处理单元由于处理器速度和实时性等原因,无法完成高速波特率的串行数据接收问题。本发明提供一种基于FPGA平台,整合高速串行数据接收、解码和存储于一体的,可在线配置逻辑的通讯接口电路。具体方案如下:一种基于FPGA的电子式互感器采样数据接口电路,其特征在于:包括依次连接的光电转换电路、FPGA芯片和存储芯片,所述FPGA芯片内包括锁相环模块、串行数据接收模块、解码模块和存储模块,其中串行数据接收模块接收串行数据后传给解码模块,解码模块将串行数据进行校验并按照规定的格式解码后传给存储模块,存储模块将解码后的数据存储到存储芯片的指定位置,锁相环模块分别为串行数据接收模块、解码模块和存储模块提供时钟信号。
本发明的另一优选方式:所述的光电转换电路通过多模光纤与电子式互感器连接,接收电子式互感器的串行数据为异步传输方式。
本发明的另一优选方式:所述锁相环模块为串行数据接收模块、存储模块提供的时钟频率为串行数据波特率的8倍,为解码模块提供的时钟频率为串行数据波特率的2倍。
本发明的另一优选方式:所述解码模块将串行数据依次解析为16位的数据并存储到存储模块。
本发明的另一优选方式:所述解码模块与存储模块的处理速率与串行数据波特率相适应。
本发明的另一优选方式:所述FPGA模块采用并行处理方式同时处理多路数据。
本发明的另一优选方式:所述的存储芯片为高速双口RAM。
本方案采用FPGA平台,是因为:(1)FPGA采用并行处理方式,可以同时处理多路串行数据;(2)FPGA采用独立的运算逻辑,运算实时性好;(3)FPGA拥有丰富的IO资源,逻辑配置灵活,可以大大的降低硬件设计复杂程度;(4)FPGA已经发展相当成熟,可靠性好,且有各种不同级别的芯片可供选择。PGA逻辑采用并行处理方式,可以使用一个FPGA芯片同时处理多路数据。一个FPGA芯片同时处理多路数据可以节省硬件成本,并且配置灵活,扩展性强。串行数据采用异步传输方式。采用异步传输方式使传输物质只用一根光纤即可,可以节约成本,并减少布线的复杂程度。采样数据为数字量。因为采样数据为数字量,所以经接口电路解码存储后的采样数据可以直接使用,使传统的MCU或DSP不用再进行A/D转换工作,大大减轻了MCU或DSP的运算负荷。存储芯片采用高速双口RAM,使用高速双口RAM使存取数据可以同时进行,互不干扰,增加了系统可靠性和处理速度。
本发明针对电子式互感器传输的高速数字采样数据,使用异步串行传输,可灵活配置采样率和波特率,可编程逻辑,具有数字化、高适应性、高扩展性的优点。
附图说明
图1本发明接口电路逻辑示意图
图2本发明接口电路中的FPGA模块示意图
图3本发明FPGA模块硬件结构示意图
图4本发明的接口电路工作流程图
具体实施方式
如图1、2、4所示,本技术方案的接口电路中,包括依次连接的光电转换电路、FPGA芯片和存储芯片,光电转换电路通过多模光纤与电子式互感器连接,电子式互感器的串行数据以异步传输的方式将数据传到光电转换电路中,光电转换电路将电子式互感器的光纤信号转换成符合FPGA电位要求的电信号,并将该电信号输出到FPGA指定的输入引脚。FPGA按照一定的波特率和高电位为1,低电位为0的规则来侦测输入的电信号并转换成数字信号0和1,FPGA芯片内包括锁相环模块(PLL)、串行数据接收模块、解码模块和存储模块,接收串行数据的串口接收模块一般以串行波特率8倍的速率侦测输入引脚的电位变化,以连续侦测,取中间值的方法来判断输入引脚的高低电位,即连续侦测8次电位,当第3、4、5、6次均为高电位,则认为该位输入为1,否则输入为0,得到输入的位信号后,将该位信号送到解码模块,再由解码模块按照一定的规则将位信号进行排列,当一组数据接收完后,将数据进行校验,校验无误的送到存储模块,并将数字信号按约定的规则解码组合成需要的数据并存储到双口RAM的指定区域中,锁相环模块分别为串行数据接收模块、解码模块和存储模块提供时钟信号。
本方案可以配置逻辑以适应各种采样率,其最高能处理的采样率只取决与FPGA的最高频率及处理速度,因而可以根据实际需要的采样率选取FPGA芯片并配置逻辑。可以配置串行波特率以适应各类电子式互感器的串行数据波特率,其最高波特率只取决与FPGA的最高频率及处理速度,因而可以根据实际需要的波特率选取FPGA芯片并配置逻辑。
FPGA逻辑采用并行处理方式,可以使用一个FPGA芯片同时处理多路数据。一个FPGA芯片同时处理多路数据可以节省硬件成本,并且配置灵活,扩展性强。串行数据采用异步传输方式。采用异步传输方式使传输物质只用一根光纤即可,可以节约成本,并减少布线的复杂程度。采样数据为数字量。因为采样数据为数字量,所以经接口电路解码存储后的采样数据可以直接使用,使传统的MCU或DSP不用再进行A/D转换工作,大大减轻了MCU或DSP的运算负荷。存储芯片采用高速双口RAM。使用高速双口RAM使存取数据可以同时进行,互不干扰,增加了系统可靠性和处理速度。
实施例1
电子式互感器输出3路串行数据,分别为A、B、C三相电流采样值的数字量,通过3根850μm多模光纤与接口电路相连,电子式互感器的采样率为500KHz,串行数据传输波特率为20Mbit/s,采用异步传输方式,数据的空闲位为1,一帧数据的起始位为0,14位数据位,1位奇校验位和4位标志校验位,即一帧数据包括21位数据。
如图3所示,光电转换模块为ST接头的光接收模块HFBR-2412TZ。FPGA选用Altera公司的Cyclone系列的EP1C12Q240C8芯片,内部包含12060个逻辑单元,2个锁相环(PLL),其晶振频率为50MHz。双口RAM选用CY7C028V-,存储空间为64Kbyte,其一端连接FPGA,一端连接MCU或DSP处理单元。
FPGA的锁相环(PLL)提供给串行接收模块和存储模块的时钟为160MHz,提供给解码模块的时钟为40MHz。即串行接收模块和存储模块的时钟配置为串行数据波特率的8倍,解码模块的时钟配置为串行数据波特率的2倍。
参见图4,FPGA输入引脚的电平在空闲时为高电位,串行接收模块以160MHz的频率侦测输入引脚的电位,即6.25ns侦测一次。当侦测到低电位后,开始计数,每计数一次,记录下该次的电位高低,如果为高电位则记为1,低电位记为0。因为串行数据的波特率为20Mbit/s,即每位数据宽度为50ns,所以计数到8后,认为一位数据已经结束,然后查看第3、4、5、6次是否为1111,如果为1111则认为该位数据为1,否则为0。当侦测到该位数据为0,则表示该位为起始位,则开始下一轮8次侦测,并将侦测到的数据送往解码模块。侦测完20位数据和1位起始位后,表示一帧数据已经结束,此时又开始重新侦测低电位。
解码模块以40MHz的频率侦测串行接收模块发送过来的数据,空闲时数据为1,当检测到0时,表示检测到起始位,然后开始计数,每计数2次侦测一次数据,并将侦测到的位数据按照顺序存储到内部寄存器的相应位中,当存储完14位数据后,将这14位数据进行奇校验,然后与第15位校验和数据进行比较,如果相同则为有效数据。将该14位有效数据与2位0组合成一个有效的16位数据,然后将该数据送到存储模块,并给存储模块置存储标志位,如果不相同则为无效数据,此时置一个错误标志并将该数据抛弃。
参见图2,串行接收模块和解码模块为并行的处理模块,本例中有3路输入,所以配置3路串行接收模块和解码模块来同时处理3路串行数据,将串行数据解析为16位有效数据后再送入存储模块。
存储模块当检测到存储标志位后,依次将3路需要存储的数据按照双口RAM的存储时序存入双口RAM指定地址,并将该地址顺序加1,同时将当前地址值存入到双口RAM的头地址中,以便于MCU或DSP处理模块查询。因为使用的双口RAM,MCU或者DSP可以在接口电路的存储模块存储数据的同时读取数据,所以大大加快了MCU或DSP的处理速度,并提高了可靠性。