一种基于FPGA的电力数据采集系统的制作方法

文档序号:12661584阅读:619来源:国知局
一种基于FPGA的电力数据采集系统的制作方法与工艺

本发明涉及一种电力数据采集系统,具体涉及一种基于FPGA的电力数据采集系统。



背景技术:

我国经济的高速发展带动了各行业对电力的大量需求,因此,迫切需要对电力供应进行科学的管理,电力数据采集系统作为电力供需管理的基本环节,发挥着重要作用,电力系统的发展对电力数据采集系统的精确性、实时性以及可靠性都提出了更高的要求。

传统设计方法是应用MCU或DSP通过软件控制数据采集的A/D转换,这样必将频繁中断系统的运行,从而减弱系统的数据运算能力,数据采集的速度也受到限制。与MCU和DSP相比,FPGA在多路并行采集方面具有明显优势。单片机受指令周期以及处理速度的影响,难以对多个通道、A/D组成的阵列进行控制,且其总线宽度有限,对于多路数据采集来说,存在数据带宽不足的瓶颈。若采用多个单片机并行的方式,则又造成了系统复杂、功耗高、体积大等致命缺点。DSP虽然可以实现较高速的数据采集,但在其速度提高的同时,也增加了系统的硬件成本,特别是DSP的各种功能需要靠软件的运行来实现,其时间消耗在整个采样时间中所占比例偏大,因此其执行的速度和效率不高。



技术实现要素:

为了克服上述现有技术的不足,本发明提供一种基于FPGA的电力数据采集系统,本发明通过引入FPGA模块,增大了系统设计的成功率和灵活性,并具有功耗低、体积小等优点。

为了实现上述发明目的,本发明采取如下技术方案:

一种基于FPGA的电力数据采集系统,所述系统包括FPGA模块、模拟量数据采集模块、网络模块、EEPROM模块和开关量采集模块;所述模拟量数据采集模块用于将模拟输入信号处理后传送给所述FPGA模块;所述开关量采集模块用于将开关量信号处理后传送给所述FPGA模块;所述FPGA模块用于处理所述模拟输入信号和所述开关量信号;所述EEPROM模块用于存储所述网络模块的配置信息,所述网络模块用于实现系统和外界传输数据。

优选的,所述采集系统还包括GPS模块,所述GPS模块用于获取时间信息,提供串口秒脉冲和10ms脉冲。

优选的,所述模拟量数据采集模块用于采用4个16位8通道自同步模拟转换器,并 集成模拟输入箝位保护、二阶抗混叠滤波器、跟踪保持放大器、16位电荷再分配逐次逼近型ADC内核、数字滤波器、2.5V基准电压源及缓冲、高速串行和并行接口。

优选的,所述网络模块内部集成了TCP/IP协议栈、以太网MAC层及PHY层,支持8个独立的Socket通信,内部128K字节的发送/接收缓冲区快速进行数据交换,在TCP协议下,网络速率最高达到80Mbps。

优选的,所述FPGA模块包括数据校正模块、时间控制模块、AD控制模块、采集测量模块、SDU组包模块、PDU组包模块、数据转移模块、以太网控制模块和EEPROM控制模块,所述AD控制模块用于获得所述模拟输入信号;所述数据校正模块用于利用校正因子对所述模拟输入信号进行校正后得到最终的模拟数据;所述采集测量模块用于采集所述开关量信号;所述SDU组包模块用于将所述GPS模块提供的时间信息、所述最终的模拟数据和所述开关量信号组成业务数据单元SDU;所述PDU组包模块将多个所述SDU组成一个协议数据单元PDU;所述数据转移模块用于将所述PDU数据包内容及数据字节长度分别写入内容先入先出队列Data FIFO和字节长度先入先出队列Size FIFO;所述以太网控制模块用于获取网络配置信息并将所述PDU数据通过网络接口发送出去,所述时间控制模块通过计数器控制AD采样及所述SDU数据包发送给模块的时序;所述EEPROM控制模块用于读取所述EEPROM模块的配置信息和写入命令到所述EEPROM模块。

优选的,所述AD控制模块包括启动控制模块,用于根据不同的采样频率配置,向AD芯片发送采样指示脉冲;延迟控制模块用于数据迟延控制,将同时采集到的数据,通过延迟控制,让其在时间上错开;S2P模块用于将AD采样数据进行串行到并行16位变换。

优选的,所述采集测量模块包括频率测试模块,根据4路测频信号,通过计数器控制输入信号频率,将4个32bit的计数器值打包写入所述SDU数据中;IO通道信号控制模块,用于将所述开关量信号通过DI通道输入,通过DO通道输出。

优选的,所述EEPROM控制模块包括EEPROM接口控制模块、EEPROM数据写入模块和EEPROM数据读取模块,所述EEPROM接口控制模块时所述FPGA模块和所述EEPROM模块的接口模块;所述EEPROM数据写入模块在写使能有效时,将写命令、写地址和写数据通过串行方式写入所述EEPROM模块中;在读使能有效时,将读命令、读地址通过串行方式写入所述EEPROM模块中;所述EEPROM数据读取模块,用于从所述EEPROM模块中读取出AD校正因子和所述网络模块的配置信息。

与现有技术相比,本发明的有益效果在于:

本发明采用FPGA为主控器件,大大提高了数据采集的速度和A/D转换的精度,该系统具有设计简单、成本低、功耗低和体积小等特点,可以根据不同的要求进行现场修改,增大了系统设计的成功率和灵活性。

附图说明

图1是本发明提供的一种基于FPGA的电力数据采集系统的结构图

图2是本发明提供的电力数据采集系统中FPGA模块的结构图

具体实施方式

下面结合附图对本发明作进一步详细说明。

如图1所示,一种基于FPGA的电力数据采集系统,包括FPGA模块、模拟量数据采集模块、网络模块、EEPROM模块、开关量采集模块和GPS模块。

本系统以FPGA为核心,模拟输入信号通过模拟量数据采集模块处理,将数字信号输出给FPGA;输入的开关量信号通过开关量采集模块处理后输出给FPGA。在FPGA内对采集的模拟信号和开关量信号进行处理,利用GPS模块获取时间信息,使用EEPROM模块存储网络模块的配置信息,最终通过网络接口实现系统和外界传输数据。

1、FPGA模块

如图2所示,FPGA模块包括:数据校正模块、时间控制模块、AD控制模块、采集测量模块、SDU组包模块、PDU组包模块、数据转移模块、以太网控制模块和EEPROM控制模块。数据校正模块利用校正因子对AD控制模块获得模拟数据进行校正后得到最终的模拟数据。SDU组包模块将GPS提供的时间信息、最终的模拟数据和采集测量模块得到的开关量信号组成业务数据单元(SDU)。PDU组包模块将SDU数据包组成协议数据单元(PDU),通过数据转移模块将PDU数据包经送给以太网控制模块。以太网控制模块从EEPROM控制模块获取网络配置信息,并将PDU数据通过网口发送出去。

1.1、AD控制模块

本模块是AD芯片的控制模块,包括启动控制模块、延迟控制模块和S2P模块。实现的主要功能是:根据不同的采样频率配置,向AD芯片发送采样指示脉冲;读取AD采样数据,并作串行到并行16位变换;数据迟延控制,将同时采集到的数据,通过延迟控制,让他们在时间上错开;将非自然顺序的AD采样数据转换成自然顺序(按照通道号由小到大)的AD采样数据。

1.2、采集测量模块

该模块包含频率测试模块和IO通道信号控制模块。频率测量模块主要功能是根据4路测频信号,通过计数器控制测量输入信号频率,将4个32bit的计数器值打包写入SDU数据中;IO通道信号控制模块主要功能是输入的开关量数据通过DI通道输入,将其写入SDU数据包中进行传输;上位机发送输出开关量数据通过DO通道完成输出开关量数据输出。

1.3、SDU组包模块

该模块主要功能是建立SDU数据的包结构。SDU组包模块从AD控制模块、采集测量模块以及GPS模块获得以下数据:

1)AD采样数据:AD采样数据,最多32路;

2)输入开关量:最多16路;

3)频率计数:最多4路;

4)GPS时间信息:年、月、日、时、分、秒。

这些数据通过16位数据总线,连续传输。事实上,该模块并不需要了解数据内容,只需接收到数据后添加控制字段,将AD采样数据,开关量,以及频率计数数据,合并成一个连续的数据块,建立完整的SDU。然后添加SDU头字段、数据结构描述字段和GPS时间信息。

1.4、PDU组包模块

本模块主要功能是建立PDU。为了提高传输效率,将多个SDU组成一个PDU,PDU将作为IP网络的载荷进行传输。PDU的数据主要包括:头字段、序号、长度、SDU数量、SDU长度、PDU类型。

上位机可以随时通过配置改变SDU的数据结构。那么就有可能在一个PDU中包含多种结构不同的SDU。显然,这样对于建立于解析PDU是不利的,实现难度较大。所以,设计上应该避免这样的情况发生。首先保证SDU完整性,当配置改变时,等到SDU的计数器为零时再使配置生效。保证PDU一致性,当参数改变后,下一个SDU到来时将缓存的SDU历史数据封装成PDU。下一个PDU按照新参数生成的SDU进行封装。

1.5、数据转移模块

本模块主要功能是调用知识产权核(IP核)中的先入先出队列(FIFO),根据PDU数据内容设计Data FIFO,根据PDU数据字节长度设计Size FIFO;通过产生对应的FIFO写请求信号,将PDU数据包内容及数据字节长度分别写入Data FIFO和Size FIFO中;根据网络模块发送数据需要,在以太网控制模块产生对应的FIFO读请求来读取PDU数据 包数据和字节长度。这样设计从实际TCP协议发送数据包报文角度讲,可以解决在发送数据报文过程中由于等待ACK响应时间过长而引起的丢包问题。

1.6、以太网控制模块

该模块的主要功能时完成网络模块的初始化,初始化的三个步骤:主机接口设置、网络信息设置和内部TX/RX存储器的分配,在ROM的mif文件中中配置相关寄存器的地址和数据。

在代码中片选信号由写使能和读使能控制,当写使能有效时,写入寄存器的地址和数据;在读使能有效时,读取对应寄存器的地址。由于网络模块读写时序的特殊性,在写操作过程中,片选CS必须至少持续50ns低电平。而一次写操作完成后,必须将片选CS信号置高电平持续至少28ns,然后再进行下一次写操作或者读操作;在读操作过程中,片选CS必须至少持续65ns低电平。而一次读操作完成后,必须将片选CS信号置高电平持续至少28ns,然后再进行下一次写操作或者读操作。

1.7、EEPROM控制模块

该模块包括EEPROM接口控制模块、EEPROM数据写入模块以及EEPROM数据读取模块。其中EEPROM接口控制模块是FPGA与EEPROM模块的接口模块,实现的主要功能是从EEPROM中读取出AD校正因子和W5300的配置信息,提供给其它模块使用。具体功能如下:

1)产生EEPROM的工作时钟、片选信号;

2)产生EEPROM状态忙Busy信号,通过Busy信号指示进行读写控制;

3)在写使能有效时,将写命令、写地址及写数据通过串行方式写入EEPROM中;

4)在读使能有效时,将读命令、读地址通过串行方式写入EEPROM中。

1.8、数据校正模块

该模块主要功能是,AD采样数据与对应的AD校正因子做运算,将校正后的数据写入SDU数据包中。首先将16bit的AD采样数据及校正因子进行数据位扩展,将其变为17bit;然后选择合适的校正运算参数,将AD采样数据与校正因子做减法运算处理,经过运算后的数据值:高位为0,则根据正校正参数校正;高位为1,则根据负校正参数校正。最后将完成校正后的AD采样数据写入SDU数据包中。

1.9、时间控制模块

本模块通过计数器控制AD采样及SDU数据包发送模块时序。当网络模块接收上位机数据完成时,锁定AD采样点计数值,并开始对采样计数器进行计数,当计数值达到 一定值后,产生AD采样使能信号给AD_inf模块;根据AD采样做一定的时间延时,当AD开始采样后开始对发送计数器计数,达到规定延迟计数值后,产生发送使能信号,并进行SDU数据组包。

2、模拟量数据采集模块

本模块使用4个AD芯片,实现32路数据采集功能。AD芯片是一种16位8通道自同步模数转换器,片上集成模拟输入箝位保护、二阶抗混叠滤波器、跟踪保持放大器、16位电荷再分配逐次逼近型ADC内核、数字滤波器、2.5V基准电压源及缓冲、高速串行和并行接口。AD7606采用5V单电源供电,不再需要正负双电源,并支持真正±10V或±5V的双极性信号输。所有的通道均能以高达200kSPS的速率进行采样,同时输入端箝位保护电路可以承受最高达±16.5V的电压。具有性价比高、精度高、能耗低、转换速度快等优点,尤其适合于继电保护数据的测量。

3、网络模块

为了更直观的监控电力数据采集,系统需要把采集到的数据上传到控制中心的PC,同时也方便了计算机联网共享数据。该模块内部集成了高度成熟的TCP/IP协议栈、以太网MAC层及PHY层等,支持8个独立的Socket通信,内部128K字节的发送/接收缓冲区可快速进行数据交换,在TCP协议下,网络速率最高可以达到80Mbps。该模块支持8位/16位的数据总线,可采用直接连接或间接连接的并行方式进行连接。它大大的减小了硬件接口设计和网络编程的工作量,并且可以实现可靠稳定运行的远程数据通讯系统。

4、EEPROM模块

EEPROM模块选用Microchip公司的25AA640,该芯片容量为64K,采用SPI串行总线传输数据,最高时钟频率为1MHz。其中存储AD采样时的校正因子,供FPGA矫正ADC数据。

5、开关量数据采集模块

由于FPGA的IO电压为3.3V,所以开关量信号需经由电压转换芯片进行电压转换之后才能连接到FPGA。本系统采用了2片SN74ALVC164245和1片SN74AVC4T245PW芯片实现5V和3.3V的电压转换,并实现16了路开关的输入输出和4路频率计数。

6、GPS模块

GPS模块作为可选配置,主要作用为提供时间信息。GPS提供串口秒脉冲或者10ms脉冲,FPGA据此维护更高精度的时标,分辨率是10us,精度是1us。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1