一种基于多FPGA的有源配电网实时仿真器内部接口设计方法与流程

文档序号:12665770阅读:278来源:国知局
一种基于多FPGA的有源配电网实时仿真器内部接口设计方法与流程

本发明涉及一种有源配电网实时仿真器接口设计方法。特别是涉及一种基于多FPGA的有源配电网实时仿真器内部接口设计方法。



背景技术:

随着分布式电源、储能装置、微电网等配电侧各种资源的大量接入,有源配电网的组织结构和运行特性发生了较大的变化。有源配电网的新特点使其在规划设计、运行优化、保护控制、仿真分析等方面与传统配电系统相比存在较大差异。在仿真分析层面,有源配电系统中广泛接入的各种分布式电源、储能、电力电子装置等新型设备使得其自身的动态特性更加复杂,针对传统配电网的稳态仿真分析已不能满足需求,需要借助精细的暂态仿真来深入了解有源配电网的运行机理与动态特征。

有源配电网详细动态特性的分析与研究仅依靠离线暂态仿真是不够的,尤其是对各种控制器、保护装置、智能终端、新型能量管理系统等的试验、测试均需要在硬件在环(hardware-in-the-loop,HIL)环境中进行,必须借助实时仿真器实现。目前,国外开发的商业实时仿真器有RTDS、ARENE、HYPERSIM、NETOMAC、RT-LAB等,这些实时仿真器全部采用DSP(Digital Signal Processor)、CPU(Central Processing Unit)、PowerPC等串行处理器作为底层硬件计算资源,通过多个处理器的并行计算,从而达到实时仿真的计算能力。

有源配电网复杂的网络结构和庞大的系统规模对实时仿真器的仿真精度、仿真速度、硬件资源等提出了新的挑战。在有源配电网中,电力电子开关具有高频动作特性,对该类元件的仿真需要较小的仿真步长;分布式电源及储能元件自身的控制、电力电子变流器的控制增加了系统的仿真规模,给硬件计算资源带来了较大的负担。基于串行处理器的实时仿真器囿于信号处理速度、物理结构的限制,实时仿真计算能力较为有限,同时,多个处理器之间数据的传输延时限制了仿真步长的选择。并行处理器现场可编程门阵列(Field Programmable Gate Array,FPGA)为高性能有源配电网实时仿真器的开发提供了一种新的思路。

FPGA是一款具有固有并行性质的可编程逻辑器件,可实现大量线程的并行处理,通过采用流水线的操作方式,极大地提高了数字信号的处理速度。同时,FPGA的I/O资源丰富,包括全双工LVDS通道、用户自定义I/O接口、高速收发器等,可实现大量数据的板级交互,使多FPGA联合仿真成为可能。

针对含大量电力电子以及非线性元件的有源配电网,要实现仿真步长在几个到十几个微秒之间的实时仿真,采用多个FPGA并行运行的方式提高底层硬件的计算能力,可以满足详细建模的有源配电网实时仿真的需求。



技术实现要素:

本发明所要解决的技术问题是,提供一种能够满足FPGA之间大量数据高速有效稳定传输的一种基于多FPGA的有源配电网实时仿真器内部接口设计方法

本发明所采用的技术方案是:一种基于多FPGA的有源配电网实时仿真器内部接口设计方法,包括如下步骤:

1)在1个以上的FPGA构成的有源配电网实时仿真器的上位机中,将待仿真的有源配电系统依据拓扑连接关系划分为N个子系统,读取各子系统元件基本参数,形成各子系统电气部分的节点导纳矩阵和控制部分的计算矩阵,设定实时仿真步长,将各子系统的相关信息分别下载到所对应的FPGA中,根据子系统之间的连接关系及数据接口,确定每个FPGA工作的全双工数据传输通道个数Mk,其中k=1,2…N,各通道发送数据个数和接收数据个数分别为和其中lk=1,2…Mk,以及每个FPGA的发送总数据个数和接收总数据个数

2)在每个FPGA中生成实时仿真器驱动时钟clk_simk、发送通道并行时钟clk_tx_pk、发送通道串行时钟clk_tx_sk、接收通道并行时钟clk_rx_pk和接收通道串行时钟clk_rx_sk,设置每个FPGA的串化系数解串系数发送数据带宽接收数据带宽和FPGA中的高速收发器与FPGA架构之间的标准数据带宽在FPGA中生成脉冲信号,对高速收发器复位,其中nk、mk、pk和qk均为整数;

3)设置仿真时刻t=0,启动仿真;

4)仿真时间向前推进一个步长,t=t+Δt;

5)各FPGA完成步骤4)所述步长的仿真计算;

6)将每个FPGA中,发送总数据个数为个,发送数据带宽为位的仿真数据,在FPGA中进行串化,得到标准数据带宽为A位的发送数据,经发送通道选择器分配到FPGA的不同发送通道,将各通道中的标准数据带宽为A位的发送数据以实时仿真器驱动时钟clk_simk为写时钟,写入对应的先入先出队列中,再以发送通道并行时钟clk_tx_pk为读时钟,从先入先出队列中读出,用于实现发送数据的跨时钟域转化;

7)将从每个FPGA的先入先出队列中读出的标准数据带宽为A位的发送数据,经FPGA中的高速收发器,转换为以发送通道串行时钟clk_tx_sk驱动的1位高速串行数据,FPGA的外部设备光电转换模块将1位高速串行数据转换为光信号,所述的光信号通过光纤进行传输;

8)每个FPGA的外部设备光电转换模块将各自接收到的光信号转换为以接收通道串行时钟clk_rx_sk驱动的1位高速串行数据,经FPGA中的高速收发器,转换为以接收通道并行时钟clk_rx_pk驱动的标准数据带宽为A位的接收数据;

9)将从每个FPGA的高速收发器得到的标准数据带宽为A位的接收数据,以接收通道并行时钟clk_rx_pk为写时钟,分别写入所述FPGA中所对应的先入先出队列中,再以实时仿真器驱动时钟clk_simk为读时钟,从先入先出队列中读出,用于实现接收数据的跨时钟域转化,将从先入先出队列中读出的标准数据带宽为A位的接收数据,经接收通道选择器拼接为完整的待接收数据,在FPGA中进行解串,得到接收总数据个数为个,接收数据带宽为位的供实时仿真器使用的数据;

10)判断物理时间是否达到t,如达到t,则进入下一步,否则仿真器待机至时间t并进入下一步;

11)判断仿真时间是否达到设定的仿真终了时刻,如达到设定的仿真终了时刻,则仿真结束,否则返回步骤4)。

步骤6)中所述的串化,是引入串化系数在每个FPGA中,将发送总数据个数为个,发送数据带宽为位的仿真数据写入存储器中,依次重复读取每个仿真数据S次,其中,每次截取仿真数据的第到位,其中得到串化后的标准数据带宽为A位的发送数据。

步骤6)中所述的发送通道选择器是由Mk个存储器构成,在每个FPGA中,生成与串化后输出的标准数据带宽为A位的发送数据相对应的写地址信号addr_tx_wk,在实时仿真器驱动时钟clk_simk的每个周期内,选定采用同一发送通道发送的数据,通过写地址信号addr_tx_wk将数据写入与所述发送通道对应的存储器中,所有数据写入存储器结束后,以实时仿真器驱动时钟clk_simk为读时钟,从各存储器中读取数据,实现发送数据的多路分配。

步骤9)中所述的解串,是引入解串系数在每个FPGA中,将接收通道选择器输出的标准数据带宽为A位的接收数据按每个数据为一组,依次写入寄存器的第到位,其中得到解串后的接收总数据个数为个,接收数据带宽为位的接收数据。

步骤9)中所述的接收通道选择器是由1个存储器构成,在每个FPGA中,生成与从先入先出队列中读出的标准数据带宽为A位的接收数据对应的写地址信号其中写地址信号的末尾数值与写地址信号的首端数值连续,在实时仿真器驱动时钟clk_simk的每个周期内,通过写地址信号将标准数据带宽为A位的接收数据依次写入存储器中,所有接收数据写入结束后,以实时仿真器驱动时钟clk_simk为读时钟,从存储器中按顺序读取数据,实现接收数据的多路拼接。

本发明的一种基于多FPGA的有源配电网实时仿真器内部接口设计方法,充分考虑仿真器内部数据通讯的需求和自身硬件结构,发挥FPGA的高速I/O资源优势和硬件并行计算的技术优势,在保证仿真器内部接口稳定性和通用性的同时,实现了仿真器内部数据通讯的正确性和高效性,为基于多FPGA的有源配电网实时仿真奠定了基础。

附图说明

图1是仿真器内部接口的结构示意图;

图2是本发明一种基于多FPGA的有源配电网实时仿真器内部接口设计方法的流程图;

图3是基于多FPGA的有源配电网实时仿真平台;

图4是含光伏、蓄电池的有源配电网测试算例;

图5是光伏/蓄电池单元详细结构;

图6是光伏单元1并网点C相电压仿真结果;

图7是光伏单元2直流电压仿真结果;

图8是光伏/蓄电池单元直流电压仿真结果。

具体实施方式

下面结合实施例和附图对本发明的一种基于多FPGA的有源配电网实时仿真器内部接口设计方法做出详细说明。

如图2所示,本发明的一种基于多FPGA的有源配电网实时仿真器内部接口设计方法,包括如下步骤:

1)在1个以上的FPGA构成的有源配电网实时仿真器的上位机中,将待仿真的有源配电系统依据拓扑连接关系划分为N个子系统,读取各子系统元件基本参数,形成各子系统电气部分的节点导纳矩阵和控制部分的计算矩阵,设定实时仿真步长,将各子系统的相关信息分别下载到所对应的FPGA中,根据子系统之间的连接关系及数据接口,确定每个FPGA工作的全双工数据传输通道个数Mk,其中k=1,2…N,各通道发送数据个数和接收数据个数分别为和其中lk=1,2…Mk,以及每个FPGA的发送总数据个数和接收总数据个数

2)在每个FPGA中生成实时仿真器驱动时钟clk_simk、发送通道并行时钟clk_tx_pk、发送通道串行时钟clk_tx_sk、接收通道并行时钟clk_rx_pk和接收通道串行时钟clk_rx_sk,设置每个FPGA的串化系数解串系数发送数据带宽接收数据带宽和FPGA中的高速收发器与FPGA架构之间的标准数据带宽在FPGA中生成脉冲信号,对高速收发器复位,其中nk、mk、pk和qk均为整数;

3)设置仿真时刻t=0,启动仿真;

4)仿真时间向前推进一个步长,t=t+Δt;

5)各FPGA完成步骤4)所述步长的仿真计算;

6)将每个FPGA中,发送总数据个数为个,发送数据带宽为位的仿真数据,在FPGA中进行串化,得到标准数据带宽为A位的发送数据,经发送通道选择器分配到FPGA的不同发送通道,将各通道中的标准数据带宽为A位的发送数据以实时仿真器驱动时钟clk_simk为写时钟,写入对应的先入先出队列中,再以发送通道并行时钟clk_tx_pk为读时钟,从先入先出队列中读出,用于实现发送数据的跨时钟域转化;

所述的串化,是引入串化系数在每个FPGA中,将发送总数据个数为个,发送数据带宽为位的仿真数据写入存储器中,依次重复读取每个仿真数据S次,其中,每次截取仿真数据的第到位,其中得到串化后的标准数据带宽为A位的发送数据。

所述的发送通道选择器是由Mk个存储器构成,在每个FPGA中,生成与串化后输出的标准数据带宽为A位的发送数据相对应的写地址信号addr_tx_wk,在实时仿真器驱动时钟clk_simk的每个周期内,选定采用同一发送通道发送的数据,通过写地址信号addr_tx_wk将数据写入与所述发送通道对应的存储器中,所有数据写入存储器结束后,以实时仿真器驱动时钟clk_simk为读时钟,从各存储器中读取数据,实现发送数据的多路分配。

7)将从每个FPGA的先入先出队列中读出的标准数据带宽为A位的发送数据,经FPGA中的高速收发器,转换为以发送通道串行时钟clk_tx_sK驱动的1位高速串行数据,FPGA的外部设备光电转换模块将1位高速串行数据转换为光信号,所述的光信号通过光纤进行传输;

8)每个FPGA的外部设备光电转换模块将各自接收到的光信号转换为以接收通道串行时钟clk_rx_sk驱动的1位高速串行数据,经FPGA中的高速收发器,转换为以接收通道并行时钟clk_rx_pk驱动的标准数据带宽为A位的接收数据;

9)将从每个FPGA的高速收发器得到的标准数据带宽为A位的接收数据,以接收通道并行时钟clk_rx_pk为写时钟,分别写入所述FPGA中所对应的先入先出队列中,再以实时仿真器驱动时钟clk_simk为读时钟,从先入先出队列中读出,用于实现接收数据的跨时钟域转化,将从先入先出队列中读出的标准数据带宽为A位的接收数据,经接收通道选择器拼接为完整的待接收数据,在FPGA中进行解串,得到接收总数据个数为个,接收数据带宽为位的供实时仿真器使用的数据;

所述的解串,是引入解串系数在每个FPGA中,将接收通道选择器输出的标准数据带宽为A位的接收数据按每个数据为一组,依次写入寄存器的第到位,其中得到解串后的接收总数据个数为个,接收数据带宽为位的接收数据。

所述的接收通道选择器是由1个存储器构成,在每个FPGA中,生成与从先入先出队列中读出的标准数据带宽为A位的接收数据对应的写地址信号其中写地址信号的末尾数值与写地址信号的首端数值连续,在实时仿真器驱动时钟clk_simk的每个周期内,通过写地址信号将标准数据带宽为A位的接收数据依次写入存储器中,所有接收数据写入结束后,以实时仿真器驱动时钟clk_simk为读时钟,从存储器中按顺序读取数据,实现接收数据的多路拼接。

10)判断物理时间是否达到t,如达到t,则进入下一步,否则仿真器待机至时间t并进入下一步;

11)判断仿真时间是否达到设定的仿真终了时刻,如达到设定的仿真终了时刻,则仿真结束,否则返回步骤4)。

下面给出具体实例:

本实例中基于多FPGA的实时仿真器采用四块Altera公司的Stratix V系列FPGA5SGSMD5K2F40C2N及其配套官方开发板完成含光伏、蓄电池的有源配电网实时仿真。仿真平台如图3所示,各FPGA开发板之间采用光纤实现信号传输。整个实时仿真器通过125MHz的时钟驱动,发送通道并行时钟为125MHz,发送通道串行时钟为2500MHz,接收通道并行时钟为125MHz,接收通道串行时钟为2500MHz,FPGA之间单通道数据传输速率为2500Mbps。

测试算例为含光伏、蓄电池的有源配电网,如图4所示,在节点5、8、12处分别接入光伏/蓄电池单元和两个结构相同的单级式光伏发电单元,光伏/蓄电池单元的详细结构如图5所示。光伏单元中光伏电池采用单二极管等效电路模拟,蓄电池采用通用等效电路模型。光伏/蓄电池单元中,蓄电池通过DC/DC换流器与光伏电池并于直流母线,光伏电池采用双极形式,其DC/DC为Boost升压电路,光伏电压参考值设为750V。蓄电池组中的DC/DC采用双向Boost/Buck电路,当蓄电池放电时为Boost升压电路模式,当蓄电池充电时为Buck降压电路模式,蓄电池组用于维持母线电压恒定。逆变器采用PQ控制,维持整个混合系统的输出有功和无功功率恒定。光伏单元1和光伏单元2结构参数相同,逆变器采用Vdc-Q控制,温度设置为298K,光照强度为800W/m2,光伏电压参考值设为350V,无功功率参考值设为0Var。仿真场景设置为3s时光伏单元1并网点发生C相接地短路故障,0.2s后故障切除。

整个算例在多FPGA实时仿真器上进行仿真,其中网络部分占用FPGA1,光伏/蓄电池单元、光伏单元1和光伏单元2分别占用FPGA2、FPGA3和FPGA4,分布式电源与网络之间采用线路的贝瑞隆模型进行网络分割。FPGA1占用三个发送、接收通道,每个通道传输6个64位数据,共18个数据,串化系数为4,解串系数为4,FPGA中的高速收发器与FPGA架构之间的数据带宽为16。FPGA2、FPGA3与FPGA4各占用1个发送、接收通道,该通道传输6个64位数据,串化系数为4,解串系数为4,FPGA中的高速收发器与FPGA架构之间的标准数据带宽为16。FPGA1的通讯时间为0.680μs,FPGA2、FPGA3和FPGA4的通讯时间为0.488μs,仿真步长设置为3μs。

基于多FPGA的实时仿真器与商业软件PSCAD/EMTDC的仿真结果对比如图6~图8所示,仿真步长均为3μs。从图中可以看出,两个仿真系统给出的结果基本一致,从而验证了本专利提出的基于多FPGA的有源配电网实时仿真器内部接口设计的正确性。

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