电磁暂态仿真系统的搭设方法与流程

文档序号:12668328阅读:304来源:国知局
电磁暂态仿真系统的搭设方法与流程

本发明涉及电磁暂态仿真系统的快速实现方法,具体是一种基于高层次综合工具设计并快速实现电磁暂态仿真系统的方法。



背景技术:

电磁暂态仿真系统能够模拟电网的实际运行情况,对电网系统中的节点进行监测,对可能出现的故障问题进行重现和分析,从而维护电网的正常运行。实时仿真是实现高效电力系统稳定分析和在线动态安全评估与控制的基础。电磁暂态仿真基本算法由Dommel等人提出,最初主要用于研究电力系统运行过程中的过电压问题,现在已产生一系列商用化的电磁暂态仿真软件。

现有的电磁暂态仿真工具研究的电力系统动态频率通常在2kHz以下,采用的仿真步长在20us到50us之间。但当前很多新型电力电子器件有着更高的频率特性,如基于电压换流器(Voltage Source Converter,VSC)的各类新型设备,导致系统的动态频率范围超过了100kHz。对这样的电力系统的仿真,如果需要准确的模拟高频特性,仿真步长需要低于10us,否则会影响仿真的准确性,导致仿真的可信度降低。基于高性能微处理器的仿真系统由于采样率不够高导致仿真的精度过低。这些仿真系统大都面临小步长仿真能力不足的问题。

对于电力系统的数字仿真系统大多实现在微处理器单元、定制在专用集成电路(Application Specific Integrated Circuits,ASICs)上或者是使用可重构硬件实现。对于实现在微处理器单元上的仿真系统,由于都是用软件模拟,所以灵活度很高,但是硬件利用率较低,仿真速度较慢。对于定制在专用集成电路上的数字仿真系统,仿真速度很快,系统整体性能较高,但是灵活度大大降低,升级成本过高。在使用硬件描述语言实现的电磁暂态仿真系统中,基于现场可编程门阵列(Field Programable Gate Array,FPGA)的实现方式最为广泛的。FPGA有强大的并行计算的能力、高速的通信能力和灵活的可扩展性,对于解决当前小步长电磁暂态实时仿真技术遇到的瓶颈问题,提供了非常有利的条件。

总的来说,对于软件实现的电磁暂态仿真系统,具有调试方便,开发周期短等优点,并且不需要考虑时序问题,其实现方式更加灵活,但是频率较低,只能实现大步长仿真(单步仿真步长在50us以上)。硬件实现的电磁暂态仿真系统具有小步长的特点,但其时序优化复杂,调试不便,修改元件模型会引起整体电路的结构调整,因此其开发周期长,灵活性不强。

使用高层次综合工具实现数字仿真系统可以很好地在系统灵活性和仿真步长两者之间均衡。由于基于高层次综合工具HLS的设计方法开发效率高,可移植性好,近几年也逐渐受到国内外学者的关注。西班牙萨拉戈萨大学Denis Navarro教授曾将HLS应用于数控系统的硬件实现。西安电子科大的张展等人将HLS应用于小型无人机平衡仪模块的设计,他们首先在ARM平台上设计了飞行控制系统,然后再利用HLS将软件代码快速移植到了FPGA平台实现,从而缩短了硬件实现的开发周期。另外江南大学的丁帅帅等人将HLS应用于SURF特征点提取硬件加速单元的设计,并且通过实验结果发现,相比于用软件语言在通用CPU上进行设计,基于FPGA的SURF特征提取加速效果明显,而相比HDL(Hardware Description Language)的实现方式,基于HLS设计算法开发的效率高、可移植性更好。但是就目前看来,将HLS运用在设计一个完整的电磁暂态仿真系统这样规模较大的系统上,还比较少见。



技术实现要素:

本发明的目的是为了满足电磁暂态仿真系统对灵活性和开发周期的要求,提供一种电磁暂态仿真系统的搭设方法,解决了传统软件仿真系统仿真步长过大和传统硬件仿真系统灵活性差、开发周期长的问题。

本发明的技术解决方案如下:

一种电磁暂态仿真系统的搭设方法,其特点在于,将电磁暂态仿真系统各个模块按照计算密集型和控制密集型分别划分区域,按照每个区域的特点分别实现并封装为IP,最后根据用户所需要仿真的电网模型,分配计算IP搭建系统。

该方法具体包括如下步骤:

步骤1,按照模块类型进行分区:将电路元件类模块分为元件区,将计算单元模块分为计算区,将控制模块分为控制区,将存储单元分为存储区;

步骤2,根据各个区域的特点分别实现,并封装为IP:所述的元件区和计算区为计算密集型区块,利用高层次综合工具HLS(High-Level Synthesis)软件生成RTL并封装为IP,并做时序优化,所述的控制区为控制密集型区块,手写RTL并封装为IP,所述的存储区用Block Memory IP作为存储单元;

步骤3,在完成各元件模块的IP封装后,利用脚本自动化完成系统的搭建。

所述的电路元件类模块包括电阻、电容、电感串联元件、单向绕阻变压器、可控电压电流源以及各类开关元件。

所述的计算单元模块包括节点电流合并、电导逆矩阵乘电流向量和计算节点电压向量。

所述的时序优化包括高度并行优化、深度流水线优化和模块硬件优化。

所述的利用脚本自动化完成系统的搭建,具体是利用python程序解析电路元件综合报告,提取管脚信息,自动生成搭建每个IP的TCL脚本

本发明基于高层次综合工具HLS的电磁暂态仿真系统设计方法流程如图2。为了能够兼顾软件仿真系统的灵活性和硬件仿真系统的小步长特性,使用软件语言C进行部分数据密集型模块(元件区和计算区)的开发,并用HLS进行系统的优化,最后转为RTL级的IP。

元件区中包含多种元件,比如开关元件、可控电压源、单相绕组变压器元件、电感元件、电容元件等。因此需要对这些元件进行分类,因为相同类别的元件在仿真过程中应用到的仿真算法是相同的。根据元件的类型建立特定的模块来更新这些元件在每一个仿真步长中的元件参数。并且还要计算各个元件在整个电网系统中在每一仿真步长中产生的支路电流数值。元件区更新模块中主要分类出以下几个模块:SLA模块、STB模块、LC模块、BRK模块和CICV模块等。计算区主要工作包括:按节点合并所有元件产生的电流,最后根据电导矩阵(电网中i,j节点之间的等效电导存在矩阵i,j位置)和电流向量计算出每个节点的新电压,其中矩阵向量乘包含大量浮点数运算。对于这两个设计复杂度高,设计周期长的模块,用高层次综合工具设计实现,并封装为IP。

相对于元件区和计算区来说,控制模块的逻辑比较简单,多数是一些选择器的组合,由于HLS在设计接口和控制类的模块没有太大优势,因此采取直接手写RTL代码的方式,完成简单的逻辑控制和信号切换工作,并用Vivado将其封装为IP。

磁暂态实时仿真系统对时序的要求比较高,使用HLS直接将C实现的函数转为RTL级的IP性能往往较差。因为软件语言没有考虑到硬件实现的一些特性,由此往往需要一定的优化来提升IP时序性能来满足系统实时性要求。因此在具体实施的时候还需要加入流水线优化、并行结构优化和硬件映射优化等多种优化方法,使系统仿真时序能够达到小步长的要求。

并行设计优化:在软件仿真中,循环语句全是串行执行的,HLS从C程序综合得来的IP也是串行执行。但如果循环语句中的数据前后不相关,那么可以利用循环展开的方法,使它们并行操作。如在一个有N个节点的电网中,计算区中求解节点电压的模块需要计算N*N维的电导矩阵与N*1的电流向量乘积。

如果按照软件的计算方式,需要两层循环共N*N个周期,但其实每个节点的电压计算并不相关,若将循环展开,计算周期就可以缩短到N个周期。

结合流水线技术,可以降低计算延时消耗。在有限的硬件资源上重叠执行不同迭代层的不同语句,增加并行度。HLS可以对C代码的代码块插入流水线指令,在综合的时候HLS就会自动插入寄存器,将该模块综合为流水线架构。

本发明的存储模块和运算模块是独立的IP,因此元件区要更新节点电流需要从存储区读取电压向量。如果没有做硬件映射优化,由HLS综合得到的电路元件IP的BUSU管脚是单端口的,它只能连单端口的Memory IP,即每个时钟周期只能从Memory中取得一个数据,但是多数元件是连接在两个节点间的,所以一个时钟周期需要读出两个节点的电压。对C代码做硬件映射优化,可使读取管脚映射为两套,再配上双端口Memory,该模块的吞吐率就可以翻一倍。因此,在FPGA板上资源足够的情况下,应尽可能对所有电路模块做硬件映射优化,使用双端Memory,从而提升系统的吞吐率。

按照本发明HLS系统优化方案对IP进行优化实验。选取网络节点电压求解模块进行试验,此模块是利用电流向量和电导矩阵计算更新的电压向量,是计算量最大的模块,实验结果图3所示,对HLS直接进行高层次综合的性能十分糟糕,必须进行优化来满足系统时序要求,而上述几种优化方案,都能有明显的优化效果。

目前在FPGA上实现小步长的电磁仿真系统已成为一种趋势,基于高层次综合的实现方式,开发周期和灵活性远胜于纯手写RTL的实现方式。

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

1)开发周期短,进行优化迭代或者二次开发的效率高;

2)能够以软件语言直接进行设计,对其进行综合优化后即可生成相应的硬件描述语言和RTL级的IP,用于FPGA开发。

3)提升系统灵活性,缩短系统的开发周期。

附图说明

图1为HLS实现的电磁暂态仿真系统顶层架构图

图2为电磁暂态仿真系统的搭设方法的流程图

图3为求解节点电压模块的优化示例图

图4为R-L-C串联电路及其等效诺顿电路图

图5为电磁暂态系统仿真算例顶层结构图

图6为电磁暂态系统仿真验证流程图

图7为系统仿真时序图

具体实施方式

下面结合附图和实施例,对本发明的具体实施方法作进一步详细描述。

第一步:电路元件伏安关系式推导。

电力系统电磁暂态仿真问题的基本求解方法可以分为节点分析法(nodal analysis)以及状态变量分析法(state space analysis)两类。相对于状态变量分析,节点分析法在算法实现难度、仿真计算速度等方面具有较大优势,因此本发明选取节点分析法作为本系统求解方法。本发明将电磁暂态仿真系统分为电路元件区、计算区、存储区和系统控制区。

要对一个电路元件模型进行建模仿真,首先要得到它的伏安曲线,即电压电流的函数关系,然后再利用程序进行函数的计算,模拟电路元件的工作状态。下面对RLC元件为例介绍计算模型的推导过程:

图4为RLC电路元件及其等效诺顿电路。其中GS为诺顿支路等效电导,iequ(t)为t时刻的等效电流源,根据基尔霍夫定理:

ikm(t)=Gs{Uk(t)-Um(t)}+iequ(t-△t) (2)

根据诺顿定理,上式中:

这样得到了历史电流源和电压的关系,所以根据输入的节点电压就可以求得等效的历史电流源,进而得到节点注入电流。对于其他电路元件模型,我们也可以利用诺顿等效转换为一个电阻和电流源的并联,然后利用基尔霍夫定理求得电压电流的关系。

第二步:对各模块进行优化并封装为IP。

在求得电路元件的电压-电流函数关系后,就可以设计C程序,输入电压电流关系式,模拟电路中元件的运行情况。高层次工具HLS能将C代码自动映射为RTL代码并封装为IP,它对计算密集型模块能发挥出较大的优势。在HLS中首先要对C代码进行仿真,验证功能正确性,再将其转为可综合风格,按照发明内容中所详述的优化方法对模块进行优化,提升并行性缩短运行周期,并对代码进行综合,C-RTL协同仿真,最后生成IP。

对于元件区和计算区的模块,都按照发明内容中所述的方法,利用高层次综合工具进行设计实现。对于控制模块,由于其逻辑简单,用高层次综合工具实现并没有优势,因此本发明选用手写RTL的方式实现控制模块,并封装为IP。

第三步:利用脚本自动搭建系统。

Vivado的Block Design支持在图形化界面中连接IP,但手动连接所有IP管脚工作量巨大,因此本文使用TCL脚本进行系统搭建工作。每个IP都需要大量TCL脚本进行连接工作,在C代码经过HLS综合后会得该IP的综合报告,其中包含了该IP的所有管脚信息,为了能最大地提高系统灵活性,本发明完成python程序读入综合报告,提取管脚信息,自动生成搭建IP的TCL脚本。从而实现了系统搭建的全自动化,即使IP改动,也可以快速重新连线,增强了系统的重构能力,大大提高了开发效率。

第四步:对系统进行仿真测试。

本发明基于HLS实现的电磁暂态仿真系统的算例模型如图5。本电网由三部分组成,包括上端的两个用电电路,中间传输线(20km)和下端的供电电路,供电侧产生交流电,通过传输线(LC模型)传给用电侧进行电能消耗,模拟了一个发配用电电网。其中共包含45个电路元件,共有40个节点。具体的仿真流程如图6所示。

本电磁暂态仿真系统最后实现所选取的FPGA板是Xilinx Virtex-7FPGA VC709。其资源消耗如下:

表1 Post-Implementation

从实验数据可以发现,基于HLS实现的电磁暂态仿真系统板上硬件资源充足。其仿真时序如图7所示:

在时钟频率为10ns的仿真系统中,完成一次完整的计算需要355个周期,本系统的仿真步长为3.55us,只要给定电路的初始状态,此系统就可以持续计算每个步长下所有节点的电压值。

经试验表明,本发明支持电阻、电容、电感串联元件,单向绕阻变压器,可控电压电流源以及各类开关元件的度浮点计算,在仿真40个节点数的电网系统可以达到3.55us的仿真步长。相比于目前大部分FPGA电磁暂态仿真系统,性能提升约60%,二次开发效率显著提高,而且在实现相同规模电网的仿真系统的情况下,基于HLS的系统相比于传统手写RTL系统,开发周期大约能缩短为四分之一。

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